Tema 5 Diagramas de flujo Computacion – FA.CE.NA.
26 Slides281.00 KB
Tema 5 Diagramas de flujo Computacion - FA.CE.NA.
Diagrama de Flujo TEMA5 Diagramas de Flujo. Representación simbólica. Símbolos utilizados. Convenciones. Técnicas de construcción de diagramas. Estructuras básicas. Normas para su representación. Ejemplo. Computacion - FA.CE.NA.
Diagrama de Flujo Tanto en la fase de análisis del problema como durante el diseño del algoritmo, se plantea la necesidad de representar claramente el flujo de operaciones que se han de realizar para su resolución y el orden en que estas operaciones deber ser ejecutadas. Una vez que el algoritmo esté diseñado se debe proceder a representarlo mediante algún método de programación, siendo los más usuales: diagramas de flujo, pseudocódigo, diagramas N-S o Tablas de decisión. Una vez graficado el algoritmo se procede a su escritura en algún lenguaje de programación para su posterior ejecución. Esta representación independiza al algoritmo del lenguaje de programación elegido, permitiendo de esta manera que pueda ser codificado indistintamente en cualquier lenguaje. Computacion - FA.CE.NA.
Diagrama de Flujo Las dos herramientas mas utilizadas comunmente para describir algoritmos son: Diagramas de Flujo: son representaciones gráficas de secuencias de pasos a realizar. Cada operacion se representa mediante un símbolo normalizado el Instituto Norteamericano de Normalizacion (ANSI - American National Standars Institute). Las líneas de flujo indican el orden de ejecución. Los diagramas de flujo suelen ser usados solo para representar algoritmos pequeños, ya que abarcan mucho espacio. Computacion - FA.CE.NA.
Diagrama de Flujo Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma más parecida al lenguaje natural. Presentan la ventaja de ser más compactos que los diagramas de flujo, más fáciles de escribir para las instrucciones complejas y más fáciles de transferir a un lenguaje de programación. El pseudocódigo no está regido por ningún estándar. Algunas palabras usadas son LEER/IMPRIMIR para representar las acciones de lectura de datos y salida de datos. Calcular una altura en pulgadas (1 pulgada 2.54 cm) y pies (1 pie 12 pulgadas), a partir de la altura en centímetros, que se introduce por el teclado. Inicio 1- IMPRIMIR 'Introduce la altura en centimetros: ' 2- LEER: altura 3- CALCULAR pulgadas altura 2:54 4- CALCULAR pies pulgadas 12 5- IMPRIMIR 'La altura en pulgadas es: ', pulgadas 6- IMPRIMIR 'La altura en pies es : ', pies Fin Computacion - FA.CE.NA.
Diagrama de Flujo El uso de diagramas de flujo como herramienta de programación tiene beneficios que resumidamente se detallan: Rápida comprensión de las relaciones Se pueden usar como modelos de trabajo para el diseño de nuevos programas Documentación adecuada de los programas Produce una codificación eficaz en los programas Depuración y pruebas ordenadas de programas Fácil de traducir a cualquier lenguaje de programación. Computacion - FA.CE.NA.
Diagrama de Flujo 5. 2 Representacion Simbólica Los símbolos estándar han sido normalizados por ANSI (American National Standards Institute), IBM, IRAM (Instituto Racionalizador Argentino de Materiales) y son muy variados. Computacion - FA.CE.NA.
SIMBOLOS FUNCION Represena el Fin y Comienzo del diagrama Entrada /salida - Cualquier tipo de introducción de datos en la memoria desde los periféricos de entrada o registro de la información procesada en un periféric o de salida (no interesa el soporte) Operación o proceso - acciones a realiz ar(sumar dos números, calcular raíz cuadrada, asignaciones, etc.Subrutina - l amada a un subprograma que es un módulo independiente del programa principal que realiza una determinada tarea y regresa a la siguiente instrucción de donde fue l amada. Si ? No Decisión - operaciones lógicas o de compración entre datos y en función del resultado determina cual de los dos distintos caminos alternativ os del programa se debe seguir. Normalmente tiene dos respuestas SI o NO Conector - enlaza dos partes cualesquiera del diagrama mediante un conector de salida y otro de entrada. Siempre dentro de la misma página Línea de FLujo - indica el sentido de la ejecución de las operaciones Conector - idem al conector anterior pero usando distitnas páginas Teclado - introducción manual de datos desde el teclado Impresora - salida de datos en forma impresa Dis co Magnético - para lectura o grabación de datos Pantalla - Entrada / Salida de datos por pantalla Cinta Magnética - para lectura o grabación de datos Dis quete o dis co flexible - para lectura o grabación de datos CD - Disco Compacto - para lectura o grabación de datos Computacion - FA.CE.NA.
Diagrama de Flujo 5.3 Tecnicas de construccion de diagramas 5.3.1 Estructuras Básicas Las estructuras básicas son las tres siguientes: Secuencia Alternativa o Selectiva Iteración o Repetitiva Computacion - FA.CE.NA.
Diagrama de Flujo 5.3 Tecnicas de construccion de diagramas 5.3.1 Estructuras Básicas Secuencia Alternativa o Selectiva Iteración o Repetitiva Se compone de un grupo de acciones que se realizan todas y en el orden en que están escritas, sin posibilidad de omitir ninguna de ellas. Las tareas se suceden de forma tal que la salida de una de ellas es la entrada de la siguiente y así sucesivamente hasta el final del proceso. Computacion - FA.CE.NA.
Diagrama de Flujo 5.3 Tecnicas de construccion de diagramas 5.3.1 Estructuras Básicas Secuencia Alternativa o Selectiva Iteración o Repetitiva Permite la selección entre dos grupos de acciones dependiendo de que una determinada condición se cumpla o no. Estas estructuras se utilizan para tomar decisiones lógicas; por ello recibe también el nombre de estructuras de decisión o alternativas o condicional. Las condiciones que se especifican usan expresiones lógicas y usan la figura geométrica en forma de rombo. Estas estructuras pueden ser: Simples o dobles. Computacion - FA.CE.NA.
Diagrama de Flujo 5.3 Tecnicas de construccion de diagramas 5.3.1 Estructuras Básicas Secuencia Alternativa o Selectiva Iteración o Repetitiva Simple: Solo obliga a realizar acciones si se cumple la condición. El “no cumplimiento” de la condición implica que no se realizará ninguna acción. Doble: El cumplimiento o no de la condición lógica obliga a la ejecución de diferentes grupos de acciones. NO Condicion SI NO Accion Condicion SI Accion Accion Computacion - FA.CE.NA. 1 2
Diagrama de Flujo 5.3 Tecnicas de construccion de diagramas 5.3.1 Estructuras Básicas Secuencia Alternativa o Selectiva Iteración o Repetitiva Estructura de elección entre varios casos Este tipo de estructura permite decidir entre varios caminos posibles, en función del valor que tome una determinada instrucción. Computacion - FA.CE.NA.
Diagrama de Flujo 5.3 Tecnicas de construccion de diagramas 5.3.1 Estructuras Básicas Secuencia Alternativa o Selectiva Iteración o Repetitiva Permite repetir una o varias instrucciones un número determinado de veces que vendrá determinado por una condición. Esta condición se conoce como condición de salida. A estos tipos de estructuras se las conoce también con el nombre de bucles o rulos y al hecho de repetir la ejecución de acciones se llama iteración. Computacion - FA.CE.NA.
Diagrama de Flujo 5.3 Tecnicas de construccion de diagramas 5.3.1 Estructuras Básicas Secuencia Alternativa o Selectiva Iteración o Repetitiva HACER MIENTRAS: Se caracteriza porque la condición de salida del bucle está situada al comienzo del mismo, es decir las acciones la hace mientras se cumple determinada condición. Cuando se ejecuta una estructura de este tipo, lo que primero se hace es evaluar la condición, si la misma es falsa no se realiza ninguna acción. Si la condición resulta verdadera entonces se ejecuta el cuerpo del bucle (acciones de la Figura). Este mecanismo se repite mientras la condición sea verdadera. Condicion Se hace notar que en este tipo de estructura las acciones pueden no ejecutarse ninguna vez. Computacion - FA.CE.NA. Si Acciones No
Diagrama de Flujo 5.3 Tecnicas de construccion de diagramas 5.3.1 Estructuras Básicas Secuencia Alternativa o Selectiva Iteración o Repetitiva HACER HASTA: Se caracteriza porque la condición que controla la realización de las acciones del bucle está al final del mismo. En este tipo de iteración las acciones se repiten mientras la condición sea falsa, lo opuesto a la estructura hacer mientras. Este tipo de bucle se usa para situaciones en las que se desea que un conjunto de instrucciones se ejecute al menos una vez antes de comprobar la condición de iteración. La figura muestra la gráfica correspondiente. Acciones Condicion Computacion - FA.CE.NA. SI No
Diagrama de Flujo 5.3 Tecnicas de construccion de diagramas 5.3.1 Estructuras Básicas Secuencia Alternativa o Selectiva Iteración o Repetitiva Se puntualizan algunas diferencias entre estas dos estructuras: La estructura mientras termina cuando la condición es falsa, en cambio la estructura hasta termina cuando la condición es verdadera. En la estructura hasta el cuerpo del bucle se ejecuta siempre al menos una vez, en cambio en la estructura mientras permite que el cuerpo del bucle nunca se ejecute. Acciones Condicion No Si Condicion Acciones Computacion - FA.CE.NA. SI No
Diagrama de Flujo 5.4 Normas para su representación Para confeccionar un diagrama de flujo, es aconsejable respetar las siguientes reglas: Todo diagrama de flujo debe indicar claramente donde comienza (INICIO o COMENZAR) y donde termina (FIN o PARAR). El orden en que deben escribirse los símbolos es de arriba abajo y de izquierda a derecha. Es aconsejable emplear un símbolo para cada acción. Dentro de los símbolos no especificar instrucciones propias de algún lenguaje de programación. La secuencia se indica mediante flechas o líneas de conexión (horizontales / verticales), las cuales deben ser siempre rectas, no se deben cruzar ni deben estar inclinadas. Computacion - FA.CE.NA.
Diagrama de Flujo 5.4 Normas para su representación A todos los símbolos (excepto al INICIO), les debe llegar una línea de conexión. De todos los símbolos, excepto FIN y el de DECISIÓN, debe salir una sola línea de conexión. Es aconsejable usar conectores cuando las líneas de conexión entre operaciones no adyacentes son muy largas, pero hay que tener en cuenta que el uso exagerado de conectores dificulta el entendimiento. Cuando trabajamos con operaciones lógicas recurrir preferentemente a la lógica positiva antes que a la lógica negativa. Es más claro decir si A B, en vez de: si no es A B El diagrama de flujo deberá ser lo mas claro posible de forma tal que cualquier otro programador pueda seguirlo o usarlo con total facilidad de entendimiento. El diagrama de flujo en conjunto debe guardar una cierta simetría. Computacion - FA.CE.NA.
Diagrama de Flujo Ejemplo Necesitamos hacer números enteros. un programa que multiplique Sabemos que “5 x 3 15″ es lo mismo que “5 5 5 15”. Variables multiplicando: entero (nos indica el número que vamos a sumar) multiplicador: entero (nos indica el número de veces que lo vamos a sumar) resultado: entero (en esta variable asignaremos el resultado) indice: entero (nos indicara el número de veces que el número se ha sumado) Computacion - FA.CE.NA. dos
Diagrama de Flujo Ejemplo Necesitamos hacer un programa que multiplique dos números enteros. Algoritmo 1) Asignamos el número 5 a multiplicando 2) Asignamos el número 3 a multiplicador 3) Asignamos el número 0 a resultado 4) Asignamos el número 0 a indice 5) Sumamos multiplicando y resultado 6) Asignamos a resultado la suma 7) Incrementamos 1 a indice 8) Mientras indice sea menor a multiplicador regresamos al paso 5 de lo contrario continua 9) Muestra el resultado 10) Finalizar Tenemos que inicializar cada variable de nuestro algoritmo, como se muestra en los Computacion - FA.CE.NA. primeros cuatro pasos.
Diagrama de Flujo Ejemplo Necesitamos hacer un programa que multiplique dos números enteros. El siguiente paso es Prueba de escritorio La prueba de escritorio es la ejecución manual de nuestro algorítmo Ponemos a prueba nuestro algoritmo y nos mostrara si tenemos errores (por lo que tendremos que modificar el algoritmo) o si esta bien diseñado. Básicamente es el registro de las variables. Siguiendo paso a paso nuestro algoritmo, obtendremos la siguiente tabla. Computacion - FA.CE.NA.
Diagrama de Flujo Ejemplo Necesitamos hacer números enteros. Multiplicado 5 Multiplicador 3 un programa Resultado 0 5 10 15 Indice 0 1 2 que multiplique dos 3 Vemos que el ultimo registro de la variable resultado, es 15, por lo que nuestro algoritmo esta funcionando correctamente. Podemos probar con otros número. Computacion - FA.CE.NA.
Diagrama de Flujo Ejemplo Necesitamos hacer números enteros. un programa que multiplique dos Diagramas de flujo Una vez que hemos probado muestro algoritmo con la prueba de escritorio y el resultado es el correcto, podemos seguir a diseñar el diagrama de flujo. Cada paso de nuestro algoritmo en un procedimiento y se representan con un rectángulo. (Podemos agrupar varios procedimientos en un solo rectángulo, pero no es lo indicado) Cada condición como el paso número 8 se representa con un rombo. Este será el diagrama de flujo de nuestro algoritmo. Computacion - FA.CE.NA.
Diagrama de Flujo Ejemplo Necesitamos hacer un programa que multiplique dos números enteros. 1. Inicio 2. multiplicando 5 3. multiplicador 3 4. resultado 0 5. indice 0 6. do 7. resultado resultado multiplicando 8. indice indice 1 9. mientras indice multiplicador 10. imprime resultado 11. finalizar Un programa lo podemos dividir en bloques, por ejemplo; de la línea 6 a la 9 es un bloque, y para identificar cada bloque en el código lo podemos escribir después de unos espacios y así identificar ciertos procesos. Esto nos sirve para en códigos muy grandes. Computacion - FA.CE.NA.
Diagrama de Flujo Ejemplo Y finalmente nos pasamos a la computadora y escribimos el código en algun lenguaje de programacion, en nuestro caso C. Pseudocódigo y Código El pseudocódigo es el siguiente paso de nuestro programa, y es la representación (escrita con nuestras propias palabras) del algoritmo. Inicio multiplicando 5 multiplicador 3 resultado 0 indice 0 si indice multiplicador entonces resultado resultado multiplicando indice indice 1 fin si mostrar resultado Fin Computacion - FA.CE.NA.