Diagrama de Flujo

Es un grafico lógico del plan de trabajo que se ejecutara para la solución de un determinado problema. A través de él, se planifica la solución del problema independiente del lenguaje de computación a usar.

Las capacidades humanas necesarias para elaborar un diagrama de flujo correcto son: Lógico, Prácticas, y Atención.

El empleo de la maquina en las funciones del procediendo de datos han hecho necesario un flujo ordenado de la información. La secuencia en que deberán ejecutarse las operaciones tendrá que definirse claramente, y cuando se combine con los datos a los que debe aplicarse, esa secuencia creara el flujo de información.

No puede hacerse mucho hincapié en documentación, ósea el registro de Información .Sin Instrucciones escritas y sin representación grafica del flujo de trabajo sería muy difícil de llevar una tarea de procediendo de datos en forma apropiada. Hay varios métodos más eficientes organizados y normalizados, es el de los diagramas de Flujo que el Futuro programador comprenda la necesidad de los diagrama de flujo.

Características de los flujogramas

  • De uso, permite facilitar su empleo.

  • De destino, permite la correcta identificación de actividades.

  • De comprensión e interpretación, permite simplificar su comprensión.

  • De interacción, permite el acercamiento y coordinación.

  • De simbología, disminuye la complejidad y accesibilidad.

  • De diagramación, se elabora con rapidez y no requiere de recursos sofisticados.

SIMBOLOGÍA DE LOS DIAGRAMAS DE FLUJO

Las diversas organizaciones usan distintos símbolos, pero el comité sobre computadoras y procesadores de información de la Asociación Norteamericana de Normas ha hecho un gran esfuerzo para normalizar los símbolos de los diagramas de flujo. Esa normalización permite comprender cualquier diagrama de flujo que use los símbolos recomendados.

Cada símbolo normal de diagrama de flujo tiene un significado especial.

Monografias.com

Expresa Inicio o Fin de un Programa.

Monografias.com

Expresa operación algebraica o de Asignación.

Monografias.com

Expresa condiciones y asociaciones alternativas de una decisión lógica.

 

Monografias.com

Expresa condición y acciones alternativas de una decisión numérica.

Monografias.com

Entrada / Salida: Representa cualquier tipo de Fuente de entrada y salida

Monografias.com

Entrada: Lectura de datos por tarjeta perforadas.

Monografias.com

Conector dentro de página.

Monografias.com

Representa resultado mediante un reporte impreso

Monografias.com

Conector fuera de página.

Monografias.com

Expresa operación cíclica repetitiva.

Monografias.com

Expresa proceso de llamada a una subalterna.

Monografias.com

Representa datos grabados en una cinta magnética.

Monografias.com

Almacenamiento en línea Disco Magnético.

Tipos de Diagramas de flujo

Hay varios tipos distintos de flujogramas que pueden usarse.

  • Flujograma de primer nivel o de dirección descendente.

Un flujograma de primer nivel muestra los pasos principales de un proceso y puede incluir también los resultados intermedios de cada paso (el producto o servicio que se produce) y los subpasos correspondientes. Este tipo de flujograma se usa por lo general para obtener un panorama básico del proceso e identificar los cambios que se producen en el proceso. Es sumamente útil para identificar los miembros correctos para el equipo (aquellas personas que participan en el proceso) y para elaborar indicadores para observar y seguir el proceso por su concentración en los resultados intermedios.

 

Monografias.com

La mayoría de los procesos pueden graficarse en 4 ó 5 recuadros que representan los principales pasos o actividades del proceso. En realidad, es buena idea usar solamente 4 ó 5 recuadros, porque no obliga a tener en cuenta los pasos más importantes. Los demás pasos son normalmente subpasos de los más importantes.

  • Flujograma de segundo nivel o detallado

Un flujograma detallado indica los pasos o actividades de un proceso e incluye, por ejemplo, puntos de decisión, períodos de espera, tareas que se tienen que volver a hacer con frecuencia (repetición de tareas o tareas duplicadas) y ciclos de retroalimentación. Este tipo de diagrama de flujo es útil para examinar áreas del proceso en forma detallada y para buscar problemas o aspectos ineficientes.

Monografias.com

  • Flujograma de ejecución o matriz

Un flujograma de ejecución representa en forma gráfica el proceso en términos de quién se ocupa de realizar los pasos. Tiene forma de matriz e ilustra los diversos participantes y el flujo de pasos entre esos participantes. Es muy útil para identificar quién proporciona los insumos o servicios a quién, así como aquellas áreas en las que algunas personas pueden estar ocupándose de las mismas tareas.

Monografias.com

REGLAS PARA ESTRUCTURAR UN DIAGRAMA DE FLUJO

  • El sentido de un diagrama de flujo generalmente es de arriba hacia abajo.

  • Es un símbolo solo puede entrar una flecha de flujo si varias líneas se dirigen al mismo símbolo, se deben unir en una sola flecha.

Monografias.com

  • Las líneas de flujo no deben cruzarse, para evitar los cruces se utilizan los conectores.

  • De un símbolo excepto el de decisión, solo puede salir una línea de flujo.

  • Los símbolos Terminal, Conector dentro de página y conector fuera de página solo pueden estar conectados al diagrama por una sola flecha, ya que por su naturaleza es imposible que tenga una entrada y una de salida.

  • Los émbolos de decisión tendrán siempre una sola flecha de entrada y dos o tres flechas de salida según la cantidad de alternativas que se presentan.

Un diagrama de flujo debe estar complemente cerrado, teniendo una continuidad de principio a fin, no pueden quedar flechas en el aire ni símbolos sin conexión al diagrama pues el flujo seria interrumpido.

Ejercicios de diagrama de flujo

01) Búsqueda de un elemento en un conjunto:

_ se sabe que el elemento está

_ no se sabe si el elemento está

Problema: Buscar una carta

Se tiene un mazo de cartas inglesas, el cual no está completo, pero se sabe

que tiene .n. cartas, y está desordenado. Se desea determinar si una carta

determinada está o no en el mazo, y si está, en qué posición

En este caso no sabemos si la carta está o no en el mazo.

Solución usando bandera para señalar que la carta está:

Inicio

Entrada: n % total de cartas en el mazo

Entrada: buscado % carta que quiero buscar

contador _ 1

bandera _ 0

entrada: carta % valor de la carta

mientras (contador < n)

{entrada: carta

contador _ contador +1

si (carta = buscado)

{ bandera _ 1

pos_buscado _ contador

}

}

}

si ( bandera = 0)

{ salida: .la carta no está en el mazo.

}

sino

{ salida: .la carta está en la posición:., contador

}

Fin

Otro algoritmo:

Inicio

Entrada: n % total de cartas en el mazo

Entrada: buscado % carta que quiero buscar

contador _ 1

entrada: carta % valor de la carta

mientras (buscado != carta & contador < n)

{entrada: carta

contador _ contador +1

}

si ( buscado = carta)

{ salida: .la carta está en la posición:., contador

}

sino

{ salida: .la carta no está en el mazo.

}

fin

02) Problema:

Si sabemos que la carta está en el mazo ¿Cómo puede variar los algoritmos

Anteriores? ¿Es mejor el algoritmo en este caso? ¿Por qué?

Problema:

Problema anterior, pero que despliegue un mensaje .encontrado. cada vez

que encuentre la carta, y la cantidad de veces que la ha encontrado hasta

ese momento.

Problema:

Como puede variar el problema si los números se ingresan ordenados.

Problema:

Buscar la carta mayor de un mazo no completo, que tiene .n. cartas.

Indicar la posición en que se encuentra

En este caso, la carta buscada está en el mazo, pero no

sabemos cual es. Debe de todas maneras mirar el mazo hasta

la última carta

Inicio

Entrada: n

Entrada: carta

mayor _ carta

pos_mayor _ 1

contador _ 1

mientras (contador mayor)

{mayor _ carta

pos_mayor _ contador +1

}

contador _ contador +1

}

salida: .La carta mayor es.,mayor

salida: .la posición del mayor es:.,pos_mayor

fin

03) Problema:

Buscar la menor, y la cantidad de veces que esta carta se repite

Problema:

Dada como entrada una hora en formato hh:mm, [24], genere como salida

la misma hora pero en formato hh:mm [am/pm]

Para ello considere:

0 hrs --> 12 pm

1 --> 1 am

12 --> 12 am

13 --> 1 pm

23 --> 11 pm

Problema: factorial

Dado un entero positivo, .n., calcule el factorial de .n.

Inicion

Entrada: n

factorial _ 1

mientras (n > 1)

{ factorial _ factorial * n

n _ n -1

} salida: factorial

fin

Problema: serie de ulam

Dado un valor inicial .x., se pide generar los términos de la serie de Ulam.

Se dice que cualquier número menor que 1800 converge a 1 si se calcula

cada término siguiendo las reglas de la serie de Ulam.

La regla para calcular el término siguiente a .x.es:

_ Si x par, el siguiente término se obtiene dividiendo x por 2

_ Si x es impar, el siguiente término se obtiene multiplicando x por 3 y

sumando 1 al resultado.

Por ejemplo:

x = 45

x_1 = (45*3)+1 = 136

x_2 = (136/2) = 68

x_3 = (68 /2) =34

x_4= (34/2) = 17

x_5 = (17*3)+1 =52

...

26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1

Inicio

Entrada: x

salida: x

mientras (x>1)

{ si (x % 2 =0)

{ x _ x/2

salida: x

}

sino

{ x _ x*3+1

salida: x

}

} fin

04) Diseñar un diagrama de flujo que permita ingresar al usuario un

primer elemento de la serie y luego un segundo elemento de tal manea que

ambos elementos definen un grupo de elementos de la serie(rango) y luego

calcular la suma acumulada de la serie: 1+2+3+4+5+ 6 +...+ n..

Solución.

a).- Se define un Contador (Cont_I) para que defina lado izquierdo de la serie y

Lado_d, lado derecho como segundo elemento de la serie. Ambos elementos

definen un intervalo, bajo el cual se calcula la suma. Asimismo se define el

acumulador (Acum) que va acumulando los valores según como avance el

contador.

b).- La condición de terminación esta controlado por: Cont_I = 100)

{ m100 ____ m100 +1

monto _ monto . 100

} Salida: .

de 100:.

,

m100

Mientras (monto >= 10)

{ m10 ____ m10 +1

monto ____ monto . 10

} Salida: .

de 10:.

,

m10

Salida: .de 1:., monto

Fin

 

Otra solución:

 

Inicio

Entrada: monto

total ____ 0

denominación ____ 1000

Mientras (monto >= 10)

{ Mientras (monto >= denominacion)

{ total ____ total + 1

monto ____ monto . denominacion

} Salida: .

de.

,

denominacion ,

total

total ___ 0

denominacion _ denominacion / 10

} Salida: .

de 1:.

,

monto.

Diagrama de flujo

Esta sección está vacía.

Contacto

Paradigmas de Programación

© 2014 Todos los derechos reservados.