21
Pseudocódigo Este artículo o sección necesita referencias que aparezcan en una publicación acreditada , como revistas especializadas, monografías, prensa diaria o páginas de Internet fidedignas . Puedes añadirlas así o avisar al autor principal del artículo en su página de discusión pegando: {{subst:Aviso referencias|Pseudocódigo}} ~~~~ En ciencias de la computación , y análisis numérico el pseudocódigo (o falso lenguaje ) es una descripción informal 1 de alto nivel de un algoritmo informático de programación , compacto e informal, que utiliza las convenciones estructurales de un lenguaje de programación verdadero 2 , pero que está diseñado para la lectura humana en lugar de la lectura mediante máquina, y con independencia de cualquier otro lenguaje de programación. Normalmente, el pseudocódigo omite detalles que no son esenciales para la comprensión humana del algoritmo, tales como declaraciones de variables, código específico del sistema y algunas subrutinas . El lenguaje de programación se complementa, donde sea conveniente, con descripciones detalladas en lenguaje natural , o con notación matemática compacta. Se utiliza pseudocódigo pues este es más fácil de entender para las personas que el código de lenguaje de programación convencional, ya que es una descripción eficiente y con un entorno independiente de los principios fundamentales de un algoritmo. Se utiliza comúnmente en los libros de texto y publicaciones científicas que se documentan varios algoritmos, y también en la planificación del desarrollo de programas informáticos, para esbozar la estructura del programa antes de realizar la efectiva codificación. No existe una sintaxis estándar para el pseudocódigo, aunque los cincos IDE 's que manejan pseudocódigo tengan su sintaxis propia. Aunque sea parecido, el pseudocódigo no debe confundirse con los programas esqueleto que incluyen código ficticio, que pueden ser compilados sin errores. Los diagramas de flujo y UML pueden ser considerados como una alternativa gráfica al pseudocódigo, aunque sean más amplios en papel. Índice [ocultar ] 1 Aplicación 2 Sintaxis

Pseudocódigo

Embed Size (px)

DESCRIPTION

d

Citation preview

Page 1: Pseudocódigo

PseudocódigoEste artículo o sección necesita referencias que aparezcan en una publicación acreditada, como revistas especializadas, monografías, prensa diaria o páginas de Internet fidedignas.Puedes añadirlas así o avisar al autor principal del artículo en su página de discusión pegando: {{subst:Aviso referencias|Pseudocódigo}} ~~~~

En ciencias de la computación, y análisis numérico el pseudocódigo (o falso lenguaje) es una

descripción informal1 de alto nivel de un algoritmo informático de programación, compacto e

informal, que utiliza las convenciones estructurales de un lenguaje de

programación verdadero2 , pero que está diseñado para la lectura humana en lugar de la

lectura mediante máquina, y con independencia de cualquier otro lenguaje de programación.

Normalmente, el pseudocódigo omite detalles que no son esenciales para la comprensión

humana del algoritmo, tales como declaraciones de variables, código específico del sistema y

algunas subrutinas. El lenguaje de programación se complementa, donde sea conveniente, con

descripciones detalladas en lenguaje natural, o con notación matemática compacta. Se utiliza

pseudocódigo pues este es más fácil de entender para las personas que el código de lenguaje

de programación convencional, ya que es una descripción eficiente y con un entorno

independiente de los principios fundamentales de un algoritmo. Se utiliza comúnmente en los

libros de texto y publicaciones científicas que se documentan varios algoritmos, y también en la

planificación del desarrollo de programas informáticos, para esbozar la estructura del programa

antes de realizar la efectiva codificación. No existe una sintaxis estándar para el pseudocódigo,

aunque los cincos IDE's que manejan pseudocódigo tengan su sintaxis propia. Aunque sea

parecido, el pseudocódigo no debe confundirse con los programas esqueleto que incluyen

código ficticio, que pueden ser compilados sin errores. Los diagramas de flujo y UML pueden

ser considerados como una alternativa gráfica al pseudocódigo, aunque sean más amplios en

papel.

Índice

  [ocultar] 

1   Aplicación

2   Sintaxis

3   Características y partes

4   Definición de datos del pseudocódigo

5   Funciones y operaciones

6   Estructuras de control

o 6.1   Estructuras secuenciales

o 6.2   Estructuras selectivas

6.2.1   Selectiva doble (alternativa)

Page 2: Pseudocódigo

6.2.2   Selectiva múltiple

6.2.3   Selectiva múltiple-Casos

o 6.3   Estructuras iterativas

6.3.1   Bucle mientras

6.3.2   Bucle repetir

6.3.3   Bucle hacer

6.3.4   Bucle para

6.3.5   Bucle para cada

o 6.4   El anidamiento

7   Desarrollo de algoritmos

8   Funciones y procedimientos

9   Ventajas del pseudocódigo sobre los diagramas de flujo

10   Enlaces externos

11   Referencias

12   Bibliografía

13   Véase también

[editar]Aplicación

Muchas veces, en los libros de texto y publicaciones científicas relacionadas con la informática

y la computación numérica, se utilizan pseudocódigo en la descripción de algoritmos, de

manera que todos los programadores puedan entenderlo, aunque no todos conozcan el mismo

lenguaje de programación. Geneneralmente, en los libros de texto, hay una explicación que

acompaña la introducción que explica las convenciones particulares en uso. El nivel de detalle

del pseudocódigo puede, en algunos casos, acercarse a la de formalizar los idiomas de

propósito general.

Un programador que tiene que aplicar un algoritmo específico, sobre todo uno desfamiliarizado,

generalmente comienza con una descripción en pseudocódigo, y luego "traduce" esa

descripción en el lenguaje de programación meta y lo modifica para que interactúe

correctamente con el resto del programa. Los programadores también pueden iniciar un

proyecto describiendo la forma del código en pseudocódigo en el papel antes de escribirlo en

su lenguaje de programación, como ocurre en la estructuración de un enfoque de Top-down y

Bottom-up arriba hacia abajo.

[editar]Sintaxis

En la actualidad y por lo general, el pseudocódigo, como su nombre lo indica, no obedece a las

reglas de sintaxis de ningún idioma en particular ni es de forma estándar sistemática, a pesar

de que cualquier escritor en particular vaya a pedir prestado las estructuras de control general,

Page 3: Pseudocódigo

la sintaxis y el estilo, por ejemplo, de algún lenguaje de programación convencional. Pero en

caso de que se quiera ejecutar, se debe llevar a forma tipo, para que no genere mensajes de

error. Las fuentes populares incluyen la sintaxis de Pascal, BASIC, C, C++, Java, Lisp,

y ALGOL. Por lo general, se omiten las declaraciones de variables. A veces, las llamadas a

funciones, los bloques de código y el código contenido dentro de un loop se remplazan por una

sentencia de una línea en lenguaje natural.

Dependiendo del escritor, el pseudocódigo puede variar mucho en su estilo, yendo desde en un

extremo, una imitación casi exacta de un lenguaje de programación real, hasta al acercarse a

una descripción en prosa de formato de pseudocódigo en el otro extremo.

Este es un ejemplo de pseudocódigo (para el juego matemático bizz buzz):

Pseudocódigo estilo Fortran:

programa bizzbuzz

hacer i = 1 hasta 100

establecer

print_number a

verdadero

si i es divisible

por 3

escribir

"Bizz"

establecer

print_number a falso

si i es divisible

por 5

escribir

"Buzz"

establecer

print_number a falso

si print_number,

escribir i

escribir una nueva

línea

fin del hacer

Pseudocódigo estilo Pascal:

procedimiento bizzbuzz

para i := 1 hasta 100

hacer

establecer

print_number a

verdadero;

Si i es divisible

por 3 entonces

escribir

"Bizz";

establecer

print_number a falso;

Si i es divisible

por 5 entonces

escribir

"Buzz";

establecer

print_number a falso;

Si print_number,

escribir i;

escribir una nueva

lína;

fin

Pseudocódigo estilo C:

subproceso funcion

bizzbuzz

para (i <- 1; i<=100;

i++) {

establecer

print_number a

verdadero;

Si i es divisible

por 3

escribir

"Bizz";

establecer

print_number a falso;

Si i es divisible

por 5

escribir

"Buzz";

establecer

print_number a falso;

Si print_number,

escribir i;

escribir una nueva

línea;

}

[editar]Características y partes

Las principales características de este lenguaje son:

1. Se puede ejecutar en un ordenador (con un IDE como por ejemplo SLE, LPP, PilatoX,

Maruga Script, Seudocodigo o PSeInt.)

2. Es una forma de representación sencilla de utilizar y de manipular.

Page 4: Pseudocódigo

3. Facilita el paso del programa al lenguaje de programación.

4. Es independiente del lenguaje de programación que se vaya a utilizar.

5. Es un método que facilita la programación y solución al algoritmo del programa.

Todo documento en pseudocódigo debe permitir la descripción de:

1. Instrucciones primitivas.

2. Instrucciones de proceso....

3. Instrucciones de control.

4. Instrucciones compuestas.

5. Instrucciones de descripción.

Estructura a seguir en su realización:

1. Cabecera.

1. Programa.

2. Módulo.

3. Tipos de datos.

4. Constantes.

5. Variables.

2. Cuerpo.

1. Inicio.

2. Instrucciones.

3. Fin.

[editar]Definición de datos del pseudocódigo

La definición de datos se da por supuesta, sobre todo en las variables sencillas, si se emplea

formaciones: pilas, colas, vectores o registros, se pueden definir en la cabecera del algoritmo, y

naturalmente cuando empleemos el pseudocódigo para definir estructuras de datos, esta parte

la desarrollaremos adecuadamente.

[editar]Funciones y operaciones

Cada autor usa su propio pseudocódigo con sus respectivas convenciones. Por ejemplo, la

instrucción "reemplace el valor de la variable   por el valor de la variable  " puede ser

representado como:

asigne a   el valor de 

Page 5: Pseudocódigo

Las operaciones aritméticas se representan de la forma usual en matemáticas.

[editar]Estructuras de control

En la redacción del pseudocódigo se utiliza tres tipos de estructuras de control: las

secuenciales, las selectivas y las iterativas.

[editar]Estructuras secuenciales

Las instrucciones se siguen en una secuencia fija que normalmente viene dada por el número

de renglón. Es decir que las instrucciones se ejecutan de arriba hacia abajo. Las instrucciones

se ejecutan dependiendo de la condición dada dentro del algoritmo.

[editar]Estructuras selectivas

Las instrucciones selectivas representan instrucciones que pueden o no ejecutarse, según el

cumplimiento de una condición.

Diagrama de flujo que muestra el funcionamiento de la instrucción condicional.

Page 6: Pseudocódigo

La condición es una expresión booleana. Instrucciones es ejecutada sólo si la condición es

verdadera.

[editar]Selectiva doble (alternativa)

La instrucción alternativa realiza una instrucción de dos posibles, según el cumplimiento de una

condición.

Diagrama de flujo que muestra el funcionamiento de la instrucción condicional.

La condición es una variable booleana o una función reducible a booleana (lógica,

Verdadero/Falso). Si esta condición es cierta se ejecutaInstrucciones1, si no es así, entonces se

ejecuta Instrucciones2.

[editar]Selectiva múltiple

También es común el uso de una selección múltiple que equivaldría a anidar varias funciones

de selección.

Page 7: Pseudocódigo

En este caso hay una serie de condiciones que tienen que ser mutuamente excluyentes, si una

de ellas se cumple las demás tienen que ser falsas necesariamente, hay un casosi no que será

cierto cuando las demás condiciones sean falsas.

En esta estructura si Condición1 es cierta, entonces se ejecuta sólo Instrucciones1. En general,

si Condicióni es verdadera, entonces sólo se ejecuta Instruccionesi

[editar]Selectiva múltiple-Casos

Una construcción similar a la anterior (equivalente en algunos casos) es la que se muestra a

continuación.

En este caso hay un Indicador es una variable o una función cuyo valor es comparado en cada

caso con los valores "Valori", si en algún caso coinciden ambos valores, entonces se ejecutarán

las Instruccionesi correspondientes. La sección en otro caso es análoga a la sección si no del

ejemplo anterior.

Page 8: Pseudocódigo

[editar]Estructuras iterativas

Las instrucciones iterativas representan la ejecución de instrucciones en más de una vez.

[editar]Bucle mientras

Artículo principal: Bucle while.

El bucle se repite mientras la condición sea cierta, si al llegar por primera vez al bucle mientras

la condición es falsa, el cuerpo del bucle no se ejecuta ninguna vez.

Diagrama de flujo que muestra el funcionamiento de la instrucciónmientras

[editar]Bucle repetir

Existen otras variantes que se derivan a partir de la anterior. La estructura de control repetir se

utiliza cuando es necesario que el cuerpo del bucle se ejecuten al menos una vez y hasta que

se cumpla la condición:

La estructura anterior equivaldría a escribir:

[editar]Bucle hacer

Page 9: Pseudocódigo

El Bucle hacer se utiliza para repetir un bloque de código mientras se cumpla cierta condición.

[editar]Bucle para

Artículo principal: Bucle for.

Una estructura de control muy común es el ciclo para, la cual se usa cuando se desea iterar un

número conocido de veces, empleando como índice una variable que se incrementa (o

decrementa): Plantilla:Definiciones

la cual se define como:

[editar]Bucle para cada

Por último, también es común usar la estructura de control para cada. Esta sentencia se usa

cuando se tiene una lista o un conjunto   y se quiere iterar por cada uno de sus elementos:

Si asumimos que los elementos de   son  , entonces esta sentencia

equivaldría a:

Que es lo mismo que:

Page 10: Pseudocódigo

Sin embargo, en la práctica existen mejores formas de implementar esta instrucción

dependiendo del problema.

Es importante recalcar que el pseudocódigo no es un lenguaje estandarizado. Eso significa que

diferentes autores podrían dar otras estructuras de control o bien usar estas mismas

estructuras, pero con una notación diferente. Sin embargo, las funciones matemáticas y lógicas

toman el significado usual que tienen en matemática y lógica, con las mismas expresiones.

[editar]El anidamiento

Cualquier instrucción puede ser sustituida por una estructura de control. El siguiente ejemplo

muestra el pseudocódigo del ordenamiento de burbuja, que tiene varias estructuras anidadas.

Este algoritmo ordena de menor a mayor los elementos de una lista  .

En general, las estructuras anidadas se muestran indentadas, para hacer más sencilla su

identificación a simple vista. En el ejemplo, además de la indentación, se ha conectado con

flechas los pares de delimitadores de cada nivel de anidamiento.

[editar]Desarrollo de algoritmos

Con este pseudocódigo se puede desarrollar cualquier algoritmo que:

Tenga un único punto de inicio.

Tenga un número finito de posibles puntos de término.

Page 11: Pseudocódigo

Haya un número finito de caminos, entre el punto de inicio y los posibles puntos de

término.

[editar]Funciones y procedimientos

Muchas personas prefieren distinguir entre funciones y procedimientos. Una función, al igual

que una función matemática, recibe uno o varios valores de entrada y regresa

unasalida mientras que un procedimiento recibe una entrada y no genera ninguna salida

aunque en algún caso podría devolver resultados a través de sus parámetros de entrada si

estos se han declarado por referencia (ver formas de pasar argumentos a una función o

procedimiento).

En ambos casos es necesario dejar en claro cuáles son las entradas para el algoritmo, esto se

hace comúnmente colocando estos valores entre paréntesis al principio o bien declarándolo

explícitamente con un enunciado. En el caso de las funciones, es necesario colocar una

palabra como regresar o devolver para indicar cuál es la salida generada por el algoritmo. Por

ejemplo, el pseudocódigo de una función que permite calcular   (un número   elevado a

potencia  ).

Un ejemplo de procedimiento seria el algoritmo de Ordenamiento de burbuja, por el que

partiendo de una lista de valores estos se ordenan, nótese que en un procedimiento, no se

calcula el valor de una función, sino que se realiza una acción, en este caso ordenar la lista.

Page 12: Pseudocódigo

[editar]Ventajas del pseudocódigo sobre los diagramas de flujo

Los pseudocódigos presentan los siguientes beneficios:

1. Ocupan mucho menos espacio en el desarrollo del problema.

2. Permite representar de forma fácil operaciones repetitivas complejas.

3. Es más sencilla la tarea de pasar de pseudocódigo a un lenguaje de programación

formal.

4. Si se siguen las reglas de identación se puede observar claramente los niveles en la

estructura del programa.

5. En los procesos de aprendizaje de los alumnos de programación, éstos están más

cerca del paso siguiente (codificación en un lenguaje determinado, que los que se

inician en esto con la modalidad Diagramas de Flujo).

6. Mejora la claridad de la solución de un problema.

[editar]Enlaces externos

Pseudocódigo - Diagramas de flujo, programación básica

Sintaxis del pseudocódigo CEE (C en español)

Foro Programación, tutoriales y ejemplos

PSEINT - PIPEH pseudointérprete

Ejercicios de programación en peseudocódigo

Intérprete de algoritmos en español

[editar]Referencias

1. ↑  «Pseudocódigo - Estructuras condicionales». Consultado el 7 de diciembre de 2012.

2. ↑  «Instroducción al PseudoCódigo». Consultado el 7 de diciembre de 2012.

[editar]Bibliografía

Page 13: Pseudocódigo

1. Peña Marí, Ricardo (2005) (en español). Diseño de programas: formalismo y

abstracción (3 edición). Pearson Alhambra. pp. 488. ISBN 978-84-205-4191-4.

2. (en español) Pseudocódigos y programación estructurada (1 edición). Centro Técnico

Europeo de Enseñanzas Profesionales. 2 de 1997. ISBN 978-84-8199-065-2.

3. Brassard, Gilles; Bratley, Paul (1996) (en español). Algorítmica: concepción y análisis.

Peña Mari, Ricardo Tr. (1 edición). Masson, S.A.. pp. 384. ISBN 978-84-458-0535-0.

4. Rodeira, ed (6 de 1994) (en Gallego). Pseudocódigos e programación estructurada (1

edición). ISBN 978-84-8116-287-5.

5. Edebé, ed (8 de 1993) (en español). Pseudocódigos y programación estructurada (1

edición). ISBN 978-84-236-3126-1.

[editar]Véase también

Algoritmo

Programación

Resolución de problemas de programación

Diagrama de flujo

Estructuras de control

Bucle (programación)

Bucle for

Bucle do

Bucle while

Bucle repetir

Bucle infinito

Diagrama de flujo

Diagrama de flujo sencillo con los pasos a seguir si una lámpara no funciona.

Page 14: Pseudocódigo

Diagrama de actividades para un loop (bucle).

El diagrama de flujo o diagrama de actividades es la representación gráfica del algoritmo o

proceso. Se utiliza en disciplinas comoprogramació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.

Índice

  [ocultar] 

Page 15: Pseudocódigo

1  Características

2  Descripción

3  Tipos de diagramas de flujo

4  Simbología y significado

5  Cursograma

o 5.1  Simbología y normas del cursograma

6  Historia

7  Ventajas de los diagramas de flujo

8  Véase también

9  Referencias

10  Enlaces externos

[editar]Características

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.

Page 16: Pseudocódigo

[editar]Descripción

En UML 1.x, 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 1.x, 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.”1

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.

[editar]Tipos de diagramas de flujo

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.

[editar]Simbología y significado

Óvalo  o Elipse: Inicio y término (Abre y/o cierra el diagrama).

Page 17: Pseudocódigo

Rectángulo : Actividad (Representa la ejecución de una o más actividades o procedimientos).

Rombo : Decisión (Fórmula una pregunta o cuestión).

Círculo : Conector (Representa el enlace de actividades con otra dentro de un procedimiento).

Triángulo  boca abajo: Archivo definitivo (Guarda un documento en forma permanente).

Triángulo boca arriba: Archivo temporal (Proporciona un tiempo para el almacenamiento del

documento).

[editar]Cursograma

Se trata de la más común y práctica entre todas las clases de flujogramas. Describe el flujo de

información en un ente u organización, sus procesos, sistemas administrativos y de control. Permite

la impresión visual de los procedimientos y una clara y lógica interpretación.

[editar]Simbología y normas del cursograma

Círculo: Procedimiento estandarizado.

Cuadrado: Proceso de control.

Línea ininterrumpida: Flujo de información vía formulario o documentación en soporte de

papel escrito.

Línea interrumpida: Flujo de información vía formulario digital.

Rectángulo: Formulario o documentación. Se grafica con un doble de ancho que su altura.

Rectángulo Pequeño: Valor o medio de pago (cheque, pagaré, etcétera). Se grafica con un

cuádruple de ancho que su altura, siendo su ancho igual al de los formularios.

Triángulo (base inferior): Archivo definitivo.

Triángulo Invertido (base superior): Archivo Transitorio.

Semi-óvalo: Demora.

Rombo: División entre opciones.

Trapezoide: Carga de datos al sistema.

Elipsoide: Acceso por pantalla.

Hexágono: Proceso no representado.

Pentágono: Conector.

Cruz de Diagonales: Destrucción de Formularios.

Según la normativa, el flujo presupuesto es de izquierda a derecha y de arriba hacia abajo, siendo

optativo el uso de flechas. Cuando el sentido es invertido (de derecha a izquierda o de abajo hacia

arriba), es obligatorio el uso de la flecha.

[editar]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

Page 18: Pseudocódigo

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.

[editar]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.

Page 19: Pseudocódigo

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.

[editar]Véase también

Flujo de trabajo

Red de Petri

Diagrama de secuencia

Algoritmo

Programación

Resolución de problemas de programación

Pseudocódigo

Estructuras de control

Bucle

Bucle for

Bucle while

Bucle repetir

Bucle infinito

Programación estructurada

[editar]Referencias

1. ↑  Bellows, Jeannie, Castek (2000). Activity Diagrams and Operation Architecture. Technologies

Group Inc..