Algoritmos
Unidad 1
Licenciatura en
Informática Administrativa
1
UNIDAD 1
ALGORITMOS A TRAVÉS DE LA PROGRAMACIÓN
ESTRUCTURADA
En el siguiente esquema se representan los contenidos temáticos correspondientes
a la Primera Unidad temática de la unidad de aprendizaje Algoritmos
Computacionales, cada uno de estos temas guardan relación entre sí; compañero
estudiante… sigue adelante y felicidades.
SECUENCIA DIDÁCTICA «UNIDAD 1»
Ilustración 1. Fuente UDEMEX (2020)
2
INTRODUCCIÓN
A través de la historia, los algoritmos, han formado parte de la lógica del ser humano,
ya que dan pie a solucionar cualquier tipo de problema que se presente en la vida
cotidiana.
Los algoritmos son una serie de pasos para solucionar un problema, los cuales
deben ser precisos, definidos y finitos.
Durante esta unidad de aprendizaje denominada Algoritmos a través de la
programación estructurada, iniciaremos un viaje a través de la Programación
estructurada, como base fundamental para el desarrollo de los algoritmos
computacionales.
A lo largo de esta unidad, se abordarán las técnicas para la formulación de los
algoritmos, es decir los diagramas de flujo y pseudocódigo, así como las fases de
la resolución de los mismos.
Cada contenido temático de esta unidad ha sido diseñado en apego a la nueva
estrategia de aprendizaje por competencias y caracterizado por el auto aprendizaje,
es necesario que sigas todas las instrucciones, así como dar seguimiento a las
actividades de aprendizaje.
Ahora, te invito a que apliques tu pensamiento, conocimiento, comprensión,
aplicación, análisis, síntesis y evaluación, para obtener el máximo aprovechamiento.
3
COMPETENCIAS ESPECÍFICAS
Ilustración 2. Fuente UDEMEX (2020)
4
1.1 PROGRAMACIÓN ESTRUCTURADA
Ilustración 3. Fuente UDEMEX (2020)
Ilustración 4. Fuente UDEMEX (2020)
1.1.1 Estructuras básicas de programación
Existen tres estructuras básicas que todo programador debe conocer y manejar,
estructura secuencial, selectiva y repetitiva, ahora veremos cada una de ellas:
Estructura Secuencial
5
Refiere aquella forma de ejecutar las instrucciones de un programa, una después
de la otra, de forma gráfica se llega a representar de la siguiente manera:
Ilustración 5. Fuente UDEMEX (2020)
Es decir, la instrucción A, se ejecuta primero y después la instrucción B, una
después de la otra y orden secuencial.
Estructura Selectiva
A esta estructura se la ha dado el nombre de SI – VERDADERO – FALSO, en
términos más sencillos, es una estructura de decisión, donde se plantean dos
acciones como resultado de una comparación, a este tipo de estructura se le conoce
como IF en todos los lenguajes de programación, la cual se representa:
6
Ilustración 6. Fuente UDEMEX (2020)
Donde, A es una condición que se evalúa, B es la acción que se lleva a cabo cuando
el resultado de la condición ha sido verdadero y C cuando ha resultado falso.
Estructura Repetitiva
Conocida también como la estructura HACER – MIENTRAS – QUE, REPITE -
HASTA – QUE o MIENTRAS – QUE, se refiere a los ciclos o bucles, donde se repite
una instrucción mientras que se cumple una determinada condición, y se representa
de la siguiente manera:
7
Ilustración 7. Fuente UDEMEX (2020)
Donde, A se ejecuta una y otra vez mientras la condición B se cumpla o sea
verdadera, cuando ésta sea falsa, entonces arroja un resultado o continua a la
siguiente instrucción.
1.2 ALGORITMOS COMPUTACIONALES
Pinales y Velázquez (2014) nos explican que, para implementar la solución de un
problema mediante el uso de una computadora es necesario establecer una serie
de pasos que permitan resolver el problema, a este conjunto de pasos se le
denomina algoritmo, el cual debe tener como característica final la posibilidad de
transcribirlo fácilmente a un lenguaje de programación, para esto se utilizan
herramientas de programación, las cuales son métodos que permiten la elaboración
de algoritmos escritos en un lenguaje entendible.
Por lo tanto:
8
Ilustración 8. Fuente UDEMEX (2020)
De acuerdo a Pinales y Velázquez (2014), Un algoritmo, aparte de tener como
característica la facilidad para transcribirlo, debe ser: Preciso, Definido y Finito.
1.2.1 Características de los algoritmos computacionales
Como lo explicamos con anterioridad un algoritmo debe tener tres características
nicas y fundamentales, como lo mencionan Pinales y Velázquez (2014):
Ilustración 9. Fuente UDEMEX (2020 con información de Pinales y Velázquez 2014)
9
Además de esto, Pinales y Velázquez (2014) nos dicen que, se debe considerar que
el algoritmo, que posteriormente se transformará en un programa de computadora,
debe considerar las siguientes partes:
Ilustración 10. Fuente UDEMEX (2020 con información de Pinales y Velázquez 2014)
Por favor, visualizar el siguiente video para clarificar la información previa:
Video 1. ¿Qué es un algoritmo?
Magic Markers (2015). ¿Qué es un algoritmo? [Video]. Alojado en la
plataforma YouTube. Recuperado el 25-08-2020 de:
https://www.youtube.com/watch?v=U3CGMyjzlvM
10
1.2.2 Identificadores
Como primer paso a la elaboración de Algoritmos Computacionales, debemos
identificar las herramientas necesarias para su construcción, para ello debemos
conocer los llamados Identificadores que se utilizan dentro de los algoritmos.
Los identificadores no son más que los nombres con los que se asignan a aquellos
objetos usados en el proceso de todos los algoritmos, los cuales suelen llamarse
Variables y Constantes, estos dos identificadores son uno de los elementos
principales de todo algoritmo.
Ilustración 11. Fuente UDEMEX (2020)
Constante
Ilustración 12. Fuente UDEMEX (2020)
11
Uno de los ejemplos más claros de identificadores es el valor de π, que es cierta
manera es un símbolo que no podemos usar en ningún lenguaje de programación,
pero si podemos usar las letras PI para representar ese valor y asignarle el valor
correspondiente:
𝑷𝑰 = 𝟑. 𝟏𝟒𝟏𝟔
Variables
Ilustración 13. Fuente UDEMEX (2020)
Por ejemplo, el salario de un trabajador, las áreas de las figuras geométricas, entre
otros.
Ilustración 14. Fuente UDEMEX (2020)
12
Por favor, visualizar el siguiente video para clarificar la información previa:
Video 2. LP #5| ¿Variables y constantes?
CodigoCompilado (2014). LP #5| ¿Variables y constantes? [Video].
Alojado en la plataforma YouTube. Recuperado el 25-08-2020 de:
https://www.youtube.com/watch?v=bUcuRRsKmGM
Toda vez que conocemos los elementos necesarios para elaborar un algoritmo
computacional, comencemos a elaborarlos.
Todo algoritmo debe seguir estas tres partes:
Ilustración 15. Fuente UDEMEX (2020)
Donde:
Ilustración 16. Fuente UDEMEX (2020)
13
Veamos algunos ejemplos de cómo elaborar algoritmos computacionales, para lo
cual te pido observar el siguiente video:
Video 3. Algoritmos Computacionales
UDEMEX (2020). Algoritmos Computacionales [Video]. Alojado en la
plataforma YouTube. Recuperado el 27-08-2020 de:
https://youtu.be/Gb7P8775QSY
14
Ahora es momento de resolver la actividad complementaria 1.1 que te permitirá
reforzar los aprendizajes adquiridos hasta el momento para posteriormente realizar
la actividad de aprendizaje 1.1., correspondiente a este tema, la cual tiene valor
para tu calificación. ¡Mucho éxito!
ACTIVIDAD
COMPLEMENTARIA 1.1
ACTIVIDAD DE
APRENDIZAJE 1.1
15
1.3 TÉCNICAS PARA LA FORMULACIÓN DE ALGORITMOS
De acuerdo a Joyanes (2008) nos dice que, para representar un algoritmo se debe
utilizar alguna técnica o método que permita independizar dicho algoritmo del
lenguaje de programación elegido. Ello permitirá que un algoritmo pueda ser
codificado indistintamente en cualquier lenguaje. Para conseguir este objetivo se
precisa que el algoritmo sea representado gráfica o numéricamente, de modo que
las sucesivas acciones no dependan de la sintaxis de ningún lenguaje de
programación, sino que la descripción pueda servir fácilmente para su
transformación en un programa, es decir, su codificación.
Las técnicas usuales para representar un algoritmo, según Joyanes (2008), son:
Ilustración 17. Fuente UDEMEX (2020 con información de Joyanes 2008)
1.3.1 Pseudocódigo
De acuerdo a Pinales y Velázquez (2014), en el mundo de la programación el
pseudocódigo es una de las herramientas más conocidas para el diseño de solución
de problemas por computadora. Esta herramienta permite pasar casi de manera
directa la solución del problema a un lenguaje de programación específico.
16
Ilustración 18. Fuente UDEMEX (2020 con información de Pinales y Velázquez 2014)
Por ejemplo, el pseudocódigo para determinar el volumen de una caja de
dimensiones A, B y C se puede establecer de la siguiente forma, según Pinales y
Velázquez (2014):
1. Inicio
2. Leer las medidas A, B, C
3. Realizar el producto de A * B * C y guardarlo en V (V = A * B * C)
4. Escribir el resultado V
5. Fin
Donde, comenzamos con un Inicio y terminamos con un fin, como en los algoritmos,
leemos la información o datos necesarios, continuando con los procesos u
operaciones donde se obtiene un resultado que es almacenado en una variable,
escribimos el resultado obtenido y terminamos con un Fin.
En el pseudocódigo se hacen uso de los identificadores (variables y constantes),
así como de operadores de asignación (=), para representar las operaciones en los
procesos, es decir, el pseudocódigo es la forma más directa en la que podemos
indicarle a la computadora los procesos para resolución de problemas.
Veamos algunos ejemplos de cómo elaborar pseudocódigo, para lo cual vamos a
retomar los problemas elaborados en el subtema anterior, donde elaboramos los
Algoritmos Computacionales:
17
Pseudocódigo
1.3.2 Diagrama de flujo
Retomando a Pinales y Velázquez (2014) nos explica que, Los diagramas de flujo
son una herramienta que permite representar visualmente qué operaciones se
requieren y en qué secuencia se deben efectuar para solucionar un problema dado.
Ilustración 19. Fuente UDEMEX (2020 con información de Pinales y Velázquez 2014)
Los diagramas de flujo son el tercer paso hacia la codificación de un programa, así
que, juega un papel vital en la programación, ya que es más fácil el entendimiento
de lo que el usuario quiere darle a entender a la computadora, ahora bien, para
18
elaborar un diagrama de flujo, se requiere una cierta simbología que se muestra en
la siguiente imagen:
Ilustración 20. Fuente UDEMEX (2020)
Aunado a esto, se requieren ciertos símbolos que se utilizan para llevar a cabo los
procesos u operaciones específicas, los cuales son:
19
Ilustración 21. Fuente UDEMEX (2020 con información de Pinales y Velázquez 2014)
Veamos algunos ejemplos de cómo elaborar el Diagrama de Flujo, para lo cual
vamos a retomar los problemas elaborados en el subtema anterior, donde
construimos los Algoritmos Computacionales y el pseudocódigo, para lo cual te pido
observar el siguiente video:
Video 4. Diagramas de Flujo
UDEMEX (2020). Diagramas de Flujo [Video]. Alojado en la
plataforma YouTube. Recuperado el 27-08-2020 de:
https://youtu.be/0SvViQPv2TI
20
1.4 FASES DE LA RESOLUCIÓN DE PROBLEMAS
El proceso de resolución de un problema con una computadora, dice Joyanes
(2008), conduce a la escritura de un programa y a su ejecución en la misma. Aunque
el proceso de diseñar programas es, esencialmente, un proceso creativo, se puede
considerar una serie de fases o pasos comunes, que generalmente deben seguir
todos los programadores. Las fases de resolución de un problema con computadora
son:
Ilustración 22. Fuente UDEMEX (2020 con información de Joyanes 2008)
21
1.4.1 Análisis del problema
Siendo ésta la primera fase para la resolución de problemas, es la más importante
y fundamental, ya que se efectúa el proceso lógico de análisis, donde se determinan
las claras variantes para entender y dar un panorama general para dar solución al
problema
Ilustración 23. Fuente UDEMEX (2020 con información de Joyanes 2008)
1.4.2 Diseño de algoritmo
En esta segunda etapa, se establece lo que debe hacer el programa en sí, ya que
se determinan los procesos e instrucciones asignadas.
Los métodos más eficaces para el proceso de diseño se basan en el conocido divide
y vencerás, como lo dice Joyanes (2008). Es decir, la resolución de un problema
complejo se realiza dividiendo el problema en subproblemas y a continuación
22
dividiendo estos sub problemas en otros de nivel más bajo, hasta que pueda ser
implementada una solución en la computadora. Este método se conoce
técnicamente como diseño descendente (top-down) o modular.
Ilustración 24. Fuente UDEMEX (2020 con información de Joyanes 2008)
1.4.3 Herramientas de programación
Las dos herramientas, de acuerdo a Joyanes (2008), más utilizadas comúnmente
para diseñar algoritmos son: diagramas de flujo y pseudocódigos. Un diagrama de
flujo (flowchart) es una representación gráfica de un algoritmo. Los símbolos
utilizados han sido normalizados por el Instituto Norteamericano de Normalización
(ANSI), y los más frecuentemente empleados se muestran en la siguiente
ilustración.
23
Ilustración 25. Fuente UDEMEX (2020)
El pseudocódigo es una herramienta de programación en la que las instrucciones
se escriben en palabras similares al inglés o español, que facilitan tanto la escritura
como la lectura de programas. En esencia, el pseudocódigo se puede definir como
un lenguaje de especificaciones de algoritmos.
24
Ilustración 26. Fuente UDEMEX (2020 con información de Joyanes 2008)
1.4.4 Codificación de un programa
Retomando a Joyanes (2008), la codificación es la escritura en un lenguaje de
programación de la representación del algoritmo desarrollada en las etapas
precedentes. Dado que el diseño de un algoritmo es independiente del lenguaje de
programación utilizado para su implementación, el código puede ser escrito con
igual facilidad en un lenguaje o en otro.
25
Ilustración 27. Fuente UDEMEX (2020)
1.4.5 Compilación y ejecución de un programa
Ilustración 28. Fuente UDEMEX (2020 con información de Joyanes 2008)
26
1.4.6 Verificación y depuración de un programa
Según Joyanes (2008), la verificación o compilación de un programa es el proceso
de ejecución del programa con una amplia variedad de datos de entrada, llamados
datos de test o prueba, que determinarán si el programa tiene o no errores (“bugs”).
Para realizar la verificación se debe desarrollar una amplia gama de datos de test:
valores normales de entrada, valores extremos de entrada que comprueben los
límites del programa y valores de entrada que comprueben aspectos especiales del
programa.
Ilustración 29. Fuente UDEMEX (2020)
Cuando se ejecuta un programa, se pueden producir tres tipos de errores, como lo
menciona Joyanes (2008):
27
Ilustración 30. Fuente UDEMEX (2020 con información de Joyanes 2008)
1.4.7 Documentación y mantenimiento
La documentación, dice Joyanes (2008), de un problema consta de las
descripciones de los pasos a dar en el proceso de resolución de dicho problema. La
importancia de la documentación debe ser destacada por su decisiva influencia en
el producto final. Programas pobremente documentados son difíciles de leer, más
difíciles de depurar y casi imposibles de mantener y modificar.
28
Ilustración 31. Fuente UDEMEX (2020 con información de Joyanes 2008)
La documentación es vital cuando se desea corregir posibles errores futuros o bien
cambiar el programa. Tales cambios, dice Joyanes (2020), se denominan
mantenimiento del programa. Después de cada cambio la documentación debe ser
actualizada para facilitar cambios posteriores. Es práctica frecuente numerar las
sucesivas versiones de los programas 1.0, 1.1, 2.0, 2.1, etc.
Por favor, visualizar el siguiente video para clarificar la información previa:
Video 5. 6. Programación desde Cero | Algoritmos | Metodologías
para la solución de problemas.
programación ATS (2017). 6. Programación desde Cero | Algoritmos
| Metodologías para la solución de problemas. [Video]. Alojado en
plataforma YouTube. Recuperado el: 25-08-2020 de:
https://www.youtube.com/watch?v=60jx0tDRnYA
29
Ahora es momento de resolver la actividad complementaria 1.2 que te permitirá
reforzar los aprendizajes adquiridos hasta el momento para posteriormente realizar
la actividad de aprendizaje 1.2., correspondiente a este tema, la cual tiene valor
para tu calificación. ¡Mucho éxito!
ACTIVIDAD
COMPLEMENTARIA 1.2
ACTIVIDAD DE
APRENDIZAJE 1.2
RESUMEN UNIDAD I
30
Ilustración 32. Fuente UDEMEX (2020)
31
CRITERIOS DE EVALUACIÓN DE LA UNIDAD 1
Ilustración 33. Fuente UDEMEX (2020)

ProgContLIABC03ACPC1_U1algoritmos_computacionales

  • 1.
  • 2.
    1 UNIDAD 1 ALGORITMOS ATRAVÉS DE LA PROGRAMACIÓN ESTRUCTURADA En el siguiente esquema se representan los contenidos temáticos correspondientes a la Primera Unidad temática de la unidad de aprendizaje Algoritmos Computacionales, cada uno de estos temas guardan relación entre sí; compañero estudiante… sigue adelante y felicidades. SECUENCIA DIDÁCTICA «UNIDAD 1» Ilustración 1. Fuente UDEMEX (2020)
  • 3.
    2 INTRODUCCIÓN A través dela historia, los algoritmos, han formado parte de la lógica del ser humano, ya que dan pie a solucionar cualquier tipo de problema que se presente en la vida cotidiana. Los algoritmos son una serie de pasos para solucionar un problema, los cuales deben ser precisos, definidos y finitos. Durante esta unidad de aprendizaje denominada Algoritmos a través de la programación estructurada, iniciaremos un viaje a través de la Programación estructurada, como base fundamental para el desarrollo de los algoritmos computacionales. A lo largo de esta unidad, se abordarán las técnicas para la formulación de los algoritmos, es decir los diagramas de flujo y pseudocódigo, así como las fases de la resolución de los mismos. Cada contenido temático de esta unidad ha sido diseñado en apego a la nueva estrategia de aprendizaje por competencias y caracterizado por el auto aprendizaje, es necesario que sigas todas las instrucciones, así como dar seguimiento a las actividades de aprendizaje. Ahora, te invito a que apliques tu pensamiento, conocimiento, comprensión, aplicación, análisis, síntesis y evaluación, para obtener el máximo aprovechamiento.
  • 4.
  • 5.
    4 1.1 PROGRAMACIÓN ESTRUCTURADA Ilustración3. Fuente UDEMEX (2020) Ilustración 4. Fuente UDEMEX (2020) 1.1.1 Estructuras básicas de programación Existen tres estructuras básicas que todo programador debe conocer y manejar, estructura secuencial, selectiva y repetitiva, ahora veremos cada una de ellas: Estructura Secuencial
  • 6.
    5 Refiere aquella formade ejecutar las instrucciones de un programa, una después de la otra, de forma gráfica se llega a representar de la siguiente manera: Ilustración 5. Fuente UDEMEX (2020) Es decir, la instrucción A, se ejecuta primero y después la instrucción B, una después de la otra y orden secuencial. Estructura Selectiva A esta estructura se la ha dado el nombre de SI – VERDADERO – FALSO, en términos más sencillos, es una estructura de decisión, donde se plantean dos acciones como resultado de una comparación, a este tipo de estructura se le conoce como IF en todos los lenguajes de programación, la cual se representa:
  • 7.
    6 Ilustración 6. FuenteUDEMEX (2020) Donde, A es una condición que se evalúa, B es la acción que se lleva a cabo cuando el resultado de la condición ha sido verdadero y C cuando ha resultado falso. Estructura Repetitiva Conocida también como la estructura HACER – MIENTRAS – QUE, REPITE - HASTA – QUE o MIENTRAS – QUE, se refiere a los ciclos o bucles, donde se repite una instrucción mientras que se cumple una determinada condición, y se representa de la siguiente manera:
  • 8.
    7 Ilustración 7. FuenteUDEMEX (2020) Donde, A se ejecuta una y otra vez mientras la condición B se cumpla o sea verdadera, cuando ésta sea falsa, entonces arroja un resultado o continua a la siguiente instrucción. 1.2 ALGORITMOS COMPUTACIONALES Pinales y Velázquez (2014) nos explican que, para implementar la solución de un problema mediante el uso de una computadora es necesario establecer una serie de pasos que permitan resolver el problema, a este conjunto de pasos se le denomina algoritmo, el cual debe tener como característica final la posibilidad de transcribirlo fácilmente a un lenguaje de programación, para esto se utilizan herramientas de programación, las cuales son métodos que permiten la elaboración de algoritmos escritos en un lenguaje entendible. Por lo tanto:
  • 9.
    8 Ilustración 8. FuenteUDEMEX (2020) De acuerdo a Pinales y Velázquez (2014), Un algoritmo, aparte de tener como característica la facilidad para transcribirlo, debe ser: Preciso, Definido y Finito. 1.2.1 Características de los algoritmos computacionales Como lo explicamos con anterioridad un algoritmo debe tener tres características nicas y fundamentales, como lo mencionan Pinales y Velázquez (2014): Ilustración 9. Fuente UDEMEX (2020 con información de Pinales y Velázquez 2014)
  • 10.
    9 Además de esto,Pinales y Velázquez (2014) nos dicen que, se debe considerar que el algoritmo, que posteriormente se transformará en un programa de computadora, debe considerar las siguientes partes: Ilustración 10. Fuente UDEMEX (2020 con información de Pinales y Velázquez 2014) Por favor, visualizar el siguiente video para clarificar la información previa: Video 1. ¿Qué es un algoritmo? Magic Markers (2015). ¿Qué es un algoritmo? [Video]. Alojado en la plataforma YouTube. Recuperado el 25-08-2020 de: https://www.youtube.com/watch?v=U3CGMyjzlvM
  • 11.
    10 1.2.2 Identificadores Como primerpaso a la elaboración de Algoritmos Computacionales, debemos identificar las herramientas necesarias para su construcción, para ello debemos conocer los llamados Identificadores que se utilizan dentro de los algoritmos. Los identificadores no son más que los nombres con los que se asignan a aquellos objetos usados en el proceso de todos los algoritmos, los cuales suelen llamarse Variables y Constantes, estos dos identificadores son uno de los elementos principales de todo algoritmo. Ilustración 11. Fuente UDEMEX (2020) Constante Ilustración 12. Fuente UDEMEX (2020)
  • 12.
    11 Uno de losejemplos más claros de identificadores es el valor de π, que es cierta manera es un símbolo que no podemos usar en ningún lenguaje de programación, pero si podemos usar las letras PI para representar ese valor y asignarle el valor correspondiente: 𝑷𝑰 = 𝟑. 𝟏𝟒𝟏𝟔 Variables Ilustración 13. Fuente UDEMEX (2020) Por ejemplo, el salario de un trabajador, las áreas de las figuras geométricas, entre otros. Ilustración 14. Fuente UDEMEX (2020)
  • 13.
    12 Por favor, visualizarel siguiente video para clarificar la información previa: Video 2. LP #5| ¿Variables y constantes? CodigoCompilado (2014). LP #5| ¿Variables y constantes? [Video]. Alojado en la plataforma YouTube. Recuperado el 25-08-2020 de: https://www.youtube.com/watch?v=bUcuRRsKmGM Toda vez que conocemos los elementos necesarios para elaborar un algoritmo computacional, comencemos a elaborarlos. Todo algoritmo debe seguir estas tres partes: Ilustración 15. Fuente UDEMEX (2020) Donde: Ilustración 16. Fuente UDEMEX (2020)
  • 14.
    13 Veamos algunos ejemplosde cómo elaborar algoritmos computacionales, para lo cual te pido observar el siguiente video: Video 3. Algoritmos Computacionales UDEMEX (2020). Algoritmos Computacionales [Video]. Alojado en la plataforma YouTube. Recuperado el 27-08-2020 de: https://youtu.be/Gb7P8775QSY
  • 15.
    14 Ahora es momentode resolver la actividad complementaria 1.1 que te permitirá reforzar los aprendizajes adquiridos hasta el momento para posteriormente realizar la actividad de aprendizaje 1.1., correspondiente a este tema, la cual tiene valor para tu calificación. ¡Mucho éxito! ACTIVIDAD COMPLEMENTARIA 1.1 ACTIVIDAD DE APRENDIZAJE 1.1
  • 16.
    15 1.3 TÉCNICAS PARALA FORMULACIÓN DE ALGORITMOS De acuerdo a Joyanes (2008) nos dice que, para representar un algoritmo se debe utilizar alguna técnica o método que permita independizar dicho algoritmo del lenguaje de programación elegido. Ello permitirá que un algoritmo pueda ser codificado indistintamente en cualquier lenguaje. Para conseguir este objetivo se precisa que el algoritmo sea representado gráfica o numéricamente, de modo que las sucesivas acciones no dependan de la sintaxis de ningún lenguaje de programación, sino que la descripción pueda servir fácilmente para su transformación en un programa, es decir, su codificación. Las técnicas usuales para representar un algoritmo, según Joyanes (2008), son: Ilustración 17. Fuente UDEMEX (2020 con información de Joyanes 2008) 1.3.1 Pseudocódigo De acuerdo a Pinales y Velázquez (2014), en el mundo de la programación el pseudocódigo es una de las herramientas más conocidas para el diseño de solución de problemas por computadora. Esta herramienta permite pasar casi de manera directa la solución del problema a un lenguaje de programación específico.
  • 17.
    16 Ilustración 18. FuenteUDEMEX (2020 con información de Pinales y Velázquez 2014) Por ejemplo, el pseudocódigo para determinar el volumen de una caja de dimensiones A, B y C se puede establecer de la siguiente forma, según Pinales y Velázquez (2014): 1. Inicio 2. Leer las medidas A, B, C 3. Realizar el producto de A * B * C y guardarlo en V (V = A * B * C) 4. Escribir el resultado V 5. Fin Donde, comenzamos con un Inicio y terminamos con un fin, como en los algoritmos, leemos la información o datos necesarios, continuando con los procesos u operaciones donde se obtiene un resultado que es almacenado en una variable, escribimos el resultado obtenido y terminamos con un Fin. En el pseudocódigo se hacen uso de los identificadores (variables y constantes), así como de operadores de asignación (=), para representar las operaciones en los procesos, es decir, el pseudocódigo es la forma más directa en la que podemos indicarle a la computadora los procesos para resolución de problemas. Veamos algunos ejemplos de cómo elaborar pseudocódigo, para lo cual vamos a retomar los problemas elaborados en el subtema anterior, donde elaboramos los Algoritmos Computacionales:
  • 18.
    17 Pseudocódigo 1.3.2 Diagrama deflujo Retomando a Pinales y Velázquez (2014) nos explica que, Los diagramas de flujo son una herramienta que permite representar visualmente qué operaciones se requieren y en qué secuencia se deben efectuar para solucionar un problema dado. Ilustración 19. Fuente UDEMEX (2020 con información de Pinales y Velázquez 2014) Los diagramas de flujo son el tercer paso hacia la codificación de un programa, así que, juega un papel vital en la programación, ya que es más fácil el entendimiento de lo que el usuario quiere darle a entender a la computadora, ahora bien, para
  • 19.
    18 elaborar un diagramade flujo, se requiere una cierta simbología que se muestra en la siguiente imagen: Ilustración 20. Fuente UDEMEX (2020) Aunado a esto, se requieren ciertos símbolos que se utilizan para llevar a cabo los procesos u operaciones específicas, los cuales son:
  • 20.
    19 Ilustración 21. FuenteUDEMEX (2020 con información de Pinales y Velázquez 2014) Veamos algunos ejemplos de cómo elaborar el Diagrama de Flujo, para lo cual vamos a retomar los problemas elaborados en el subtema anterior, donde construimos los Algoritmos Computacionales y el pseudocódigo, para lo cual te pido observar el siguiente video: Video 4. Diagramas de Flujo UDEMEX (2020). Diagramas de Flujo [Video]. Alojado en la plataforma YouTube. Recuperado el 27-08-2020 de: https://youtu.be/0SvViQPv2TI
  • 21.
    20 1.4 FASES DELA RESOLUCIÓN DE PROBLEMAS El proceso de resolución de un problema con una computadora, dice Joyanes (2008), conduce a la escritura de un programa y a su ejecución en la misma. Aunque el proceso de diseñar programas es, esencialmente, un proceso creativo, se puede considerar una serie de fases o pasos comunes, que generalmente deben seguir todos los programadores. Las fases de resolución de un problema con computadora son: Ilustración 22. Fuente UDEMEX (2020 con información de Joyanes 2008)
  • 22.
    21 1.4.1 Análisis delproblema Siendo ésta la primera fase para la resolución de problemas, es la más importante y fundamental, ya que se efectúa el proceso lógico de análisis, donde se determinan las claras variantes para entender y dar un panorama general para dar solución al problema Ilustración 23. Fuente UDEMEX (2020 con información de Joyanes 2008) 1.4.2 Diseño de algoritmo En esta segunda etapa, se establece lo que debe hacer el programa en sí, ya que se determinan los procesos e instrucciones asignadas. Los métodos más eficaces para el proceso de diseño se basan en el conocido divide y vencerás, como lo dice Joyanes (2008). Es decir, la resolución de un problema complejo se realiza dividiendo el problema en subproblemas y a continuación
  • 23.
    22 dividiendo estos subproblemas en otros de nivel más bajo, hasta que pueda ser implementada una solución en la computadora. Este método se conoce técnicamente como diseño descendente (top-down) o modular. Ilustración 24. Fuente UDEMEX (2020 con información de Joyanes 2008) 1.4.3 Herramientas de programación Las dos herramientas, de acuerdo a Joyanes (2008), más utilizadas comúnmente para diseñar algoritmos son: diagramas de flujo y pseudocódigos. Un diagrama de flujo (flowchart) es una representación gráfica de un algoritmo. Los símbolos utilizados han sido normalizados por el Instituto Norteamericano de Normalización (ANSI), y los más frecuentemente empleados se muestran en la siguiente ilustración.
  • 24.
    23 Ilustración 25. FuenteUDEMEX (2020) El pseudocódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al inglés o español, que facilitan tanto la escritura como la lectura de programas. En esencia, el pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos.
  • 25.
    24 Ilustración 26. FuenteUDEMEX (2020 con información de Joyanes 2008) 1.4.4 Codificación de un programa Retomando a Joyanes (2008), la codificación es la escritura en un lenguaje de programación de la representación del algoritmo desarrollada en las etapas precedentes. Dado que el diseño de un algoritmo es independiente del lenguaje de programación utilizado para su implementación, el código puede ser escrito con igual facilidad en un lenguaje o en otro.
  • 26.
    25 Ilustración 27. FuenteUDEMEX (2020) 1.4.5 Compilación y ejecución de un programa Ilustración 28. Fuente UDEMEX (2020 con información de Joyanes 2008)
  • 27.
    26 1.4.6 Verificación ydepuración de un programa Según Joyanes (2008), la verificación o compilación de un programa es el proceso de ejecución del programa con una amplia variedad de datos de entrada, llamados datos de test o prueba, que determinarán si el programa tiene o no errores (“bugs”). Para realizar la verificación se debe desarrollar una amplia gama de datos de test: valores normales de entrada, valores extremos de entrada que comprueben los límites del programa y valores de entrada que comprueben aspectos especiales del programa. Ilustración 29. Fuente UDEMEX (2020) Cuando se ejecuta un programa, se pueden producir tres tipos de errores, como lo menciona Joyanes (2008):
  • 28.
    27 Ilustración 30. FuenteUDEMEX (2020 con información de Joyanes 2008) 1.4.7 Documentación y mantenimiento La documentación, dice Joyanes (2008), de un problema consta de las descripciones de los pasos a dar en el proceso de resolución de dicho problema. La importancia de la documentación debe ser destacada por su decisiva influencia en el producto final. Programas pobremente documentados son difíciles de leer, más difíciles de depurar y casi imposibles de mantener y modificar.
  • 29.
    28 Ilustración 31. FuenteUDEMEX (2020 con información de Joyanes 2008) La documentación es vital cuando se desea corregir posibles errores futuros o bien cambiar el programa. Tales cambios, dice Joyanes (2020), se denominan mantenimiento del programa. Después de cada cambio la documentación debe ser actualizada para facilitar cambios posteriores. Es práctica frecuente numerar las sucesivas versiones de los programas 1.0, 1.1, 2.0, 2.1, etc. Por favor, visualizar el siguiente video para clarificar la información previa: Video 5. 6. Programación desde Cero | Algoritmos | Metodologías para la solución de problemas. programación ATS (2017). 6. Programación desde Cero | Algoritmos | Metodologías para la solución de problemas. [Video]. Alojado en plataforma YouTube. Recuperado el: 25-08-2020 de: https://www.youtube.com/watch?v=60jx0tDRnYA
  • 30.
    29 Ahora es momentode resolver la actividad complementaria 1.2 que te permitirá reforzar los aprendizajes adquiridos hasta el momento para posteriormente realizar la actividad de aprendizaje 1.2., correspondiente a este tema, la cual tiene valor para tu calificación. ¡Mucho éxito! ACTIVIDAD COMPLEMENTARIA 1.2 ACTIVIDAD DE APRENDIZAJE 1.2 RESUMEN UNIDAD I
  • 31.
  • 32.
    31 CRITERIOS DE EVALUACIÓNDE LA UNIDAD 1 Ilustración 33. Fuente UDEMEX (2020)