Diagrama de Flujo
Mis aficiones
Mis enlaces favoritos
Diagrama de Flujo

Imagen
 
Diagrama de Flujo
INTRODUCCION


Los diagramas de flujo son una serie de pasos secuenciales que representan de una manera tradicional los detalles algorítmicos de los procesos. Se utilizan principalmente en programación, economía y procesos industriales; dichos diagramas una nomenclatura simbólica con significados especiales.

En las representaciones gráficas de procesos con símbolos, estos se interconectan para que en conjunto le den un sentido lógico al diagrama de flujo el cual da pie al desarrollo de un sistema de información.

Puede ser difícil entender un proceso con una descripción verbal, de esta manera el diagrama de flujos de datos ayuda a ilustrar los componentes de un proceso y la forma en que interactúan.

De igual manera se puede mostrar el diagrama de flujo como un análisis estructurado de la transformación de datos de un sistema, mediante una descripción pictórica.




LOS DIAGRAMAS DE FLUJOS
Un diagrama de flujo es una representación pictórica de un algoritmo o de una parte del mismo, ayudan en la comprensión de la operación de las estructuras de control (Si, Mientras).Útil para determinar como funciona realmente el proceso para producir un resultado. El resultado puede ser un producto, un servicio, información o una combinación de las tres. Al examinar como los diferentes pasos en un proceso se relacionan entre sí, se puede descubrir con frecuencia las fuentes de problemas potenciales. Los diagramas de flujo se pueden aplicar a cualquier aspecto del proceso desde el flujo de materiales hasta los pasos para hacer la venta u ofrecer un producto. Los diagramas de flujos detallados describen la mayoría de los pasos en un proceso. Con frecuencia este nivel de detalle no es necesario, pero cuando se necesita, el equipo completo normalmente desarrollará una versión de arriba hacia abajo; luego los grupos de trabajo más pequeños pueden agregar niveles de detalle según sea necesario durante el proyecto.

Es un esquema para representar gráficamente un algoritmo. Se basan en la utilización de diversos símbolos para representar operaciones específicas. Se les llama diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de operación. Para hacer comprensibles los diagramas a todas las personas, los símbolos se someten a una normalización; es decir, se hicieron símbolos casi universales, ya que, en un principio cada usuario podría tener sus propios símbolos para representar sus procesos en forma de Diagrama de Flujo. Esto trajo como consecuencia que solo aquel que conocía sus símbolos, los podía interpretar. La simbología utilizada para la elaboración de diagramas de flujo es variable y debe ajustarse a un patrón definido previamente.
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, aunque su empleo ha disminuido considerablemente, sobre todo desde la aparición de lenguajes de programación estructurados. Los símbolos estándar normalizados por ANSI (abreviatura de American National Standard Instituto ) son muy variados
Nombre Símbolo Función
Terminal
Representa el inicio y fin de un programa. También puede representar una parada o interrupción programada que sea necesaria realizar en un programa.
Entrada / salida
Cualquier tipo de introducción de datos en la memoria desde los periféricos o registro de información procesada en un periférico.
Proceso


Cualquier tipo de operación que pueda originar cambio de valor, formato o posición de la información almacenada en memoria, operaciones aritméticas, de transformaciones, etc.
Decisión
Indica operaciones lógicas o de comparación entre datos (normalmente dos) y en función del resultado de la misma determina (normalmente si y no) cual de los distintos caminos alternativos del programa se debe seguir
Conector Misma Página
Sirve para enlazar dos partes cualesquiera de un diagrama a través de un conector en la salida y otro conector en la entrada. Se refiere a la conexión en la misma pagina del diagrama
Indicador de dirección o línea de flujo
Indica el sentido de la ejecución de las operaciones
Salida
Se utiliza en ocasiones en lugar del símbolo de salida. El dibujo representa un pedazo de hoja. Es usado para mostrar datos o resultados.

Elabore un algoritmo que dados dos (2) números realicen las 4 operaciones básicas de la aritmética y las muestre por pantalla.





Clasificación por Intercambio Directo (Burbuja).

El método de intercalación directo, conocido coloquialmente con el nombre de la burbuja, es el más utilizado entre los estudiantes de computación, por su fácil compresión y programación. Pero es preciso señalar que es probablemente el método más ineficiente.

El método de intercambio directo puede trabajar de dos maneras diferentes. Llevando los elementos más pequeños hacia la parte izquierda del arreglo o bien llevando los elementos más grandes hacia la parte derecha del mismo.

La idea básica de este algoritmo consiste en comparar pares de elementos adyacentes e intercambiarlos entre sí hasta que todos se encuentran ordenados. Se realizan (n-1) pasadas, transportando en cada una de las mismas el menor o mayor elemento (según sea el caso) a su posición ideal. Al final de las (n-1) pasadas los elementos del arreglo estarán ordenados.



Ventajas:
- Fácil implementación.
- No requiere memoria adicional.

Desventajas:
- Muy lento.
- Realiza numerosas comparaciones.
- Realiza numerosos intercambios.




La búsqueda es el proceso de localizar un registro (elemento) con un valor de llave particular. La búsqueda termina exitosamente cuando se localiza el registro que contenga la llave buscada, o termina sin éxito, cuando se determina que no aparece ningún registro con esa llave.


Búsqueda Secuencial:
A este método tan bien se le conoce como búsqueda lineal y consiste en empezar al inicio del conjunto de elementos, e ir a través de ellos hasta encontrar el elemento indicado ó hasta llegar al final de arreglo.
Este es el método de búsqueda más lento, pero si nuestro arreglo se encuentra completamente desordenado es el único que nos podrá ayudar a encontrar el dato que buscamos

Mejoras en la eficiencia de la búsqueda secuencial:

1) Muestreo de acceso

Este método consiste en observar que tan frecuentemente se solicita cada registro y ordenarlos de acuerdo a las probabilidades de acceso detectadas.

2) Movimiento hacia el frente

Este esquema consiste en que la lista de registros se reorganicen dinámicamente. Con este método, cada vez que búsqueda de una llave sea exitosa, el registro correspondiente se mueve a la primera posición de la lista y se recorren una posición hacia abajo los que estaban antes que el.



3) Transposición

Este es otro esquema de reorganización dinámica que consiste en que, cada vez que se lleve a cabo una búsqueda exitosa, el registro correspondiente se intercambia con el anterior. Con este procedimiento, entre mas accesos tenga el registro, mas rápidamente avanzara hacia la primera posición. Comparado con el método de movimiento al frente, el método requiere mas tiempo de actividad para reorganizar al conjunto de registros . Una ventaja de método de transposición es que no permite que el requerimiento aislado de un registro, cambie de posición todo el conjunto de registros. De hecho, un registro debe ganar poco a poco su derecho a alcanzar el inicio de la lista.

4) Ordenamiento

Una forma de reducir el numero de comparaciones esperadas cuando hay una significativa frecuencia de búsqueda sin éxito es la de ordenar los registros en base al valor de la llave. Esta técnica es útil cuando la lista es una lista de excepciones, tales como una lista de decisiones, en cuyo caso la mayoría de las búsquedas no tendrán éxito. Con este método una búsqueda sin éxito termina cuando se encuentra el primer valor de la llave mayor que el buscado, en lugar de la final de la lista.

El método de búsqueda lineal tiene el inconveniente del consumo excesivo de tiempo en la localización del elemento buscado. Cuando el elemento buscado no se encuentra en el vector, se verifican o comprueban sus n elementos. En los casos en que el elemento se encuentra en la lista, el número podrá ser el primero, el último o alguno comprendido entre ambos. Se puede suponer que el número medio de comprobaciones o comparaciones a realizar es de (n+1)/2 (aproximadamente igual a la mitad del vector).

La búsqueda secuencial o lineal no es el método más eficiente para vectores con un gran número de elementos. En estos casos, el método más idóneo es el de la búsqueda binaria, que presupone una ordenación previa en los elementos del vector. Este caso suele ser muy utilizado en numerosas facetas de la vida diaria.

Búsqueda binaria o dicotómica

La búsqueda binaria utiliza un método de “divide y vencerás” para localizar el valor deseado. Con este método se examina primero el elemento central de la lista; si este es el elemento buscado, entonces la búsqueda ha terminado. En caso contrario se determina si el elemento buscado está en la primera o segunda mitad de la lista y a continuación se repite este proceso, utilizando el elemento central de esa sudlista.
El siguiente paso de la búsqueda se repite el procedimiento en la mitad del arreglo elegido donde se puede encontrar la solución y se repite, resultando en una búsqueda recursiva.

Este método consiste en lo siguiente: comparar el elemento buscado con el elemento situado en la mitad del arreglo, si tenemos suerte y los dos valores coinciden, en ese momento la búsqueda termina. Pero como existe un alto porcentaje de que esto no ocurra, repetiremos los pasos anteriores en la mitad inferior del arreglo si el elemento que buscamos resulto menor que el de la mitad del arreglo, o en la mitad superior si el elemento buscado fue mayor.
La búsqueda termina cuando encontramos el elemento o cuando el tamaño del arreglo a examinar sea cero.
La búsqueda binaria es un método eficiente siempre que el vector esté ordenado. En la práctica esto suele suceder, pero no siempre. Por esta razón la búsqueda binaria exige una ordenación previa del vector; y el almacenamiento de un vector ordenado suele plantear problemas en las inserciones y eliminaciones de elementos (en estos casos será necesario utilizar listas enlazadas o árboles binarios) Para poder medir la velocidad del cálculo del algoritmo de búsqueda binaria se deberán obtener el número de comparaciones que realiza el algoritmo.



CONCLUSION

A diario en la vida cotidiana cada vez que necesitamos realizar un proceso seguimos una serie de pasos que nos llevan a culminar un producto, de igual manera cuando estamos frente un sistema observamos que debemos seguir una serie de pasos para interactuar con el, todos estos pasos tantos internos como externo se descomponen en algoritmos que si los representamos gráficamente construiríamos una serie de Diagraman de Flujos, es por ello que podemos afirmar con certeza que los Diagramas de Flujos nos sirve para representar gráficamente los procesos o funciones en que se descompone el sistema, muestra las fuentes y destinos de datos, identifica y da los nombres a los procesos que lleva a cabo. Identifica y da nombre a los grupos de datos de datos que relaciona una función con otra y señala los almacenes y a los que tiene acceso.
Cabe destacar, que el lenguaje utilizado para especificar la función del diagrama de flujo, no es mas que el lenguaje que utilizamos diariamente, pero adoptando ciertos verbos y frases imperativas, para describir de manera exacta y precisa lo que se quiere realizar.

RECOMENDACIONES


- Inicialmente se recomienda que antes de elaborar un diagraman de flujo se debe tener claro el significado de la simbología a utilizar.

- Los diagramas de Flujos son recomendables para algoritmos no muy grandes ni muy complejos, pues para este caso se tornaría complejo y engorroso

- Cuando se este en frente de un problema el cual se le quiere dar solución algorítmica, lo primordial seria entenderlo y fraccionarlo en sub. problemas que se podrían resolver más fácilmente.

- Cuando estemos frente a la necesitad de realizar una búsqueda se recomienda utilizar los algoritmos aquí descritos, ya que estos algoritmos definidos que facilitarían el trabajo del programador y aceleraría la culminaron del producto.

BIBLIOGRAFIA

- Fundamentos de Programación. Algoritmos, estructuras de datos y objetos. Tercera Edición.


Referencias Electrónicas
- www.itlp.edu.mx/publica/tutoriales/estru1/18.htm



















 
.
Escríbeme
Me interesa tu opinión