Está en la página 1de 17

ALGORITMOS Y DIAGRAMACION

Algoritmo y diagrama de flujo son dos tipos de herramientas usadas para explicar
el proceso de un programa. Esta página amplía las diferencias entre un algoritmo y
un diagrama de flujo, y cómo crear un diagrama para explicar un algoritmo de
forma visual.

Algoritmo y diagrama de flujo son dos tipos de herramientas usadas para crear
nuevos programas, especialmente en programación de computadores. Un
algoritmo es un análisis paso a paso del proceso, mientras un diagrama de flujo
explica los pasos de un programa de forma gráfica.

Índice del contenido


 Parte 1Definición de Algoritmo
 Parte 2Definición de Diagrama de Flujo
 Parte 3Diferencia entre un Algoritmo y un Diagrama de Flujo
 Parte 4Tipos de Algoritmos
 Parte 5Cómo Usar un Diagrama de Flujo Para Representar Algoritmos
 Parte 6Conclusión

Parte1: Definición de Algoritmo


Escribir un método lógico paso a paso para resolver los problemas es llamado
algoritmo, en otras palabras, un algoritmo es un proceso para resolver problemas.
Para resolver un problema matemático o de computador, este es el primer paso del
procedimiento. Un algoritmo incluye cálculos, razonamiento y procesamiento de
datos. Por lo tanto,la definición de algoritmo puede ser representados en
lenguaje natural, pseudocódigo y diagramas de flujo entre otros.

Parte2: Definición de Diagrama de Flujo


Un diagrama de flujo es una representación gráfica o pictórica de un algoritmo
con la ayuda de diferentes símbolos, formas y líneas de flujo para demostrar el
proceso del programa. Con algoritmos, fácilmente podemos entender un
programa. El propósito principal del diagrama de flujo es analizar los diferentes
procesos. Muchos gráficos estándar son usados en un diagrama de flujo:

 Terminal - Inicio / Final


 Entrada / Salida

 Proceso / Introducción

 Decisión

 Conector / línea de flujo

Los gráficos anteriores representan las diferentes partes de un diagrama de flujo. El


proceso puede ser expresado mediante cajas y líneas de flujo de diferentes
tamaños y colores. En un diagrama de flujo, podemos fácilmente resaltar cierto
elemento y las relaciones entre cada parte.

Parte3: Diferencia entre un Algoritmo y un


Diagrama de Flujo
Si comparamos un diagrama de flujo con una película, entonces el algoritmo es la
historia de esa película. En otras palabras, un algoritmo es el núcleo de un
diagrama de flujo. De hecho, en el campo de la programación de computadores,
hay muchas diferencias entre un algoritmo y un diagrama de flujo respecto a varios
aspectos, tales como la exactitud, la manera en que se representan, y la forma en la
que las personas se sienten con ellos. La siguiente tabla ilustra la diferencia entre
ellos en detalle.

Algoritmo Diagrama de Flujo


Es un procedimiento para resolver Es la representación gráfica de un proceso.
problemas.
El proceso se muestra con El proceso se muestra en un diagrama de
instrucciones paso a paso. información bloque a bloque.
Es complejo y difícil de entender. Es intuitivo y fácil de entender.
Es conveniente para depurar errores. Es difícil depurar errores.
La solución es mostrada en lenguaje
La solución es presentada en formato pictórico.
natural.
Es más fácil resolver problemas
Es difícil para resolver problemas complejos.
complejos.
Cuesta más tiempo crear un algoritmo. Cuesta menos tiempo crear un diagrama de flujo.
Parte4: Tipos de Algoritmos
No es de sorprender que los algoritmos sean ampliamente usados en la
programación de computadores. Sin embargo, se puede aplicar en la resolución de
problemas matemáticos e incluso en la vida diaria. Aquí viene una pregunta:
¿cuantos tipos de algoritmos hay? De acuerdo con el Dr. Christoph Koutschan, un
científico informático trabajando en el Instituto de Investigación de Computación
Simbólica (RISC) en Austria ha llevado encuestas y votaciones acerca de los tipos
importantes de algoritmos. Como resultado, ha listado 32 tipos de importantes de
algoritmos en ciencias de computación. A pesar de la complejidad de los
algoritmos, generalmente podemos dividir los algoritmos en 6 tipos fundamentales
basados en su función.

1. Algoritmo Recursivo

Se refiere a la forma de resolver problemas dividiéndolos repetidamente en


problemas más pequeños. El ejemplo clásico de usar un algoritmo recursivo para
resolver problemas es la Torre de Hanói.

2. Algoritmo Divide y Vencerás

Tradicionalmente, El algoritmo divide y vencerás consiste en dos partes: 1.


dividiendo un problema en sub problemas independientes más pequeños del
mismo tipo; 2. encontrar la solución final del problema original después de resolver
estos pequeños problemas por separado.

Las claves del algoritmo para dividir y conquistar son:

 Si puedes encontrar el sub problema repetido y el bucle de la estructura del


problema original, podrías fácilmente cambiar el problema original en
problemas más pequeños y simples.
 Intenta dividir toda la solución en varios pasos (diferentes pasos requieren
diferentes soluciones) para hacer el proceso más fácil.
 ¿Los sub problemas son fáciles de resolver? De no ser así, el problema
original podría costar mucho tiempo.

3. Algoritmo de Programación Dinámica

Desarrollado por Richard Bellman en 1950, el algoritmo de programación dinámica


es usado generalmente para la optimización de problemas. En este tipo de
algoritmo, los resultados anteriores son recolectados para su uso en el futuro.
Similar al algoritmo de divide y vencerás, un algoritmo de programación dinámica
simplifica un problema complejo al dividirlo en problemas más simple. Sin
embargo, la mayor diferencia entre ellos es que éste último requiere la
superposición de sub problemas, mientras que en el otro no es necesario.

4. Algoritmo Voraz

Este es otra forma de resolver problemas de optimización del algoritmo voraz. Se


refiere a encontrar siempre la mejor solución en cada paso, en lugar de considerar
la optimización general. Es decir, lo que hace es optimizar solo localmente. Debido
a las limitaciones del algoritmo voraz, se tiene que tomar en cuenta que la clave
para seleccionar el algoritmo voraz es considerar cualquier consecuencia en el
futuro.

5. Algoritmo de Fuerza Bruta

El algoritmo de fuerza bruta es una solución sencilla al problema, normalmente


basado en la descripción del problema y en la definición del concepto involucrado.
Puedes usar la expresión "solo hazlo" para describir la estrategia de la fuerza bruta.
En pocas palabras, el algoritmo de fuerza bruta es considerado como uno de los
algoritmos más simples, el cual itera todas las posibilidades y termina con una
solución satisfactoria.

6. Algoritmo Vuelta Atrás

Basado primero en la profundidad de una búsqueda recursiva, el algoritmo de


vuelta atrás se enfoca en encontrar la solución al problema durante el proceso de
búsqueda de enumeración. Cuando no puede satisfacer la condición, "Vuelve atrás"
e intenta otro camino. Es apropiado para resolver problemas largos y complicados,
el cual gana reputación de "método de solución general". Uno de los ejemplos de
algoritmo de vuelta atrás más famoso, es el del rompecabezas de las ocho reinas.
Parte5: Cómo Usar un Diagrama de Flujo Para
Representar Algoritmos
Ahora que tenemos la definición de algoritmos y diagramas de flujo, ¿cómo
Podemos crear un diagrama de flujo para representar un algoritmo? Para crear
un algoritmo, necesitamos descargar un software de EdrawMax.

Los algoritmos son principalmente usados para matemáticas y programas


informáticos, mientras que, los diagramas de flujo pueden usarse para describir
toda clase de procesos: negocios, educación, personal y por supuesto algoritmos.
Así los diagramas de flujos son usados comúnmente como una herramienta de
planeación para organizar visualmente los procesos paso a paso de un programa.
Aquí tienes Unos ejemplos:

Ejemplo 1: Imprimir del 1 al 20:

Algoritmo:

Paso 1: Inicializar X como 0,

Paso 2: Incrementar X por 1,

Paso 3: Imprimir X,

Paso 4: Si X es menor a 20 entonces vuelve al paso 2.

Diagrama de Flujo:
Ejemplo 2: Convertir Temperatura de Fahrenheit (℉) a Celsius (℃)

Algoritmo:

Paso 1: Lee temperatura en Fahrenheit,

Paso 2: Calcula la temperatura con la fórmula C=5/9*(F-32),

Paso 3: Imprime C,

Diagrama de Flujo:
Ejemplo 3: Determina si un Estudiante Pasó el Examen o No:

Algoritmo:

 Paso 1: Introduce las notas de 4 cursos M1, M2, M3 y M4,


 Paso 2: Calcula el promedio de notas con la formula
"Nota=(M1+M2+M3+M4)/4"
 Paso 3: Si la nota promedio es menor a 60, imprime "REPROBADO", sino
imprime "APROBADO".

Diagrama de Flujo:
Parte6: Conclusión
De lo anteriormente mencionado, podemos llegar a la conclusión de que un
diagrama de flujo es una representación pictográfica de un algoritmo, un algoritmo
puede ser expresado y analizado a través de un diagrama de flujo.

Un algoritmo te muestra cada paso para llegar a la solución final, mientras que el
diagrama de flujo muestra cómo llevar a cabo el proceso conectando cada paso.
Un algoritmo usa principalmente palabras para describir los pasos mientras
un diagrama de flujos se apoya en símbolos, formas y líneas de flujo para hacer
el proceso de forma lógica.

DIAGRAMA DE FLUJOS
 

El diagrama de flujo o diagrama de actividades es la representación


gráfica del algoritmo o proceso. Se utiliza en disciplinas
como programación, economía, procesos industriales y psicología cognitiva.
En Lenguaje Unificado de Modelado (UML), un diagrama de actividades representa
los flujos de trabajo paso a paso de negocio y operacionales de los componentes en un
sistema. Un diagrama de actividades muestra el flujo de control general.

En SysML el diagrama de actividades ha sido extendido para indicar flujos entre pasos que
mueven elementos físicos (e.g., gasolina) o energía (e.g., presión). Los cambios adicionales
permiten al diagrama soportar mejor flujos de comportamiento y datos continuos.

Estos diagramas utilizan símbolos con significados definidos que representan los pasos
del algoritmo, y representan el flujo de ejecución mediante flechas que conectan los
puntos de inicio y de fin de proceso.

CARACTERISTICAS
Un diagrama de flujo siempre tiene un único punto de inicio y un único punto de término.

Las siguientes son acciones previas a la realización del diagrama de flujo:

 Identificar las ideas principales a ser incluidas en el diagrama de flujo. Deben estar
presentes el autor o responsable del proceso, los autores o responsables del proceso
anterior y posterior y de otros procesos interrelacionados, así como las terceras partes
interesadas.
 Definir qué se espera obtener del diagrama de flujo.
 Identificar quién lo empleará y cómo.
 Establecer el nivel de detalle requerido.
 Determinar los límites del proceso a describir.
Los pasos a seguir para construir el diagrama de flujo son:
 Establecer el alcance del proceso a describir. De esta manera quedará fijado el
comienzo y el final del diagrama. Frecuentemente el comienzo es la salida del proceso
previo y el final la entrada al proceso siguiente.
 Identificar y listar las principales actividades/subprocesos que están incluidos en el
proceso a describir y su orden cronológico.
 Si el nivel de detalle definido incluye actividades menores, listarlas también.
 Identificar y listar los puntos de decisión.
 Construir el diagrama respetando la secuencia cronológica y asignando los
correspondientes símbolos.
 Asignar un título al diagrama y verificar que esté completo y describa con exactitud el
proceso elegido

DESCRIPCIÓN
En UML, un diagrama de actividades es una variación del diagrama de estado UML donde
los «estados» representan operaciones, y las transiciones representan las actividades que
ocurren cuando la operación es completa.

El diagrama de actividades UML 2.0, mientras que es similar en aspecto al diagrama de


actividades UML ahora tiene semánticas basadas en redes de Petri. En UML 2.0, el
diagrama general de interacción está basado en el diagrama de actividades. El diagrama
de actividad es una forma especial de diagrama de estado usado para modelar una
secuencia de acciones y condiciones tomadas dentro de un proceso.

La especificación del Lenguaje de Modelado Unificado (UML) define un diagrama de


actividad como:

“… una variación de una máquina estados, lo cual los estados representan el rendimiento
de las acciones o subactividades y las transiciones se provocan por la realización de las
acciones o subactividades.”

El propósito del diagrama de actividad es modelar un proceso de flujo de trabajo


(workflow) y/o modelar operaciones.

Una Operación es un servicio proporcionado por un objeto, que está disponible a través
de una interfaz.
Una Interfaz es un grupo de operaciones relacionadas con la semántica

TIPOS DE DIAGRAMAS DE FLUJOS


 Formato vertical: En él, el flujo y la secuencia de las operaciones, va de arriba hacia
abajo. Es una lista ordenada de las operaciones de un proceso con toda la información
que se considere necesaria, según su propósito.
 Formato horizontal: En él, el flujo o la secuencia de las operaciones, va de izquierda a
derecha.
 Formato panorámico: El proceso entero está representado en una sola carta y puede
apreciarse de una sola mirada mucho más rápido que leyendo el texto, lo que facilita
su comprensión, aún para personas no familiarizadas. Registra no solo en línea
vertical, sino también horizontal, distintas acciones simultáneas y la participación de
más de un puesto o departamento que el formato vertical no registra.
 Formato Arquitectónico: Describe el itinerario de ruta de una forma o persona sobre
el plano arquitectónico del área de trabajo. El primero de los flujogramas es
eminentemente descriptivo, mientras que los utilizados son fundamentalmente
representativos

HISTORIA
La paternidad del diagrama de flujo es en principio algo difusa. El método estructurado
para documentar gráficamente un proceso como un flujo de pasos sucesivo y
alternativos, el «proceso de diagrama de flujo», fue expuesto por Frank Gilbreth, en la
Sociedad Americana de Ingenieros Mecánicos (ASME), en 1921, bajo el enunciado de
«Proceso de Gráficas-Primeros pasos para encontrar el mejor modo». Estas herramientas
de Gilbreth rápidamente encontraron sitio en los programas de ingeniería industrial.

Al principio de los 30, un ingeniero industrial, Allan H. Mogensen comenzó la formación de


personas de negocios en Lake Placid, Nueva York, incluyendo el uso del diagrama de flujo.
Art Spinanger, asistente a las clases de Mogesen, utilizó las herramientas en su trabajo en
Procter & Gamble, donde desarrolló su “Programa Metódico de Cambios por Etapas”. Otro
asistente al grupo de graduados en 1944, Ben S. Graham, Director de Ingeniería de
Formcraft Standard Register Corporation, adaptó la Gráfica de flujo de procesos al
tratamiento de la información en su empresa. Y desarrolló la Gráfica del proceso de
múltiples flujos en múltiples pantallas, documentos, y sus relaciones. En 1947, ASME
adoptó un conjunto de símbolos derivados de la obra original de Gilbreth como Norma
ASME para los gráficos de procesos (preparada Mishad, Ramsan y Raiaan).

Sin embargo, según explica Douglas Hartree fueron originalmente Herman


Goldstine y John von Neumann quienes desarrollaron el diagrama de flujo (inicialmente
llamado «diagrama») para planificar los programas de ordenador. Las tablas de
programación original de flujo de Goldstine y von Neumann, aparecen en un informe no
publicado, «Planificación y codificación de los problemas de un instrumento de
computación electrónica, la Parte II, Volumen 1 «(1947), reproducido en las obras
completas de von Neumann.

Inicialmente los diagramas de flujo resultaron un medio popular para describir algoritmos
de computadora, y aún se utilizan con este fin. Herramientas como los diagramas de
actividad UML, pueden ser considerados como evoluciones del diagrama de flujo.
En la década de 1970 la popularidad de los diagramas de flujo como método propio de la
informática disminuyó, con el nuevo hardware y los nuevos lenguajes de programación de
tercera generación. Y por otra parte se convirtieron en instrumentos comunes en el
mundo empresarial. Son una expresión concisa, legible y práctica de algoritmos.
Actualmente se aplican en muchos campos del conocimiento, especialmente como
simplificación y expresión lógica de procesos, etc

VENTAJAS DE LOS DIAGRAMAS DE FLUJO


 Favorecen la comprensión del proceso al mostrarlo como un dibujo. El cerebro
humano reconoce muy fácilmente los dibujos. Un buen diagrama de flujo reemplaza
varias páginas de texto.
 Permiten identificar los problemas y las oportunidades de mejora del proceso. Se
identifican los pasos, los flujos de los re-procesos, los conflictos de autoridad, las
responsabilidades, los cuellos de botella, y los puntos de decisión.
 Muestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan,
facilitando a los empleados el análisis de las mismas.
 Son una excelente herramienta para capacitar a los nuevos empleados y también a los
que desarrollan la tarea, cuando se realizan mejoras en el proceso.
 Al igual que el pseudocódigo, el diagrama de flujo con fines de análisis
de algoritmos de programación puede ser ejecutado en un ordenador, con
un IDE como Free DFD

REGLAS PARA HACER UN DIAGRAMA DE FLUJO


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:

Inicio o fin del programa


Pasos, procesos o líneas de instruccion de programa de computo

Operaciones de entrada y salida

Toma de desiciónes y Ramificación

Conector para unir el flujo a otra parte del diagrama

Cinta magnética

Disco magnético

Conector de pagina

Líneas de flujo

Anotación

Display, para mostrar datos

Envía datos a la impresor


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 creación de diagramas de flujo, los
símbolos gráficos son utilizádos especificamente para operaciónes aritméticas y
relaciónes condicionales. La siguiente es una lista de los símbolos más comunmente
utilizados

+ 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 o 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

EJEMPLOS DE DIAGRAMAS
Diagrama de flujo que encuentra la suma de los primeros 50 numeros naturales

DESCRIPCION 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 


 El segundo bloque, es un Símbolo de procesos   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   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   


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)   ¿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). 

 Fin del programa (o diagrama) 

También podría gustarte