Está en la página 1de 18

01

Diagramas de !ujo

Imagina que en tu trabajo te encargan realizar un diagrama de ujo que represente a una calculadora. Pero no tienes ni idea de lo que es un diagrama de ujo! Qu hacer entonces?

"Qu# son los diagramas de !ujo?


Los algoritmos son los pasos a seguir para resolver un problema. "Los diagramas de ujo representan la esquematizacin grca de un algoritmo" (Cair, 2006). Es decir, un algoritmo puede ser descrito en un diagrama de ujo. Esto permite que se delimite una manera estndar de describir algoritmos, en especial los computables, acercndonos a su representacin en un lenguaje de programacin para que una computadora resuelva el problema por nosotros. Hay unas cuantas reglas para construir diagramas de ujo, recomendados por Cair: El diagrama de ujo debe siempre tener un inicio y un n. Las lneas que indican la direccin del ujo en el diagrama deben ser rectas. Las lneas siempre deben estar contectando a otros elementos del diagrama. La construccin del diagrama siempre debe hacerse de arriba hacia abajo y de izquierda a derecha.

02
Adicionalmente, se pueden mencionar estas reglas: No pueden haber elementos aislados, todo tiene una entrada y una salida (exceptuanto el inicio y el n). Todo debe estar conectado con algo a travs de una lnea. En las entradas y las salidas, se pueden agrupar los pasos.

Secci$n %
& Los cinco s'mbolos b(sicos
En esta seccin se muestran los cinco smbolos bsicos de los diagramas de ujo y su funcin:

S'mbolo

Funci$n
El rectngulo representa un proceso o un paso en el algoritmo. El contenido (el texto que describe lo que ocurre en el proceso) se pone en el centro del rectngulo.

El rombo representa una prueba lgica, una valoracin o comparacin. Combinado y con algunas variaciones, este smbolo se utiliza para disear decisiones y repeticiones. El contenido (el texto que describe la prueba lgica) se pone en el centro del rombo.

El valo representa el inicio y el n de un diagrama de ujo. La palabra Inicio o Fin se pone en el centro del rombo.

El romboide representa la introduccin o entrada de valores y datos. El nombre de la variable o dato que se introducir se pone en el centro del romboide.

Este smbolo, denominado smbolo de salida, representa la escritura o salida de valores y datos. El nombre de la variable o dato que se mostrar se pone en el centro del smbolo.

Un smbolo ms que se puede mencionar es la echa o lnea. Este smbolo se encarga de unir a los otros smbolos para que, en la posicin correcta, representen grcamente a un algoritmo. Podrs ver ejemplos del uso de stos smbolos en la seccin sobre cmo unir estos smbolos.

03
Secci$n )
& & C$mo unir los s'mbolos para crear secuencias y decisiones sencillas

Para hacer estructuras secuenciales basta con poner un smbolo tras otro, unidos por lneas. Observa a continuacin un ejemplo genrico de esto:

Algoritmo gen#rico
1. 2. 3. Operacin 1 Operacin 2 Operacin 3

Diagrama de !ujo gen#rico


Inicio

Operacin 1

Operacin 2

Operacin 3

Fin

Observa que en el diagrama de ujo, se han agregado los smbolos de Inicio y Fin.

Ahora veamos la estructura de la decisin sencilla. La decisin sencilla es una bifurcacin que responde a una condicin lgica. Esta bifurcacin hace que una operacin se lleve a cabo o no dependiendo del resultado lgico de la condicin (cierto o falso). A veces, ser necesario "hacer una operacin si la condicin es verdadera" pero tambin es posible "hacer la operacin 1 si la condicin es verdadera pero si es falsa, hacer la operacin 2". Debido a esto, es posible diagramas dos tipos de decisiones sencillas:

04

Tipo
Decisin simple cierta

Algoritmo gen#rico
Si la condicin es cierta entonces realizar la operacin 1.

Diagrama de !ujo gen#rico


Inicio

Condicin

No

Operacin

Fin

Decisin simple cierta y falsa

Si la condicin es cierta entonces realizar la operacin 1, de otro modo, realizar la operacin 2.

Inicio

S
Operacin 1

Condicin

No
Operacin 2

Fin

Observa que se agreg de nuevo el Inicio y el Fin, y que en el diagrama de ujo NO DEBE PONERSE si la condicin es cierta o falsa dentro del rombo, esto es debido a que las lneas que salen del rombo deben estar etiquetadas con las palabras S y No, describiendo hacia dnde va el ujo del diagrama, dependiendo del resultado de la condicin lgica. Para que queden ms claras las estructuras de decisin sencilla, se mostrarn algunos ejemplos.

05
Ejemplo %
El primer ejemplo es sobre el problema de cmo calcular la variacin porcentual de una cifra con respecto a otra, es decir, en qu porcentaje crece o decrece una cifra actual con respecto a una anterior. Por ejemplo, la variacin porcentual de 5 (anterior) a 10 (actual) es del 100% (5 creci en 100% para llegar a 10). Para calcular la variacin porcentual se usa la frmula: a la divisin del valor actual entre el valor anterior se le resta uno, a ese resultado se le multiplica por cien; siendo vlido slo si el valor anterior es diferente de cero. Entonces, se tiene:

Algoritmo
1. 2. 3. Obtener el valor actual. Obtener el valor anterior. Dado que se debe hacer una divisin entre el valor anterior, el valor anterior no debe ser cero, si el valor anterior es cero, se debe mostrar que hay un error y terminar, de otra forma, si el valor anterior no es cero, entonces se debe dividir el valor actual entre el valor anterior, esto es el resultado parcial 1. Al resultado parcial 1 se le debe restar 1, esto es el resultado parcial 2. Al resultado parcial 2 se le debe multiplicar por cien, esto es el resultado nal. Se debe mostrar el resultado nal.

Diagrama de !ujo

Inicio

actual anterior

anterior = 0

No
parcial 1 = actual / anterior

4.

5.

Error

parcial 2 = parcial 1 - 1 nal = parcial 2 * 100 nal

6.

Fin

06

Ejemplo )
Este es el ejemplo del clculo del rea de un tringulo. Para calcular el rea de esta gura, basta con multiplicar la medida de la base por la altura y a dicho resultado, dividirlo entre dos, siendo todo esto vlido slo cuando la base y la altura son mayores a cero:

Algoritmo

Diagrama de !ujo

1. 2. 3.

Obtener el valor de la base. Obtener el valor de la altura. Dado que slo es vlido que la base y la altura sean mayores a cero, si ambos valores son cero entonces se debe mostrar que hay un error y terminar, de otra forma, si la base y la altura son mayores a cero, entonces hay que multiplicar la base por la altura y esto es el resultado parcial 1. Hay que dividir el resultado parcial 1 entre 2, esto es el resultado nal. Se debe mostra rel resultado nal.

Inicio base altura

4.

base >0 y altura >0

No

5.

parcial 1 = base * altura nal = parcial 1/2 nal

Error

Fin

07
Ejemplo *
Ahora se tiene el siguiente problema: Dados tres nmeros, cul es el mayor?

Algoritmo

Diagrama de !ujo
Inicio

1. 2. 3. 4.

Obtener el primer nmero. Obtener el segundo nmero. Obtener el tercer nmero. Si el primer nmero es mayor que el segundo nmero, entonces el nmero mayor es el primero, de lo contrario, el nmero mayor es el segundo. Esto es el resultado parcial. Si el tercer nmero es mayor al resultado parcial, entonces el nmero mayor es el tercer nmero, de lo contrario, el nmero mayor es el resultado parcial. Esto es el resultado nal. Mostrar el resultado nal.

nmero 1 nmero 2 nmero 3

5.

nmero 1>nmero 2

S
parcial = nmero 1

No
parcial = nmero 2

6.

S
nmero 3 > parcial nal = nmero 3

No
nal = parcial

nal Fin

Puedes observar que el algoritmo no corresponde exactamente al diagrama de ujo, sobretodo en las condiciones "si pasa esto, entonces esto" (los rombos). Pero tambin observa que el diagrama de ujo debe poder interpretarse como si fuera el algoritmo mismo.

08
Secci$n *
& S'mbolos avanzados

06
Hay algunos smbolos para funciones ms avanzadas. A continuacin se muestran esos smbolos junto con su funcin:

S'mbolo

Funci$n
El hexgono representa una seleccin mltiple. El nombre de la variable o dato que se comparar con las posibles opciones de la seleccin mltiple se pone en el centro del hexgono.

El crculo sirve para conectar elementos dentro de una pgina, sirve especialmente cuando un diagrama se vuelve complejo. Suele ponrsele una letra o un nmero en el centro, para identicarlo.

El pentgono que apunta hacia abajo sirve para conectar elementos en pginas diferentes, sirve especialmente cuando un diagrama se vuelve demasiado complejo y es mejor mostrarlo en pginas diferentes.

El pentgono que apunta hacia la derecha para expresar la modularidad en un diagrama, es decir, algo que debe ser resuelto antes de continuar con el ujo normal del diagrama.

09
Secci$n +
& & C$mo unir los s'mbolos para crear decisiones avanzadas, repeticiones y diagramas complejos
Para hacer diagramas ms complejos, decisiones avanzadas, repeticiones y construir diagramas complejos, de pueden usar los smbolos que viste en la Seccin 3. Tambin se te mostrarn ejemplos que muestran cmo usar y conjugar los smbolos bsicos y los avanzados para lograr disear diagramas ms avanzados.

Decisiones m-ltiples
Las decisiones sencillas slo tienen dos posibles ujos: cuando lo que se est evaluando (comparando, decidiendo) en el rombo es falso o es verdadero. Qu hacer cuando se necesita decidir sobre un rango de posibles valores? Por ejemplo, si se debe hacer algo para cuando un valor sea 1, 2, 3, 4... Diagramar eso con decisiones sencillas, es decir, con rombos solamente, sera muy inadecuado. Observa el siguiente segmento de un algoritmo y su respectivo diagrama de ujo:

Algoritmo
S
1. Si el valor es 1 entonces hacer la operacin 1, pero si no es 1, entonces... si el valor es 2 entonces hacer la operacin 2, pero si no es 2, entonces... si el valor es 3 entonces hacer la operacin 3, pero si no lo es, entonces... si el valor es 4 entonces hacer la operacin 4.

Diagrama de !ujo
valor = 1 No

2.

operacin 1

3.

S operacin 2

valor = 2

No

4.

S operacin 3

valor = 3

No

S operacin 4

valor = 4

No

10
Imagnate si fueran veinte posibles opciones! Para casos como este se usa el hexgono, de tal forma que el ujo depende de cada posible valor, por ejemplo:

Algoritmo
Dependiendo del valor: a. Si el valor es 1 entonces hacer la operacin 1. Si el valor es 2 entonces hacer la operacin 2. Si el valor es 3 entonces hacer la operacin 3. Si el valor es 4 entonces hacer la operacin 4.

Diagrama de !ujo

b.

c.

d.

IMPORTANTE: Observa cmo el algoritmo est ms simplicado, esto es slo para el ejemplo sobre el uso del hexgono, en realidad se puede usar el mismo algoritmo que en la primera parte. Observa tambin cmo cada una de las lneas que sale del hexgono est etiquetada con un posible valor. Hay una ventaja extra, si se quiere hacer algo con un valor que no entre en el rango, se usa el "defecto" (default en ingls):

Diagrama de !ujo
Dependiendo del valor: a. Si el valor es 1 entonces hacer la operacin 1. Si el valor es 2 entonces hacer la operacin 2. Si el valor es 3 entonces hacer la operacin 3. Si el valor es 4 entonces hacer la operacin 4. Si no cae en ningn valor entonces mostrar un error.

b.

valor

c.

d. e.

Esto ltimo es muy til para cuando se diagrama un men de posibles opciones, el defecto puede servir para asegurarse que slo se elijan las opciones correctas.

11
Repeticiones
Las repeticiones son una caracterstica esencial de la Programacin Estructurada. Permiten representar la lgica de un algoritmo en menos pasos. Prcticamente, hay tres clases de repeticiones, del ingls For, While y Do... While. Para todas ellas, se utilizan los smbolos bsicos (rectngulo, rombo, lnea), pero de tal manera que se represente el bucle o elementos que se repiten. Observa a continuacin cada una de las repeticiones, junto con el segmento de algoritmo respectivo. Nota: Se usar un "contador" para ejemplicar todas las estructuras, es decir, el valor que decidir cundo se debe detener la repeticin. Haz clic en cada una de las siguientes pestaas:

For
Esta estructura de repeticin es especial para recorrer conjuntos, arreglos y cuando se sabe exactamente la cantidad de veces que un bucle debe repetirse. A continuacin se muestra el algoritmo y el diagrama de ujo de ejemplo para esta estructura de repeticin.

Algoritmo
Cuando un contador debe ir desde 1 hasta 10, hacer el siguiente bucle: a. Mostrar el contador

Diagrama de !ujo

Ntese: 1. El hecho de que el contador sea mayor o igual a 1 y menor o igual a 10 (todo esto es lo mismo que decir que el contador debe ir de 1 a 10) es la condicin lgica y esto se pone en un rombo. En el algoritmo, el bucle es slo una operacin, pero en el diagrama de ujo debe agregarse el incremento del contador. En el diagrama de ujo, el valor inicial del contador debe ponerse antes de la condicin lgica.

2.

3.

Observa que en este caso, el algoritmo y el diagrama no corresponden exactamente, pero tambin es importante que el diagrama deba interpretarse como la representacin grca del algoritmo.

12

While
En esta estructura de repeticin lo primero que ocurre es que se evala la condicin lgica, por lo que es posible que el bucle nunca se lleve a cabo. Es especial para cuando no se sabe cundo debe detenerse la repeticin pero se debe estar seguro al principio de que se cumple la condicin. A continuacin se muestra el algoritmo y el diagrama de ujo de ejemplo de esta estructura de repeticin.

Algoritmo

Diagrama de !ujo

1. 2.

Obtener el contador Mientras el contador sea menor de 10, hacer el siguiente bucle: a. Mostrar el contador b. Incrementar el contador en 1

Ntese: El hecho de que el contador sea menor a 10 es la condicin lgica y esto se pone en un rombo.

13

Do..While
En esta estructura de repeticin lo primero que ocurre es el bucle al menos por una vez puesto que la condicin lgica se evala al terminar el bucle. Es por ello que la repeticin puede terminar (ya que la condicin puede ser falsa). Es especial para cuando no se sabe cundo debe detenerse pero se debe realizar al menos una vez el bucle. A continuacin se muestra el algoritmo y el diagrama de ujo de ejemplo de esta estructura de repeticin.

Algoritmo

Diagrama de !ujo

1. 2.

3.

Obtener el contador Hacer el siguiente bucle... a. Mostrar el contador b. Incrementar el contador en 1 ...mientras el contador sea menor de 10

Ntese: El hecho de que el contador sea menor a 10 es la condicin lgica y esto se pone en un rombo.

14
Uso del c'rculo
El crculo es un smbolo que sirve para describir el ujo de un diagrama complejo. Sirve para evitar diagramas muy difciles de comprender por cruce de lneas o saturacin de smbolos. Es importante recalcar que: El crculo no remplaza la funcionalidad del pentgono hacia la derecha (modularidad). La funcionalidad del crculo es similar que la del pentgono hacia abajo (conexin a otra pgina), pero se usa en la misma pgina y tambin en pginas diferentes. La funcionalidad del crculo es slo de estructura y sirve para simplicar el diagrama, no sustituye a la decisin ni a la repeticin ni a ningn otro smbolo.

Debido a que es posible que pueden haber ms de un crculo en un mismo diagrama, suele ponerse una letra o un nmero en el centro de ellos, para diferenciar a dnde se debe uir en el diagrama, inclusive entre pginas diferentes. Observa los siguientes ejemplos y en especial fjate que no se pierde el ujo:

Ejemplo
1.

Diagrama de !ujo

2.

15
Ahora observa estos ejemplos incorrectos:

Ejemplo

Diagrama de !ujo

1.

2.

16
Conexiones de p(ginas
El pentgono hacia abajo tiene la misma funcionalidad que el crculo, con la diferencia que se hace para relacionar diagramas que ocupan dos pginas o secciones diferentes en un documento o imagen que contiene un mismo diagrama de ujo. Esto es muy til para diagramas sumamente largos o complejos. Es importante recalcar que: El pentgono hacia abajo no remplaza la funcionalidad del pentgono hacia la derecha (modularidad). La funcionalidad del pentgono hacia abajo es similar que la del crculo, pero se usa solamente entre distintas pginas. La funcionalidad del pentgono hacia abajo es slo de estructura y sirve para interconectar pginas, no sustituye a la decisin ni a la repeticin ni a ningn otro smbolo.

Observa el siguiente ejemplo: Pgina 1 de un mismo diagrama:

Pgina 2 de un mismo diagrama:

17

Pgina 3 de un mismo diagrama:

Modularidad
El pentgono hacia la derecha representa una subrutina que debe realizarse antes de que el ujo principal contine. Esto es el principio de la modularidad. Es importante recalcar que: Cuando se dispone un pentgono a la derecha, el ujo principal se interrumpe. La funcionalidad del pentgono hacia la derecha no puede ser remplazado por el crculo, el pentgono hacia abajo ni ningn otro smbolo. El ujo secundario puede ponerse en la misma pgina o en una pgina diferente. Debido a que es posible que pueden haber ms de un pentgono hacia la derecha en un mismo diagrama, suele ponerse una letra o un nmero en el centro de ellos, para diferenciar a dnde se debe uir en el diagrama. Observa los siguientes ejemplos:

18
Ejemplo
1.

Diagrama de !ujo

2.

referencias
Cair - Battistutti, 0. (2006).
Fundamentos de programacin: piensa en C. Pearson Educacin.

También podría gustarte