Representación algorítmica en diagramas de flujo
Introducción
Bienvenida y bienvenido!
En la sesión anterior aprendiste a desarrollar algoritmos y su representación en pseudocódigo.
En esta sesión aprenderás a representar un algoritmo en diagrama de flujo. Un diagrama de flujo es una representación gráfica, ordenada, y precisa permite que cualquier persona pueda interpretar la solución a un problema, sin conocer demasiado de simbología de diagrama de flujo, la interpretación es casi intuitiva.
En un diagrama de flujo puedes llegar a representar tareas repetitivas, hay tareas secuenciales que no tienen por qué estar esperando una variable o una señal para funcionar, estas tares se pueden arreglar con estructuras de ciclos.
Lo ciclos pueden llegar a ser infinitos si a así la tarea lo define o pueden tener una el grado finito al alcanzar un punto, en el caso de ciclo finito se puede definir cuando terminara, esta sentencia se define al inicio del ciclo o al final de este hasta que haya logrado el dato de que se requiere para romper el ciclo. Un diagrama de flujo puede llevarte a seleccionar uno o varios caminos para dar solución a un problema, para esa toma de decisión un diagrama de flujo cuenta con la representación de select case.
Recuerda que puedes encontrar otras soluciones a los ejemplos planteados y las soluciones propuestas no tiene por qué ser la única solución al problema, crea tu propia solución con tu lógica diseñando tus propias estructuras en diagrama de flujo o pseudocódigo.
¡Comencemos a desarrollar!
Desarrollo del tema
¿Qué es un diagrama de flujo?
Un diagrama de flujo es una representación gráfica a través de símbolos, que permiten crear la secuencia y pasos lógicos ordenados para llevar a cabo una tarea o instrucción. Cada símbolo tiene una tarea específica en su estructura y el símbolo describe el paso a seguir, el diagrama de flujo construido debe describir la tarea de forma ordenada y clara, de tal forma que, quien lo interprete debería entender la solución que pretende describir con su creación.
Simbología de un diagrama de flujo
Una vez descrita la simbología de un diagrama de flujo te presento algunos ejemplos de desarrollo de pseudocódigo y diagrama de flujo, en ellos podrás analizar la estructura que le corresponde según la solución al problema que se platea.
- Desarrolla un pseudocódigo y un diagrama de flujo para imprimir en pantalla un “Hola Mundo”
- Desarrollar un pseudocódigo y un diagrama de flujo para sumar dos números cuyos valores son desconocidos.
Te invito a que accedas al el siguiente enlace en donde se aborda más sobre tema:
En el siguiente pseudocódigo y diagrama de flujo comenzamos a utilizar el símbolo de rombo para la toma de decisiones. El rombo nos permite seleccionar una de dos posibles vías para la resolución.
- Desarrollar un pseudocódigo y un diagrama de flujo que lea dos valores, determine cual es el mayor, lo imprima. Los valores deben ser diferentes.
- Desarrollar un pseudocódigo y un diagrama de flujo que permita leer tres valores, almacenarlos en variables respectivamente, imprima cual es el mayor, recordando verificar que los tres valores introducidos sean distintos, mandar un mensaje en caso de que haya valores iguales.
Te invito a que accedas al el siguiente enlace en donde se aborda más sobre tema:
Desarrollo de pseudocódigo y diagrama de flujo con instrucciones Select … Case (Selector de casos)
Las instrucciones Select Case pueden llamarse expresiones de anidamiento múltiple de instrucciones, estas instrucciones se pueden definir para una estructura del tipo:
Si … Entontes – Sino
La sintaxis para su estructura en pseudocódigo es:
Sintaxis para un diagrama de flujo con select case:
Ejemplo estructura Select Case.
- Desarrollar un pseudocódigo y un diagrama de flujo que convierta calificaciones de número a sistema de calificación de letras, siguiendo los patrones: A = 9, 10; B = 6, 7, 8; D = 3, 4, 5; E = 1 y 2. Notas comprendidas entre 1 y 10.
Te invito a que accedas al el siguiente enlace en donde se aborda más sobre tema:
Desarrollo de Pseudocódigo y diagrama de flujo para estructura de Ciclos
Los ciclos nos sirven para repetir ciertos procesos y para contabilizar las pasadas en un proceso, en el uso común podríamos definir la estructura como:
Desde … Siguiente
En la estructura de un ciclo deben estar definidos los límites para cerrar el proceso, estos límites los referencia una variable a través de una instrucción, que inicialmente tendrá un valor. Esta variable referenciara un valor inicial que posteriormente procesar un grupo de instrucciones internas hasta llegar a la instrucción siguiente. El flujo del ciclo del programa regresa a la instrucción Desde y va adquiriendo un valor de incremento o decremento y continúa repitiéndose hasta que el valor de la variable inicial cumple un valor definido, cuando cumple ese valor definido el ciclo deja de ejecutarse.
Estructura en pseudocódigo para un ciclo:
La variable i lleva a cabo el conteo por cada pasada en el ciclo.
Ciclo anidado, serán necesarias dos variables i y j, cada variable llevara a cabo el conteo por pasada de su ciclo en específico.
Estructura de un diagrama de flujo para un ciclo:
Estructura de un diagrama de flujo para ciclos anidados:
Ejemplificación 1 de ciclos para solucionar un problema.
Desarrolla un pseudocódigo y un diagrama de flujo que realice la suma de los números enteros comprendidos entre el 1 y el 10, es decir, 1+2+…+10.
Te invito a que accedas al el siguiente enlace en donde se aborda más sobre tema:
Ejemplificación 2 de ciclos para solucionar un problema.
- Desarrolla un pseudocódigo y un diagrama de flujo que permita calcular un promedio de calificaciones, el ciclo para cálculo del promedio debe finalizar cuando la calificación introducida sea igual a 0.
Conclusión
Analizando la estructura de selección de casos y de ciclos podrás visualizar ya con más detalle el planteamiento a soluciones de problemas que tengan un mayor grado de complejidad, y podrás crear estructuras más específicas.
Con el uso del select case completaras un esquema para tomas de decisiones de un rango mayor a dos, donde pueden plantear a usuario más de una posibilidad para resolver un problema y/o puedes integrar más opciones a un esquema de selección de variables.
Con el uso de ciclos puedes lograr la repetición de procesos sin esperar a que el programa necesite una bandera por parte del usuario para seguir trabajando y este dejara de ejecutarse con el valor de la variable que tu hayas definido en su inicialización.
Hemos terminado la parte de creación de estructuras de pseudocódigo y diagrama de flujo, esto te ayuda a estructurar de manera ordenada, precisa y concisa el desarrollo lógico de un prototipo a líneas de programación.
Con un diagrama de flujo puedes ver la solución de un problema de manera más simple, te permite tener los procesos conectados para darle solución, al visualizarlo te indica el canal más simple de comunicación. Los símbolos que se utilizan son muy intuitivos para la expresión de sus diversas operaciones.
Ahora observando, entendiendo y analizando estas estructuras estas listo para adentrarte a conocer el Lenguaje de Programación en C y comenzar a escribir tus primeras líneas de código.
Te espero en la siguiente sesión para comenzar a conocer los programas para compilar.
Fuentes de información
- Visitar el libro PDF de Anívar Chávez. Aprenda a Diseñar Algoritmos (Capítulo 3) (6 páginas). https://repository.unad.edu.co/bitstream/handle/10596/11970/Chave;jsessionid=D20A6649E17352AA307F10E15817DF59.jvm1?sequence=3
- Gottfried, B. S. (2005). Programación en C. McGraw-Hill Interamericana. Schildt H (1991), Programación en TURBO C. McGraw-Hill. https://repository.unad.edu.co/bitstream/handle/10596/11970/Chave?sequence=3
- C Programming Language, Brian W. Kernighan Dennis M. Ritchie. Prentice Hall; 2 ed. Sitios web con programación estructurada en C y trabajos académicos específicos.
- Metodología de la programación. Algoritmos, diagramas de flujo y programas Authors: Vital Carrillo, Maricela. Publication Year: 2018. Fuente: Vida Científica Boletín Científico de la Escuela Preparatoria No. 4; Vol. 6 Núm. 12 (2018): Vida Científica Boletín Científico de la Escuela Preparatoria No. 4 ; 2007-4905