Diagramas+de+flujo

Los diagramas de flujo son una manera de representar visualmente el flujo de datos a travéz de sistemas de tratamiento de información. Los diagramas de flujo describen que operaciónes y en que secuencia se requieren para solucionar un problema dado. Un diagrama de flujo u organigrama es una representación diagramática que ilustra la secuencia de las operaciones que se realizarán para conseguir la solución de un problema. Los diagramas de flujo se dibujan generalmente antes de comenzar a programar el código frente a la computadora. Los diagramas de flujo facilitan la comunicación entre los programadores y la gente del negocio. Estos diagramas de flujo desempeñan un papel vital en la programación de un problema y facilitan la comprensión de problemas **complicados** y sobre todo **muy largos**. Una vez que se dibuja el diagrama de flujo, llega a ser fácil escribír el programa en cualquier idióma de alto nivel. Vemos a menudo cómo los diagramas de flujo nos dan ventaja al momento de explicar el programa a otros. Por lo tanto, está correcto decir que un diagrama de flujo es una necesidad para la documentación mejor de un programa complejo. Los Diagramas de flujo se dibujan generalmente usando algunos símbolos estándares; sin embargo, algunos símbolos especiales pueden también ser desarrollados cuando séan requeridos. Algunos símbolos estándares, que se requieren con frecuencia para diagramar programas de computadora se muestran a continuación: ||  **Observación**: Para obtener la correcta elaboración de los símbolos, existen plantillas. Las puedes conseguir en Papelerías. **Simbolos gráficos** Dentro de los simbolos fundamentales para la creaación de diagramas de flujo, los símbolos gráficos son utilizádos especificamente para para operaciónes aritméticas y relaciónes condicionales. La siguiente es una lista de los símbolos más comunmente utilizados: **Reglas para la creacion de Diagramas** **Ejemplos de diagramas de flujo** Diagrama de flujo que encuentra la suma de los primeros 50 numeros naturales
 * Introducción.**
 * Reglas para dibujar un diagramas de flujo.**
 * Inicio o fin del programa ||
 * [[image:http://www.mis-algoritmos.com/images/stories/flowcharting/steps.jpg width="121" height="51"]] || Pasos, procesos o líneas de instruccion de programa de computo ||
 * [[image:http://www.mis-algoritmos.com/images/stories/flowcharting/input-output.jpg width="121" height="51"]] || Operaciones de entrada y salida ||
 * [[image:http://www.mis-algoritmos.com/images/stories/flowcharting/decision.jpg width="121" height="51"]] || Toma de desiciónes y Ramificación ||
 * [[image:http://www.mis-algoritmos.com/images/stories/flowcharting/conector.jpg width="121" height="51"]] || Conector para unir el flujo a otra parte del diagrama ||
 * [[image:http://www.mis-algoritmos.com/images/stories/flowcharting/magnetic.jpg width="121" height="51"]] || Cinta magnética ||
 * [[image:http://www.mis-algoritmos.com/images/stories/flowcharting/magnetic%20disc.jpg width="121" height="51"]] || Disco magnético ||
 * [[image:http://www.mis-algoritmos.com/images/stories/flowcharting/conector-off-page.jpg width="121" height="51"]] || Conector de pagina ||
 * [[image:http://www.mis-algoritmos.com/images/stories/flowcharting/arrows.jpg width="121" height="51"]] || Líneas de flujo ||
 * [[image:http://www.mis-algoritmos.com/images/stories/flowcharting/anotation.jpg width="121" height="51"]] || Anotación ||
 * [[image:http://www.mis-algoritmos.com/images/stories/flowcharting/display.jpg width="121" height="51"]] || Display, para mostrar datos ||
 * [[image:http://www.mis-algoritmos.com/images/stories/flowcharting/Display-print.jpg width="121" height="51"]] || Envía datos a la impresora ||
 * + || Sumar ||
 * - || Menos ||
 * * || Multiplicación ||
 * / || División ||
 * ± || Mas o menos ||
 * = || Equivalente a ||
 * > || Mayor que ||
 * < || Menor que ||
 * ³ || Mayor o igual que ||
 * £ || Menor o igual que ||
 * ¹ o <> || Diferente de ||
 * || Si ||
 * || No ||
 * || True ||
 * || False ||
 * 1) Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a derecha.
 * 2) Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica la dirección que fluye la información procesos, se deben de utilizar solamente líneas de flujo horizontal o verticales (nunca diagonales).
 * 3) Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del diagrama a un sitio distinto, se pudiera realizar utilizando los conectores. Se debe tener en cuenta que solo se vana utilizar conectores cuando sea estrictamente necesario.
 * 4) No deben quedar líneas de flujo sin conectar
 * 5) Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el uso de muchas palabras.
 * 6) Todos los símbolos pueden tener más de una línea de entrada, a excepción del símbolo final.
 * 7) Solo los símbolos de decisión pueden y deben tener mas de una línea de flujo de salida.

Bueno, y ahora la descripción del diagrama anterior

 * Suma**, es la variable a la que se le va agregando la valor de cada número natural. **N**, es el contador. Éste recorrerá lo números hasta llegar al 50.
 * El primer bloque indica el inicio del Diagrama de flujo [[image:http://mis-algoritmos.com/images/diagrama-descripcion/1.jpg caption="Inicio del Diagrama de flujo"]]
 * El segundo bloque, es un **Símbolo de procesos** [[image:http://mis-algoritmos.com/images/diagrama-descripcion/2.jpg caption="Bloque de proceso"]] En este bloque se asume que las variables **suma** y **N** han sido declaradas previamente y las inicializa en 0 para comenzar a el conteo y la suma de valores ( Para declararlas existe el bloque **Tarjeta perforada** ).
 * El tercer bloque, es también un **Símbolo de procesos** [[image:http://mis-algoritmos.com/images/diagrama-descripcion/3.jpg caption="Bloque de procesos"]] En éste paso se incrementa en 1 la variable **N** (N = N + 1). Por lo que, en la primera pasada esta N valdrá 1, ya que estaba inicializada en 0.
 * El cuarto bloque es exactamente lo mismo que el anterior [[image:http://mis-algoritmos.com/images/diagrama-descripcion/4.jpg caption="Bloque de procesos"]] Pero en éste, ya se le agrega el valor de N a la variable que contendrá la suma ( En el primer caso contendrá 1, ya que **N = 1** ).
 * El quinto bloque es uno **Símbolo de Toma de decisiones y Ramificación** Lo que hay dentro del bloque es una pregunta que se le hace a los valores que actualmente influyen en el proceso ( Por decir algo, no se como decirlo, soy muy sope :D ) [[image:http://mis-algoritmos.com/images/diagrama-descripcion/5.jpg caption="Símbolo de toma de desiciónes y Ramificación"]] **¿Es N=50?**, Obviamente la respuesta es **no**, ya que N todavía es 1. por lo que el flujo de nuestro programa se dirigirá hacía la parte en donde se observa la palabra no: //Tercer Bloque//, éste le sumará 1 ( N=N+1 ) y vuelve a llegar a éste bloque, donde preguntará **¿Es N=50?**... ¡No!, todavía es 2. Ha pues, regresa al Tercer bloque y vuelve hacer lo mismo. Y así hasta llegar a 50, obteniendo así la suma de los primeros 50 primeros números naturales.
 * Por último indicamos que el resultado será mostrado en la impresora ( Este lo puedes cambiarlo por el display para mostrar datos ). [[image:http://mis-algoritmos.com/images/diagrama-descripcion/6.jpg caption="Bloque de Display"]]
 * Fin del programa (o diagrama) [[image:http://mis-algoritmos.com/images/diagrama-descripcion/7.jpg caption="Fin del diagrama"]]