Diagrama de Flujo

Herramientas para la elaboración de algoritmos: Diagrama de flujo

Diagrama de Flujo

Un diagrama de flujo representa la esquematización gráfica de un algoritmo. En realidad muestra gráficamente los pasos o procesos a seguir para alcanzar la solución de un problema. Su correcta construcción es sumamente importante porque a partir del mismo se escribe un programa en algún lenguaje de programación. Si el diagrama de flujo está completo y correcto, el paso del mismo a un lenguaje de programación es relativamente simple y sencillo.

Un diagrama de flujo debe ilustrar gráficamente los pasos o procesos a seguir para alcanzar la solución de un problema. Los símbolos presentados, colocados adecuadamente, permiten crear una estructura gráfica flexible que ilustra los pasos a seguir para alcanzar un resultado específico. El diagrama de flujo facilitará más tarde la escritura del programa en algún lenguaje de programación.

Símbolo Descripción

Símbolo utilizado para marcar el inicio y el fin del diagrama de flujo.

Símbolo utilizado para introducir los datos de entrada. Expresa lectura.

Símbolo utilizado para representar un proceso. En su interior se expresan asignaciones, operaciones aritméticas, cambios de valor de celdas en memoria, etc.

Símbolo utilizado para representar una decisión. En su interior se almacena una condición, y dependiendo del resultado de la misma se sigue por una de las ramas o caminos alternativos. Este símbolo se utiliza en la estructura selectiva si entonces y en las estructuras repetitivas repetir y mientras.

Símbolo utilizado para representar la estructura selectiva doble si entonces/sino. En su interior se almacena una condición. Si el resultado es verdadero se continúa por el camino de la izquierda, y si es falso por el camino de la derecha.

Símbolo utilizado para representar una decisión múltiple. En su interior se almacena un selector, y dependiendo del valor de dicho selector se sigue por una de las ramas o caminos alternativos. Este símbolo se utiliza en la estructura selectiva si múltiple.

Símbolo utilizado para representar la impresión de un resultado. Expresa escritura.

Símbolos utilizados para expresar la dirección del flujo del diagrama.

Símbolo utilizado para expresar conexión dentro de una misma página.

Símbolo utilizado para expresar conexión entre páginas diferentes.

Símbolo utilizado para expresar un módulo de un problema. En realidad expresa que para continuar con el flujo normal del diagrama deberemos primero resolver el subproblema que enuncia su interior.

Reglas para armar un diagrama de flujo:

Ejercicios

Ejercicio 1. Realice el diagrama de flujo de un algoritmo que convierta su edad en segundos. El algoritmo debe recibir como datos de entrada los años, meses y días de su edad y calcular la cantidad de segundos que usted haya vivido.

Ejercicio 2. Realice el diagrama de flujo de un algoritmo que calcule la distancia entre dos puntos, tomando como datos de entrada las coordenadas de los puntos P1 y P2.

Ejercicio 3. Realizar el diagrama de flujo de un algoritmo que calcule el promedio de las 5 calificaciones de un alumno.

Ejercicio 4. Realizar un diagrama de flujo del algoritmo que resuelve una ecuación de segundo grado mediante la fórmula general.

Estructura Condicional

Las estructuras lógicas selectivas se encuentran en la solución algorítmica de casi todo tipo de problemas. Las utilizamos cuando en el desarrollo de la solución de un problema debemos tomar una decisión, para establecer un proceso o señalar un camino alternativo a seguir.

Esta toma de decisión se basa en la evaluación de una o más condiciones que nos señalarán como alternativa o consecuencia, la rama a seguir.

Hay situaciones en las que la toma de decisiones se realiza en cascada. Es decir, se toma una decisión, se marca la rama correspondiente a seguir, se vuelve a tomar otra decisión y así sucesivamente. Por lo que para alcanzar la solución de un problema o subproblema debemos aplicar prácticamente un árbol de decisión.

La estructura si entonces permite que el flujo del diagrama siga un camino específico si se cumple una condición o un conjunto de condiciones. Si al evaluar la condición el resultado es verdadero se ejecuta(n) cierta(s) operación(es). Esta estructura se dice que es binaria dado que solo tiene dos posibles respuestas: si o no.

Ejercicio

Ejercicio 5. Realizar un diagrama de flujo de un algoritmo que solicite un número al usuario y determine si este número es positivo, negativo o cero.

Estructura Condicional Múltiple

La estructura selectiva permite que el flujo del diagrama se bifurque por varias ramas en el punto de la toma de decisión(es), esto en función del valor que tome el selector. El selector múltiple, a diferencia del selector simple, no es binario sino que tiene 3 o más posibles ramas para la decisión.

Este tipo de selector permite elegir entre un número determinado de posibilidades, un número discreto (finito) de ellas. Por esta razón es que si se necesita evaluar un conjunto contínuo (infinito) de posibles valores, este tipo de selector no es apropiado para ello.

Ejericio

Ejercicio 6. Realice un diagrama de flujo que solicite dos números cualesquiera, luego debe pedirse un número que seleccionará alguna operación aritmética. Si introduce 1 los números se deben sumar, si introduce 2 los números se deben restar, si es 3 los números se multiplican y si introduce 4 los números se dividen. Independientemente de la selección, imprima el resultado.

Estructuras Algorítmicas Repetitivas

En la construcción de algoritmos para resolver un problema específico es muy común encontrarse con la necesidad de repetir alguna operación para la realización de esa tarea. En dicha repetición, que a partir de ahora llamaremos iteración, puede ser necesario resolver alguna(s) operación(es) aritmética(s) o la evaluación de alguna decisión. En cualquier caso se necesitan de las estructuras algorítmicas repetitivas.

Todo ciclo debe terminar de ejcutarse luego de un número finito de iteraciones, por lo que es necesario verificar la(s) condición(es) en cada iteración para determinar si se debe continuar la ejecución o detenerse.

De esta forma todos los ciclos tienen estos tres elementos:

Ejericios

Ejercicio 7. Realice un diagrama de flujo del algoritmo que suma los primeros 100 números enteros.

Ejercicio 8. Construya un diagrama de flujo de un algoritmo que solicita números al usuario y haga la suma de todos ellos. El algoritmo debe solicitar números siempre y cuando el número ingresado sea positivo, si el usuario ingresa un número no positivo el algoritmo debe terminar e imprimir la suma de los números positivos.