Servicio Nacional de Aprendizaje

DIAGRAMAS DE FLUJO
RESOLUCIÓN DE PROBLEMAS

Modelo de la Mejora Continua

La principal razón para que las personas aprendan a programar en general y los lenguajes de programación en particular es utilizar la computadora como una herramienta para la resolución de problemas. Ayudado por una computadora, la resolución de un problema se puede dividir en tres fases importantes: 1. Análisis del problema. 2. Diseño o desarrollo del algoritmo. 3. Resolución del algoritmo en la computadora. El primer paso —análisis del problema— requiere que el problema sea definido y comprendido claramente para que pueda ser analizado con todo detalle. Una vez analizado el problema, se debe desarrollar el algoritmo —procedimiento paso a paso para solucionar el problema dado. Por último, para resolver el algoritmo mediante una computadora se necesita codificar el algoritmo en un lenguaje de programación BASIC, Pascal, C, java, C# etc.—, es decir, convertir el algoritmo en programa, ejecutarlo y comprobar que el programa soluciona verdaderamente el problema. Las fases del proceso de resolución de un problema mediante computadora se indican en la Figura1

Resolución de un problema

Análisis
del problema

Diseño
del algoritmo

Resolución del
problema con la computadora

Figura 1 Resolución de un problema ANÁLISIS DEL PROBLEMA El propósito del análisis de un problema es ayudar al programador para llegar a una cierta comprensión de la naturaleza del problema. El problema debe estar bien definido si se desea llegar a una solución satisfactoria. Para poder definir con precisión el problema se requiere que las especificaciones de entrada y salida sean descritas con detalle. Una buena definición del problema, junto con una descripción detallada de las especificaciones de entrada y salida, son los requisitos más importantes para llegar a una solución eficaz. El análisis del problema exige una lectura previa del problema a fin de obtener una idea general de lo que se solicita. La segunda lectura deberá servir para responder a las preguntas: — ¿Qué información debe proporcionar la resolución del problema? — ¿Qué datos se necesitan para resolver el problema? La respuesta a la primera pregunta indicará los resultados deseados o las salidas de/problema. La respuesta a la segunda pregunta indicará qué datos se proporcionan o las entradas de/problema.

Este documento impreso se considera COPIA NO CONTROLADA

Versión

2.0

F08 – 9227 – 040

Página 1 de 20

Servicio Nacional de Aprendizaje

DIAGRAMAS DE FLUJO
Análisis
de Problema

Modelo de la Mejora Continua

Definición
del Problema

Especificaciones
de entrada

Especificaciones
de Entrada

Figura 2.Análisis del problema EJEMPLO 1 Leer el radio de un círculo y calcular e imprimir su superficie y circunferencia. Análisis Las entradas de datos en este problema se concentran en el radio del círculo. Dado que el radio puede tomar cualquier valor dentro del rango de los números reales, el tipo de datos radio debe ser real. Las salidas serán dos variables: superficie y circunferencia que también serán de tipo real. Entradas: Radio del círculo (variable RADIO). Salidas: Superficie del círculo (variable AREA). Circunferencia del círculo (variable CIRCUNFERENCIA). Variables: RADIO, AREA, CIRCUNFERENCIA tipo real. DISEÑO DEL ALGORITMO Una computadora no tiene capacidad para solucionar problemas más que cuando se le proporcionan los sucesivos pasos a realizar. Estos pasos sucesivos que indican las instrucciones a ejecutar por la máquina constituyen, como ya conocemos, el algoritmo. La información proporcionada al algoritmo constituye su entrada y la información producida por el algoritmo constituye su salida. Los problemas complejos se pueden resolver más eficazmente con la computadora cuando se rompen (dividen) en sub-problemas que sean más fáciles de solucionar que el original. Este método se suele denominar divide y vencerás (divide and conquer) y consiste en dividir un problema complejo en otros más simples. Así, el problema de encontrar la superficie y la longitud de un círculo se puede dividir en tres problemas más simples o sub-problemas (Figura 3). La descomposición del problema original en sub-problemas más simples y a continuación dividir estos subproblemas en otros más simples que pueden ser implementados para su solución en la computadora se denomina diseño descendente (top-downdesign). Normalmente los pasos diseñados en el primer esbozo del algoritmo son incompletos e indicarán sólo unos pocos pasos (un máximo de doce aproximadamente). Tras esta primera descripción, éstos se amplían en una descripción más detallada con más pasos específicos. Este proceso se denomina refinamiento del algoritmo (stepwiserefinement). Para problemas complejos, diferentes niveles de refinamiento se necesitan con frecuencia antes de que un algoritmo claro, preciso y completo se pueda obtener.

Este documento impreso se considera COPIA NO CONTROLADA

Versión

2.0

F08 – 9227 – 040

Página 2 de 20

.0 F08 – 9227 – 040 Página 3 de 20 .S.La comprobación del problema se puede verificar fácilmente. 2) calcular superficie y longitud y 3) escribir resultados (datos de salida). pseudocódigo o diagrama N. el diseño del algoritmo se descompone en las fases recogidas en la Figura 4. Refinamiento de un algoritmo Las ventajas más importantes del diseño descendente son: .Servicio Nacional de Aprendizaje DIAGRAMAS DE FLUJO Modelo de la Mejora Continua El problema de cálculo de la longitud y superficie de un círculo se puede descomponer en sub-problemas más simples: 1) leer datos de entrada. pues.Las modificaciones en los módulos son más fáciles. . Figura 3. Así. Este documento impreso se considera COPIA NO CONTROLADA Versión 2. Tras los pasos anteriores (diseño descendente y refinamiento por pasos) es preciso representar el algoritmo mediante una determinada herramienta de programación: diagrama de flujo.El problema se comprende más fácilmente al dividirse en partes más simples denominadas módulos.

b) Sólo puede ejecutarse una operación a la vez. el sistema para describir (―escribir‖) un algoritmo consiste en realizar una descripción paso a paso con un lenguaje natural del citado algoritmo. inicio 2. como ya se ha indicado en párrafos anteriores. sin embargo. En términos de computadora. Recordemos que un algoritmo es un método o conjunto de reglas para solucionar un problema. En cálculos elementales estas reglas tienen las siguientes propiedades: a) Deben estar seguidas de alguna secuencia definida de pasos hasta que se obtengan un resultado diferente. ya que cada acción puede descomponerse a su vez en otras acciones simples.Fases del diseño de un algoritmo Escritura inicial del algoritmo Como ya se ha comentado anteriormente. el algoritmo general se descompondrá en pasos más simples en un procedimiento denominado refinamiento sucesivo. ver la cartelera de cines en el periódico 3. El algoritmo descrito es muy sencillo.Servicio Nacional de Aprendizaje DIAGRAMAS DE FLUJO Modelo de la Mejora Continua Figura 4. un primer refinamiento del algoritmo ―ir al cine ― se puede describir de la forma siguiente: 1. por ejemplo. consideremos el algoritmo que responde a la pregunta: ¿Qué hacer para ver la película ―Tiburón‖? La respuesta es muy sencilla y puede ser descrita en forma de algoritmo general de modo similar a: ir al cine comprar una entrada (billete o ticket) ver la película regresar a casa El algoritmo consta de cuatro acciones básicas. cada una de las cuales debe ser ejecutada antes de realizar la siguiente. El flujo de control usual de un algoritmo es secuencial. cada acción se codificará en una o varias sentencias que ejecutan una tarea particular.0 F08 – 9227 – 040 Página 4 de 20 . sino proyectan ―Tiburón‖ entonces decidir otra actividad si proyectan «Tiburón» ir al cine si hay cola entonces ponerse en ella mientras haya personas delante suya hacer avanzar en la cola si existen asientos disponibles entonces comprar una entrada encontrar el asiento correspondiente Este documento impreso se considera COPIA NO CONTROLADA Versión 2. Así.

ir avanzando repetidamente hasta llegar a la taquilla Otro aspecto a considerar es el método elegido para describir los algoritmos: empleo de indentación (sangrado o justificación) en escritura de algoritmos. 2. Estas palabras describen las estructuras de control fundamentales y procesos de toma de decisión en el algoritmo. ciertas palabras reservadas se han escrito deliberadamente en negrita (mientras. Ejecución del programa. Estas incluyen los conceptos importantes de selección (expresadas por si-entonces-sino if-then-else) y de repetición (expresadas con mientras-hacer o a veces repetir-hasta e iterar-fin_iterar. sino. Ello se facilita con la indentación de las acciones interiores a las estructuras fundamentales citadas: selectivas y repetitivas. diagrama N-S o pseudocódigo.0 F08 – 9227 – 040 Página 5 de 20 . En la actualidad. Codificación del algoritmo en un programa. Comprobación del programa. el programa que implementa el algoritmo debe ser escrito en un lenguaje de programación y siguiendo las reglas gramaticales o sintaxis del mismo. Resolución del problema mediante computadora En el diseño del algoritmo. en inglés while-do y repeat-until) que se encuentran en casi todos los algoritmos. En primer lugar. Sin embargo. 3. Figura 5. ir al fútbol o leer el periódico mientras haya personas en la cola. éste se describe en una herramienta de programación tal como un diagrama de flujo. RESOLUCION DEL PROBLEMA MEDIANTE COMPUTADORA Una vez que el algoritmo está diseñado y representado gráficamente mediante una herramienta de programación (diagrama de flujo. A lo largo de todo el libro la indentación o sangrado de los algoritmos será norma constante. La fase de Este documento impreso se considera COPIA NO CONTROLADA Versión 2.). si proyectan la película seleccionada ir al cine sino ver la televisión. pseudocódigo o diagrama N-S) se debe pasar a la fase de resolución práctica del problema con la computadora. especialmente los de proceso de datos. etc.Servicio Nacional de Aprendizaje DIAGRAMAS DE FLUJO mientras proyectan la película hacer ver la película sino retirarse de la taquilla abandonar el cine volver a casa Modelo de la Mejora Continua fin En el algoritmo anterior existen diferentes aspectos a considerar. Esta fase se descompone a su vez en las siguientes subfases: 1. La capacidad de decisión permite seleccionar alternativas de acciones a seguir o bien la repetición una y otra vez de operaciones básicas. es tan importante la escritura de programas como su posterior lectura.

Tome a. Por ejemplo. Diagrama de flujo. de modo que las sucesivas acciones no dependan de la sintaxis de ningún lenguaje de programación. la fórmula para la solución de una ecuación cuadrática es un medio resumido de expresar el procedimiento algorítmico que se debe ejecutar para obtener las raíces. ya que es demasiado prolija y generalmente ambigua. Los métodos usuales para representar un algoritmo son: 1. 2. deberá ejecutarse en una computadora y a continuación de comprobar los resultados pasar a la fase final de documentación. Sin embargo. Los métodos 4 y 5 no suelen ser fáciles de transformar en programas. b  b 2  4ac b  b 2  4ac x1  x2  2a 2a Este documento impreso se considera COPIA NO CONTROLADA Versión 2. 3. 3. sino que la descripción pueda servir fácilmente para su transformación en un programa. Fórmulas. Restar el resultado de 2 del resultado 1. Lenguaje español. Diagramas de flujo Un diagrama de flujo (flowchart) es una de las técnicas de representación de algoritmos más antigua y a la vez más utilizada. multiplicar por 4.0 F08 – 9227 – 040 Página 6 de 20 . REPRESENTACION GRÁFICA DE LOS ALGORITMOS Para representar un algoritmo se debe utilizar algún método que permita independizar dicho algoritmo del lenguaje de programación elegido. que indican la secuencia en que se deben ejecutar. es buen sistema de representación. 2. sobre todo desde la aparición de lenguajes de programación estructurados. 4. no es frecuente que un algoritmo pueda ser expresado por medio de una simple fórmula. Eleve al cuadrado b. Lenguaje de especificación de algoritmos: pseudocódigo. Ello permitirá que un algoritmo pueda ser codificado indistintamente en cualquier lenguaje. es decir. Tras la codificación del programa. ya que el algoritmo escrito en un lenguaje específico de programación se denomina código. significa: 1. Para conseguir este objetivo se precisa que el algoritmo sea representado gráfica o numéricamente. denominadas líneas de flujo. aunque su empleo ha disminuido considerablemente.Servicio Nacional de Aprendizaje DIAGRAMAS DE FLUJO Modelo de la Mejora Continua conversión del algoritmo en un lenguaje de programación se denomina codificación. sin embargo. etc. Una fórmula. Diagrama N-S (Nassi-Schneiderman). 5. Una descripción en español narrativo no es satisfactoria. Un diagrama de flujo es un diagrama que utiliza los símbolos (cajas) estándar mostrados en la Figura 6 y que tiene los pasos del algoritmo escritos en esas cajas unidas por flechas. multiplicar por c. su codificación.

0 F08 – 9227 – 040 Página 7 de 20 . Indica la entrada y salida de datos. Conector para unir el flujo a otra parte del diagrama Líneas de flujo Envía datos a la impresora Indica la salida de información en la pantalla o monitor.Servicio Nacional de Aprendizaje DIAGRAMAS DE FLUJO SIMBOLO DESCRIPCION Modelo de la Mejora Continua Indica el inicio y el final de nuestro diagrama de flujo. Símbolos básicos de diagramas de flujo Este documento impreso se considera COPIA NO CONTROLADA Versión 2. Un paso o tarea del proceso. generalmente en la forma de una pregunta. La respuesta a la pregunta determina el camino que debe tomarse desde el símbolo de decisión. Toma o nodo de verificación o de decisión. Figura 6. Cada camino está identificado para que corresponda a una respuesta. Una descripción breve del paso se presenta dentro del símbolo rectangular. Este diamante indica un punto de la rama en el proceso. La descripción está escrita dentro del símbolo.

0 F08 – 9227 – 040 Página 8 de 20 . y sabiendo que los impuestos aplicados son el 10 por 100 sobre el salario bruto. tipo rombo o paralelogramo (el resto de las figuras se utilizan sólo en diagramas de flujo generales o de detalle y no siempre son imprescindibles). b) Existe otra caja etiquetada ―fin‖ de igual forma que en a. precio de la hora. Este documento impreso se considera COPIA NO CONTROLADA Versión 2. Los símbolos más utilizados representan: — — — — — — proceso decisión conectores fin entrada/salida dirección del flujo En un diagrama de flujo: a) Existe una caja etiquetada ―inicio‖. El diagrama citado (Figura 7) representa la resolución de un programa que deduce el salario neto de un trabajador a partir de la lectura del nombre. El uso de flechas significa que la caja no necesita ser escrita debajo de su predecesora. Los símbolos estándar normalizados por ANSI (abreviatura de American NationalStandardsInstitute) son muy variados. Se puede escribir más de un paso del algoritmo en una sola caja rectangular.Servicio Nacional de Aprendizaje DIAGRAMAS DE FLUJO La figura 7 es un diagrama de flujo básico: Modelo de la Mejora Continua Figura 7 Diagrama de flujo. normalmente son rectangulares. abusar demasiado de esta flexibilidad conduce a diagramas de flujo complicados e ininteligibles. horas trabajadas. que es de tipo elíptico. c) Si existen otras cajas. Sin embargo.

tras roturas previas del flujo del algoritmo..Servicio Nacional de Aprendizaje DIAGRAMAS DE FLUJO Modelo de la Mejora Continua Símbolos de diagramas de flujo Cada símbolo visto anteriormente indica el tipo de operación a ejecutar y el diagrama de flujo ilustra gráficamente la secuencia en la que se ejecutan las operaciones. suma y media de los datos. — El símbolo rombo ( ) es una caja de decisión que representa respuestas Sí/no o bien diferentes alternativas 1. Un valor de cero como entrada indicará que se ha alcanzado el final de la serie de números positivos. por ejemplo. • calcular la suma. es decir. etcétera). Leer un número. — Un pequeño círculo ( O ) es un conector y se utiliza para conectar caminos. S. • fin del proceso. EJEMPLO 2 Calcular la media de una serie de números positivos suponiendo que los datos se leen desde una terminal. Si el número leído es cero: • calcular la media. El refinamiento del algoritmo conduce a los pasos sucesivos necesarios para realizar las operaciones de lectura de datos. 4. • imprimir la media. Fin.. salida en impresora o pantalla. Inicializar contador de número C. — Cada diagrama de flujo comienza y termina con un símbolo terminal ( ).. etc. nuestro algoritmo en forma descriptiva sería: 1.  Este documento impreso se considera COPIA NO CONTROLADA Versión 2. Para calcular una media se necesita sumar y contar los valores. Por consiguiente. 4.0 F08 – 9227 – 040 Página 9 de 20 . 2.. • ir al paso 2. acciones a realizar (sumar 2 números. verificación del último dato. calcular la raíz cuadrada de un número. etc. 3. — Las líneas de flujo (  ) representan el flujo secuencial de la lógica del programa. Si el número leído no es cero. 2. — Un rectángulo ( ) significa algún tipo de proceso en la computadora. — El paralelogramo ( ) es un símbolo de entrada/salida que representa cualquier tipo de entrada o salida desde el programa o sistema. 3. • incrementar en un contador de números. y variable suma. entrada de teclado. El primer paso a dar en el desarrollo del algoritmo es descomponer el problema en una serie de pasos secuenciales.

Servicio Nacional de Aprendizaje DIAGRAMAS DE FLUJO Modelo de la Mejora Continua Ejemplo 3.0 F08 – 9227 – 040 Página 10 de 20 . Este documento impreso se considera COPIA NO CONTROLADA Versión 2. Diagrama de flujo sencillo con los pasos a seguir si una lámpara no funciona.

Se debe evitar el cruce de líneas. 3. Los Diagramas de flujo deben escribirse de arriba hacia abajo. se deben de utilizar solamente líneas de flujo horizontal o verticales (nunca diagonales). Incorrecto Correcto 4. las cuales tienen en la punta una flecha que indica la dirección que fluye la información procesos. No deben quedar líneas de flujo sin conectar 5. 2. Este documento impreso se considera COPIA NO CONTROLADA Versión 2. para lo cual se quisiera separar el flujo del diagrama a un sitio distinto. se pudiera realizar utilizando los conectores. y/o de izquierda a derecha. Pero pueden llegar muchas líneas de flujo a otras líneas. Incorrecto Correcto 6.Servicio Nacional de Aprendizaje DIAGRAMAS DE FLUJO Reglas para la creación de Diagramas Modelo de la Mejora Continua 1.0 F08 – 9227 – 040 Página 11 de 20 . Los símbolos se unen con líneas. a excepción del símbolo final. Solo los símbolos de decisión pueden y deben tener más de una línea de flujo de salida.. Se debe tener en cuenta que solo se vana utilizar conectores cuando sea estrictamente necesario. Solo debe llegar una sola línea de flujo a un símbolo.

La construcción de una casa requieres la ejecución de un conjunto de acciones que podría representarse con un diagrama de flujo como sigue: Inicio Medición Terreno Hacer planos Preparación terreno Hacer cimientos Ductos sanitarios Hacer Muros Hacer Techo Inicio.Servicio Nacional de Aprendizaje DIAGRAMAS DE FLUJO Estructuras Básicas Modelo de la Mejora Continua Estructura Secuencia Está formada por varios bloques uno a continuación del otro. la estructura secuencia se representa como un conjunto de bloques dispuestos en forma vertical. Ejemplo. Esto significa que las acciones representadas por los respectivos bloques se ejecutadas una después de la otra en estricto orden. Desde el punto de vista gráfico.0 F08 – 9227 – 040 Página 12 de 20 . con la salida de cada uno conectado a la entrada del siguiente. Medir Terreno Hacer planos Preparar terrenos Hacer cimientos Hacer ductos sanitarios Hacer muros Hacer techo Hacer conexiones eléctricas Realizar acabados Fin Conexiones eléctricas Realizar Acabados Fin Este documento impreso se considera COPIA NO CONTROLADA Versión 2.

0 F08 – 9227 – 040 Página 13 de 20 . Si la condición se cumple. Salir de la Casa Salir de la casa Pronóstico frío? SI Sí pronóstico es frió entonces Usar ropa ligera Sino entonces Usar ropa abrigada Usar ropa abrigada NO Usar ropa ligera Uno de los boques de la estructura puede ser vacío (no realizar ninguna operación). ingresa por el nodo de decisión donde se consulta el cumplimiento de una condición. el flujo continúa por uno de los dos caminos que conduce a realizar la acción correspondiente Si la condición no se cumple. a través de l nodo donde se unen los dos caminos. Ejemplo1. Después de realizar cualquiera de las dos acciones la salida de la estructura es única. Cuando el proceso entra a la estructura. Opción A. dos bloques y un nodo con dos entradas y un salida. el proceso continúa por el otro camino. Podríamos representarlo de la siguiente manera. Cada vez que salimos de la casa examinamos los pronósticos del tiempo para decidir sobre qué clase de ropa usaremos en la calle. Si condición entonces Realizar proceso 2 Condición SI Condición SI NO NO Proceso 2 Proceso 1 Opción B. Gráficamente está formada por una toma de decisión.Servicio Nacional de Aprendizaje DIAGRAMAS DE FLUJO Modelo de la Mejora Continua Estructuras de decisión. Si condición Si no entonces Realizar Proceso 2 A B Este documento impreso se considera COPIA NO CONTROLADA Versión 2.

debe bracear hasta alcanzar la orilla. así. Mientras no llegue a la orilla haga NO Dar una brazada Fin mientras LLegué a la orilla? SI Dar una brazada Cada vez que se da un brazada se retorna a la verificación de la condición.Servicio Nacional de Aprendizaje DIAGRAMAS DE FLUJO Modelo de la Mejora Continua Ejemplo 2: Un sensor de temperatura contra incendios en una bodega. doy una brazada tantas veces como sea necesario hasta que la condición deje de cumplirse. Mentalmente uno se puede programar de la siguiente manera. Por ejemplo si uno se encuentra nadando en un lago y desea salir de él. El diagrama de flujo que describe el funcionamiento del sensor se muestra a continuación Temperatura < Límite? NO Si temperatura es menor que límite entonces No haga nada Si no entonces Activar Alarma SI Activar Alarma Estructura Mientras (While). En forma general la condición mientras tiene la siguiente estructura: Este documento impreso se considera COPIA NO CONTROLADA Versión 2. si estoy separado de la orilla.0 F08 – 9227 – 040 Página 14 de 20 . sino que muy a menudo es necesario repetir una misma acción cierto número de veces o hasta que cambien ciertas circunstancias que son modificadas por las acciones mismas. está encargado de dar la alarma en caso de que la temperatura sobrepase cierto límite previamente establecido. Dentro de la programación de una tarea no solamente debemos preparar acciones sucesivas que difieren unas de otras.

el bloqueCimiento representa todas las tares necesarias para hacer los cimientos de la casa. Entonces el bloque se refina mostrando como contenido una secuencia de bloques.0 F08 – 9227 – 040 Página 15 de 20 . cada proceso se representa por medio de un bloque que tiene entradas y salida. las cuales resultan muy útiles a la hora de programas. Refinamiento Las tres estructuras de programación son en realidad todo lo que se requiere para describir cualquier algoritmo. Cuando se inicia la labor de creación de un programa o una tarea.En la siguiente figura se muestras más detallado el proceso mencionado.Con estas estructuras se han desarrollado combinaciones. describiendo cada una de las tareas que se deben realizar. tomas decisiones y operaciones necesarias para completar el procedimiento. Demarcar cimiento Hacer excavaciones Cimientos Instalar Estructuras Cimientos Vaciar concreto Fraguar Este documento impreso se considera COPIA NO CONTROLADA Versión 2.Servicio Nacional de Aprendizaje DIAGRAMAS DE FLUJO Modelo de la Mejora Continua NO Condición? SI Proceso En el gráfico se observa que si al consultar la condición por primera vez. todo es una gran idea global cuyo contenido hay que explicar a medida que se avanza. A su vez este proceso se puede detallar más. y si esta no se cumple. entonces el proceso o tarea descrita en el bloque no se ejecuta ni una sola vez. además se incluye las tareas que se van a realizar. En el diagrama de flujo. Tomando como ejemplo el algoritmo para la construcción de una casa. por esto se llaman estructuras básicas.

Este documento impreso se considera COPIA NO CONTROLADA Versión 2. la primera compra se realiza sin verificar si hay dinero disponible y las siguientes antes de realizar los gastos se verifica si queda dinero. esta estructura se denomina repetir-hasta ó DoWhile y tiene la siguiente estructura en diagrama de flujo: Do-while Haga Proceso Proceso Mientras condición se verdadera repetir NO Condición? SI Para considerar mejor esta estructura consideremos el siguiente ejemplo: supongamos que se desea realizar compras y se lleva cierta cantidad de dinero para dicha labor. El diagrama que describe esta situación se muestra a continuación. En ocasiones es necesario que se ejecute el procedimiento antes de consultar la condición. Esta condición se realiza repetidamente hasta que no hay más dinero.0 F08 – 9227 – 040 Página 16 de 20 . Haga Hacer Compra Realizar compras Mientras hay dinero repetir SI Hay Dinero? NO Esta estructura es derivada de la estructura Mientras como se muestra a continuación.Servicio Nacional de Aprendizaje DIAGRAMAS DE FLUJO Estructuras repetición (Do-While) Modelo de la Mejora Continua Cuando se utiliza la estructura mientras se debe tener en cuenta que antes de ejecutar el procedimiento. se consulta si se cumple la condición correspondiente en la toma de decisión.

además . Una manera de hacerlo es por medio de estructuras básicas en la cual se incluye el uso de una variable de control o contador. La consulta del contenido de una variable no altera su valor. ya que en la primera solo hay un proceso a ejecutar mientras en la segunda dos. la cual.0 F08 – 9227 – 040 Página 17 de 20 . Aquí el contenido de la variable o contador se modifica por medio de un proceso de asignación. desde el punto de vista de programación la primera está ocupando menos espacio en memoria. Es estructura en programación de denomina For. Estructura Iteración (For). Contador=0 SI Contador < 10? Contador ← 0 Mientras contador sea menor a 10 Haga Proceso 1 Contador ← Contador + 1 Repetir Proceso NO Contador=Cont ador*+1 Este documento impreso se considera COPIA NO CONTROLADA Versión 2.Servicio Nacional de Aprendizaje DIAGRAMAS DE FLUJO Modelo de la Mejora Continua Hacer Compra SI Hay dinero? NO Hacer Compra Las dos estructura son semejantes pero la primera es más eficiente que las segunda. Un ciclo que repite un proceso o acción y que utiliza una variable de control se muestra a continuación. que consiste en reemplazar el valor existente por uno nuevo. conocido de antemano. A menudo es necesario hacer que un proceso se repita un número de veces. a partir de cierto valor inicial se incrementa cada vez que se cumple un ciclo.

Servicio Nacional de Aprendizaje DIAGRAMAS DE FLUJO Modelo de la Mejora Continua En este ejemplo el proceso se repite hasta que el contador sea menor que 10. además del número iteraciones que se realizan. Por ejemplo si se desea organizar las cartas de una baraja por pintas. cada una puede pertenecer a una de las cuatro posibilidades: Diamante. Este documento impreso se considera COPIA NO CONTROLADA Versión 2. Trébol. si es menor de 10 se ejecuta de nuevo. Corazón. En la siguiente tabla se muestra como va cambiando el valor de contador y la evaluación de la condición. sino que es corriente encontrar un conjunto de posibilidades más amplio. Condición 0<10? Si 1<10? Si 2<10? Si 3<10? Si 4<10? Si 5<10? Si 6<10? Si 7<10? Si 8<10? Si 9<10? Si 10<10? No Iteracción 0 1 2 3 4 5 6 7 8 9 10 FIN Contador 0 0+1=1 1+1=2 2+1=3 3+1=4 4+1=5 5+1=6 6+1=7 7+1=8 8+1=9 9+1=10 El mismo diagrama de flujo se puede escribir en una forma equivalente. las alternativas no siempre se limitan a los casos verdadero y falso o blanco y negro. luego se verifica la condición. de contrario termina el ciclo. Cada vez que se ejecuta el proceso o tarea el contador se incrementa en uno. Picas. mas abreviada. For Contador =0 has ta 9 Para contador ← 9 hasta 9 hacer Realizar proceso Proceso Fin para Estructura Casos (Switch-Case) Cuando se presenta la necesidad de tomar una decisión. que permite introducir la definición de la estructura iteración. Esta situación se puede expresar a través de las estructuras básicas por medio del refinamiento sucesivo a partir de una decisión inicial como se muestra a continuación.0 F08 – 9227 – 040 Página 18 de 20 . En total el proceso se repite 10 veces.

NO Diamante? Corazón? NO Picas? NO SI Colocar en el primer Montón SI SI Colocar en el segundo Montón Colocar en el tercer Montón Colocar en el cuarto Montón Este documento impreso se considera COPIA NO CONTROLADA Versión 2. A continuación se muestran dos formas de representa ésta estructura.0 F08 – 9227 – 040 Página 19 de 20 . el diagrama tendrá gran dificultad en la lectura.Servicio Nacional de Aprendizaje DIAGRAMAS DE FLUJO Modelo de la Mejora Continua Diamante? NO SI Colocar en el primer Montón NO Corazón? SI NO Colocar en el segundo Montón Picas? SI Colocar en el tercer Montón Colocar en el cuarto Montón Si las alternativas son numerosas. Para evitar esto se introduce la alternativa casos la cual es mas simple y además facilita percibir que todas las alternativas se encuentran en igualdad.

[Joyanes] Desarrollado por: Andrey Julián Rentería Scarpetta Este documento impreso se considera COPIA NO CONTROLADA Versión 2. Algoritmos y Estructuras de Datos. ninguna cumpla con la comparación.Servicio Nacional de Aprendizaje DIAGRAMAS DE FLUJO Modelo de la Mejora Continua SI Diamante? Colocar en el primer Montón NO SI Corazón? Colocar en el segundo Montón NO Picas? SI Colocar en el tercer Montón NO Colocar en el cuarto Montón Se puede dar el caso que al evaluar todas las condicione.0 F08 – 9227 – 040 Página 20 de 20 . para estos casos se puede optar en no realizar ningún procedimiento. ó colocar un condición en la cual se evalúe esa condición Tomado con fines educativos de: Fundamentos de Programación.

Sign up to vote on this title
UsefulNot useful