P. 1
Diagramas de Flujo

Diagramas de Flujo

|Views: 1.193|Likes:
Publicado porJesus Alzate

More info:

Published by: Jesus Alzate on Apr 27, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

06/11/2013

pdf

text

original

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

Refinamiento de un algoritmo Las ventajas más importantes del diseño descendente son: .0 F08 – 9227 – 040 Página 3 de 20 . Así. pues. 2) calcular superficie y longitud y 3) escribir resultados (datos de salida). el diseño del algoritmo se descompone en las fases recogidas en la Figura 4. pseudocódigo o diagrama N.Las modificaciones en los módulos son más fáciles.S. Este documento impreso se considera COPIA NO CONTROLADA Versión 2.El problema se comprende más fácilmente al dividirse en partes más simples denominadas módulos. . Figura 3. .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.La comprobación del problema se puede verificar fácilmente. 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.

Fases del diseño de un algoritmo Escritura inicial del algoritmo Como ya se ha comentado anteriormente. cada una de las cuales debe ser ejecutada antes de realizar la siguiente. un primer refinamiento del algoritmo ―ir al cine ― se puede describir de la forma siguiente: 1. Recordemos que un algoritmo es un método o conjunto de reglas para solucionar un problema. En términos de computadora. ver la cartelera de cines en el periódico 3.0 F08 – 9227 – 040 Página 4 de 20 . cada acción se codificará en una o varias sentencias que ejecutan una tarea particular. 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. por ejemplo. 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. sin embargo. inicio 2. El algoritmo descrito es muy sencillo. 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. El flujo de control usual de un algoritmo es secuencial. 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.Servicio Nacional de Aprendizaje DIAGRAMAS DE FLUJO Modelo de la Mejora Continua Figura 4. Así. ya que cada acción puede descomponerse a su vez en otras acciones simples. el algoritmo general se descompondrá en pasos más simples en un procedimiento denominado refinamiento sucesivo. como ya se ha indicado en párrafos anteriores.

si proyectan la película seleccionada ir al cine sino ver la televisión. 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. 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. el programa que implementa el algoritmo debe ser escrito en un lenguaje de programación y siguiendo las reglas gramaticales o sintaxis del mismo. Esta fase se descompone a su vez en las siguientes subfases: 1. Resolución del problema mediante computadora En el diseño del algoritmo. En primer lugar. diagrama N-S o pseudocódigo. Comprobación del programa. etc. ir al fútbol o leer el periódico mientras haya personas en la cola. 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. sino. en inglés while-do y repeat-until) que se encuentran en casi todos los algoritmos. 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. Ello se facilita con la indentación de las acciones interiores a las estructuras fundamentales citadas: selectivas y repetitivas. 3.).0 F08 – 9227 – 040 Página 5 de 20 . Ejecución del programa. especialmente los de proceso de datos. Codificación del algoritmo en un programa. A lo largo de todo el libro la indentación o sangrado de los algoritmos será norma constante. éste se describe en una herramienta de programación tal como un diagrama de flujo. La fase de Este documento impreso se considera COPIA NO CONTROLADA Versión 2. Sin embargo.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. 2. En la actualidad. pseudocódigo o diagrama N-S) se debe pasar a la fase de resolución práctica del problema con la computadora. 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. Figura 5. es tan importante la escritura de programas como su posterior lectura.

es decir. que indican la secuencia en que se deben ejecutar. 3. Fórmulas. Lenguaje español. Diagrama de flujo. Tras la codificación del programa. Una descripción en español narrativo no es satisfactoria. sino que la descripción pueda servir fácilmente para su transformación en un programa. deberá ejecutarse en una computadora y a continuación de comprobar los resultados pasar a la fase final de documentación. 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. Restar el resultado de 2 del resultado 1. etc. Para conseguir este objetivo se precisa que el algoritmo sea representado gráfica o numéricamente. 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 el algoritmo escrito en un lenguaje específico de programación se denomina código. Diagrama N-S (Nassi-Schneiderman). Ello permitirá que un algoritmo pueda ser codificado indistintamente en cualquier lenguaje. 2. 4. 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. multiplicar por c. significa: 1. ya que es demasiado prolija y generalmente ambigua. Los métodos usuales para representar un algoritmo son: 1.0 F08 – 9227 – 040 Página 6 de 20 . Lenguaje de especificación de algoritmos: pseudocódigo. Por ejemplo. b  b 2  4ac b  b 2  4ac x1  x2  2a 2a Este documento impreso se considera COPIA NO CONTROLADA Versión 2. 5. multiplicar por 4. Los métodos 4 y 5 no suelen ser fáciles de transformar en programas. no es frecuente que un algoritmo pueda ser expresado por medio de una simple fórmula. aunque su empleo ha disminuido considerablemente. sin embargo. Tome a.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. Una fórmula. Eleve al cuadrado b. sobre todo desde la aparición de lenguajes de programación estructurados. 2. su codificación. 3. 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. denominadas líneas de flujo. es buen sistema de representación. Sin embargo. de modo que las sucesivas acciones no dependan de la sintaxis de ningún lenguaje de programación.

Cada camino está identificado para que corresponda a una respuesta.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. Una descripción breve del paso se presenta dentro del símbolo rectangular. generalmente en la forma de una pregunta. 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. Este diamante indica un punto de la rama en el proceso. 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. Indica la entrada y salida de datos. Figura 6. La descripción está escrita dentro del símbolo. 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.0 F08 – 9227 – 040 Página 7 de 20 .

horas trabajadas. 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). 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. 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‖. Este documento impreso se considera COPIA NO CONTROLADA Versión 2. y sabiendo que los impuestos aplicados son el 10 por 100 sobre el salario bruto. que es de tipo elíptico.0 F08 – 9227 – 040 Página 8 de 20 . abusar demasiado de esta flexibilidad conduce a diagramas de flujo complicados e ininteligibles.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. precio de la hora. c) Si existen otras cajas. Los símbolos estándar normalizados por ANSI (abreviatura de American NationalStandardsInstitute) son muy variados. Sin embargo. El uso de flechas significa que la caja no necesita ser escrita debajo de su predecesora. Se puede escribir más de un paso del algoritmo en una sola caja rectangular. normalmente son rectangulares. b) Existe otra caja etiquetada ―fin‖ de igual forma que en a.

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

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

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

con la salida de cada uno conectado a la entrada del siguiente. Ejemplo. Esto significa que las acciones representadas por los respectivos bloques se ejecutadas una después de la otra en estricto orden. 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 12 de 20 . 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. Desde el punto de vista gráfico. la estructura secuencia se representa como un conjunto de bloques dispuestos en forma vertical.

Cada vez que salimos de la casa examinamos los pronósticos del tiempo para decidir sobre qué clase de ropa usaremos en la calle. Opción A.0 F08 – 9227 – 040 Página 13 de 20 . Si condición entonces Realizar proceso 2 Condición SI Condición SI NO NO Proceso 2 Proceso 1 Opción B. ingresa por el nodo de decisión donde se consulta el cumplimiento de una condición. el proceso continúa por el otro camino. Si la condición se cumple. Gráficamente está formada por una toma de decisió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. Ejemplo1.Servicio Nacional de Aprendizaje DIAGRAMAS DE FLUJO Modelo de la Mejora Continua Estructuras de decisión. Cuando el proceso entra a la estructura. Después de realizar cualquiera de las dos acciones la salida de la estructura es única. 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). Podríamos representarlo de la siguiente manera. a través de l nodo donde se unen los dos caminos. dos bloques y un nodo con dos entradas y un salida. Si condición Si no entonces Realizar Proceso 2 A B Este documento impreso se considera COPIA NO CONTROLADA Versión 2.

así.Servicio Nacional de Aprendizaje DIAGRAMAS DE FLUJO Modelo de la Mejora Continua Ejemplo 2: Un sensor de temperatura contra incendios en una bodega.0 F08 – 9227 – 040 Página 14 de 20 . 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. doy una brazada tantas veces como sea necesario hasta que la condición deje de cumplirse. Por ejemplo si uno se encuentra nadando en un lago y desea salir de él. 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. 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). Mentalmente uno se puede programar de la siguiente manera. 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. 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. debe bracear hasta alcanzar la orilla.

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

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.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. Esta condición se realiza repetidamente hasta que no hay más dinero. se consulta si se cumple la condición correspondiente en la toma de decisión. El diagrama que describe esta situación se muestra a continuación. 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.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. En ocasiones es necesario que se ejecute el procedimiento antes de consultar la condición.

ya que en la primera solo hay un proceso a ejecutar mientras en la segunda dos. que consiste en reemplazar el valor existente por uno nuevo. La consulta del contenido de una variable no altera su valor.0 F08 – 9227 – 040 Página 17 de 20 . Un ciclo que repite un proceso o acción y que utiliza una variable de control se muestra a continuación. conocido de antemano.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. 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. la cual. 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. Es estructura en programación de denomina For. desde el punto de vista de programación la primera está ocupando menos espacio en memoria. 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. Aquí el contenido de la variable o contador se modifica por medio de un proceso de asignación. Estructura Iteración (For). además .

Este documento impreso se considera COPIA NO CONTROLADA Versión 2. si es menor de 10 se ejecuta de nuevo. sino que es corriente encontrar un conjunto de posibilidades más amplio. 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. mas abreviada. de contrario termina el ciclo. Corazón. Cada vez que se ejecuta el proceso o tarea el contador se incrementa en uno. Trébol.0 F08 – 9227 – 040 Página 18 de 20 . En total el proceso se repite 10 veces. además del número iteraciones que se realizan.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. Por ejemplo si se desea organizar las cartas de una baraja por pintas. que permite introducir la definición de la estructura iteración. luego se verifica la condición. las alternativas no siempre se limitan a los casos verdadero y falso o blanco y negro. En la siguiente tabla se muestra como va cambiando el valor de contador y la evaluación de la condición. cada una puede pertenecer a una de las cuatro posibilidades: Diamante. Picas. 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. 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.

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.0 F08 – 9227 – 040 Página 19 de 20 .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. A continuación se muestran dos formas de representa ésta estructura. el diagrama tendrá gran dificultad en la lectura.

[Joyanes] Desarrollado por: Andrey Julián Rentería Scarpetta Este documento impreso se considera COPIA NO CONTROLADA Versión 2.0 F08 – 9227 – 040 Página 20 de 20 . ninguna cumpla con la comparación. para estos casos se puede optar en no realizar ningún procedimiento.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. Algoritmos y Estructuras de Datos. ó colocar un condición en la cual se evalúe esa condición Tomado con fines educativos de: Fundamentos de Programación.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->