Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo...

26
Diagramas de flujo

Transcript of Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo...

Page 1: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Diagramas de flujo

Page 2: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Diagrama de Flujo

Diagramas de Flujo. Representación simbólica. Símbolos utilizados.

Convenciones. Técnicas de construcción de diagramas. Estructuras

básicas. Normas para su representación. Ejemplo.

Page 3: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Diagrama de Flujo

Tanto en la fase de análisis del problema como durante eldiseño del algoritmo, se plantea la necesidad de representarclaramente el flujo de operaciones que se han de realizarpara su resolución y el orden en que estas operacionesdeber ser ejecutadas.

Una vez que el algoritmo esté diseñado se debe proceder arepresentarlo mediante algún método de programación,siendo los más usuales: diagramas de flujo, pseudocódigo,diagramas N-S o Tablas de decisión.

Una vez graficado el algoritmo se procede a su escritura enalgún lenguaje de programación para su posterior ejecución.

Esta representación independiza al algoritmo del lenguaje

de programación elegido, permitiendo de esta manera que

pueda ser codificado indistintamente en cualquier lenguaje.

Page 4: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Diagrama de Flujo

Las dos herramientas mas utilizadas comunmente para describir

algoritmos son:Diagramas de Flujo: son representaciones gráficas de secuenciasde pasos a realizar. Cada operacion se representa mediante unsímbolo normalizado el Instituto Norteamericano de Normalizacion(ANSI - American National Standars Institute). Las líneas de flujoindican el orden de ejecución.Los diagramas de flujo suelen ser usados solo para representaralgoritmos pequeños, ya que abarcan mucho espacio.

Page 5: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Diagrama de Flujo

Pseudocódigos: describen un algoritmo de forma similar a un

lenguaje de programacióon pero sin su rigidez, de forma más parecida

al lenguaje natural. Presentan la ventaja de ser más compactos que

los diagramas de flujo, más fáciles de escribir para las instrucciones

complejas y más fáciles de transferir a un lenguaje de programación.

El pseudocódigo no está regido por ningún estándar.

Algunas palabras usadas son LEER/IMPRIMIR para representar las

acciones de lectura de datos y salida de datos.

Calcular una altura en pulgadas (1 pulgada=2.54 cm) y pies (1 pie=12

pulgadas), a partir de la altura en centímetros, que se introduce por el teclado.

Inicio

1- IMPRIMIR 'Introduce la altura en centimetros: '

2- LEER: altura

3- CALCULAR pulgadas=altura=2:54

4- CALCULAR pies=pulgadas=12

5- IMPRIMIR 'La altura en pulgadas es: ', pulgadas

6- IMPRIMIR 'La altura en pies es : ', pies

Fin

Page 6: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Diagrama de Flujo

El uso de diagramas de flujo como herramienta deprogramación tiene beneficios que resumidamente sedetallan:

Rápida comprensión de las relaciones

Se pueden usar como modelos de trabajo para el diseño denuevos programas

Documentación adecuada de los programas

Produce una codificación eficaz en los programas

Depuración y pruebas ordenadas de programas

Fácil de traducir a cualquier lenguaje de programación.

Page 7: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

.

Diagrama de Flujo

Los símbolos estándar han sido normalizados por ANSI(American National Standards Institute), IBM, IRAM(Instituto Racionalizador Argentino de Materiales) y son muyvariados..

Representacion Simbólica

Page 8: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

R e p re s e n a e l F in y C o m ie n z o d e l d ia g ra m a

E n tra d a /s a lid a - C u a lq u ie r t ip o d e in tro d u c c ió n d e d a to s e n la m e m o ria d e s d e lo s

p e r ifé r ic o s d e e n tra d a o re g is t ro d e la in fo rm a c ió n p ro c e s a d a e n u n p e r ifé ric o d e

s a lid a (n o in te re s a e l s o p o rte )

O p e r a c ió n o p r o c e s o - a c c io n e s a r e a l iz a r (s u m a r d o s n ú m e r o s , c a lc u la r ra í z

c u a d ra d a , a s ig n a c io n e s , e tc .-

S u b r u t in a - l la m a d a a u n s u b p ro g r a m a q u e e s u n m ó d u lo in d e p e n d ie n te d e l

p ro g ra m a p r in c ip a l q u e re a liz a u n a d e te rm in a d a ta re a y re g re s a a la s ig u ie n te

in s t ru c c ió n d e d o n d e fu e lla m a d a .

D e c i s ió n - o p e r a c io n e s ló g ic a s o d e c o m p ra c ió n e n t r e d a t o s y e n f u n c ió n d e l

re s u lta d o d e te rm in a c u a l d e lo s d o s d is tin to s c a m in o s a lte rn a t iv o s d e l p ro g ra m a s e

d e b e s e g u ir . N o rm a lm e n te tie n e d o s re s p u e s ta s S I o N O

C o n e c to r - e n la z a d o s p a rte s c u a le s q u ie ra d e l d ia g ra m a m e d ia n te u n c o n e c to r d e

s a lid a y o t ro d e e n tra d a . S ie m p re d e n tro d e la m is m a p á g in a

L ín e a d e F L u jo - in d ic a e l s e n t id o d e la e je c u c ió n d e la s o p e ra c io n e s

C o n e c to r - id e m a l c o n e c to r a n te rio r p e ro u s a n d o d is titn a s p á g in a s

T e c la d o - in tro d u c c ió n m a n u a l d e d a to s d e s d e e l te c la d o

Im p re s o ra - s a lid a d e d a to s e n fo rm a im p re s a

D is c o M a g n é tic o - p a ra le c tu ra o g ra b a c ió n d e d a to s

P a n ta lla - E n tra d a / S a lid a d e d a to s p o r p a n ta lla

? N oS i

C in ta M a g n é t ic a - p a ra le c tu ra o g ra b a c ió n d e d a to s

D is q u e te o d is c o fle x ib le - p a ra le c tu ra o g ra b a c ió n d e d a to s

C D - D is c o C o m p a c to - p a ra le c tu ra o g ra b a c ió n d e d a to s

S IM B O L O S F U N C I O N

Page 9: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Diagrama de Flujo

5.3.1 Estructuras Básicas

Las estructuras básicas son las tres siguientes:

Secuencia Alternativa o SelectivaIteración o Repetitiva

Tecnicas de construccion de diagramas

Page 10: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Computacion - FA.CE.NA.

Diagrama de Flujo

5.3.1 Estructuras Básicas

Secuencia Alternativa o SelectivaIteración o Repetitiva

Se compone de un grupo de acciones que se realizan todasy en el orden en que están escritas, sin posibilidad de omitirninguna de ellas.Las tareas se suceden de forma tal que la salida de una deellas es la entrada de la siguiente y así sucesivamente hastael final del proceso.

Tecnicas de construccion de diagramas

Page 11: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Diagrama de Flujo

Estructuras Básicas

SecuenciaAlternativa o SelectivaIteración o Repetitiva

Permite la selección entre dos grupos de acciones dependiendode que una determinada condición se cumpla o no.

Estas estructuras se utilizan para tomar decisiones lógicas; porello recibe también el nombre de estructuras de decisión oalternativas o condicional.

Las condiciones que se especifican usan expresiones lógicas yusan la figura geométrica en forma de rombo. Estas estructuraspueden ser: Simples o dobles.

Tecnicas de construccion de diagramas

Page 12: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Diagrama de Flujo

Estructuras Básicas

SecuenciaAlternativa o SelectivaIteración o Repetitiva

Simple: Solo obliga a realizar acciones si se cumple lacondición. El “no cumplimiento” de la condición implica queno se realizará ninguna acción.

Doble: El cumplimiento o no de la condición lógica obliga a la ejecución de diferentes grupos de acciones.

Tecnicas de construccion de diagramas

2

Condicion

Accion

SINO Condicion

Accion

SI

Accion

NO

1

Page 13: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Diagrama de Flujo

Estructuras Básicas

SecuenciaAlternativa o SelectivaIteración o Repetitiva

Estructura de elección entre varios casos

Este tipo de estructura permite decidir entre varios caminosposibles, en función del valor que tome una determinadainstrucción.

Tecnicas de construccion de diagramas

Page 14: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Diagrama de Flujo

Estructuras Básicas

SecuenciaAlternativa o SelectivaIteración o Repetitiva

Permite repetir una o varias instrucciones un númerodeterminado de veces que vendrá determinado por unacondición. Esta condición se conoce como condición desalida.

A estos tipos de estructuras se las conoce también con el nombre de bucles o rulos y al hecho de repetir la ejecuciónde acciones se llama iteración.

Tecnicas de construccion de diagramas

Page 15: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Diagrama de Flujo

Estructuras Básicas

SecuenciaAlternativa o SelectivaIteración o Repetitiva

HACER MIENTRAS: Se caracteriza porque la condición desalida del bucle está situada al comienzo del mismo, es decirlas acciones la hace mientras se cumple determinadacondición.Cuando se ejecuta una estructura de este tipo, lo que primerose hace es evaluar la condición, si la misma es falsa no serealiza ninguna acción. Si la condición resulta verdaderaentonces se ejecuta el cuerpo del bucle (acciones de laFigura). Este mecanismo se repite mientras la condición seaverdadera.

Tecnicas de construccion de diagramas

C o n d ic io n

S i

N o

A c c io n e s

Se hace notar que en este tipo de estructura

las acciones pueden no ejecutarse ningunavez.

Page 16: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Diagrama de Flujo

Estructuras Básicas

SecuenciaAlternativa o SelectivaIteración o Repetitiva

HACER HASTA: Se caracteriza porque la condición quecontrola la realización de las acciones del bucle está al finaldel mismo. En este tipo de iteración las acciones se repitenmientras la condición sea falsa, lo opuesto a la estructurahacer mientras.Este tipo de bucle se usa para situaciones en las que se deseaque un conjunto de instrucciones se ejecute al menos una vezantes de comprobar la condición de iteración. La figuramuestra la gráfica correspondiente.

Tecnicas de construccion de diagramas

C o n dic io n N o

A c cio n e s

S I

Page 17: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Diagrama de Flujo

Estructuras Básicas

SecuenciaAlternativa o SelectivaIteración o Repetitiva

Se puntualizan algunas diferencias entre estas dosestructuras:●La estructura mientras termina cuando la condición es falsa,en cambio la estructura hasta termina cuando la condición esverdadera.

●En la estructura hasta el cuerpo del bucle se ejecuta siempreal menos una vez, en cambio en la estructura mientraspermite que el cuerpo del bucle nunca se ejecute.

Tecnicas de construccion de diagramas

C o n d ic io n

S i

N o

A c c io n e s

C o n dic io n N o

A c cio n e s

S I

Page 18: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Diagrama de Flujo

Para confeccionar un diagrama de flujo, es aconsejable respetar las siguientes reglas:

●Todo diagrama de flujo debe indicar claramente dondecomienza (INICIO o COMENZAR) y donde termina (FIN oPARAR).

●El orden en que deben escribirse los símbolos es de arribaabajo y de izquierda a derecha.

●Es aconsejable emplear un símbolo para cada acción.

●Dentro de los símbolos no especificar instrucciones propiasde algún lenguaje de programación.

●La secuencia se indica mediante flechas o líneas de conexión(horizontales / verticales), las cuales deben ser siemprerectas, no se deben cruzar ni deben estar inclinadas.

Normas para su representación

Page 19: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Diagrama de Flujo

●A todos los símbolos (excepto al INICIO), les debe llegar unalínea de conexión.

●De todos los símbolos, excepto FIN y el de DECISIÓN, debesalir una sola línea de conexión.

●Es aconsejable usar conectores cuando las líneas de conexiónentre operaciones no adyacentes son muy largas, pero hay quetener en cuenta que el uso exagerado de conectores dificulta elentendimiento.

●Cuando trabajamos con operaciones lógicas recurrirpreferentemente a la lógica positiva antes que a la lógicanegativa. Es más claro decir si A = B, en vez de: si no es A <>B

●El diagrama de flujo deberá ser lo mas claro posible de formatal que cualquier otro programador pueda seguirlo o usarlo contotal facilidad de entendimiento.

●El diagrama de flujo en conjunto debe guardar una ciertasimetría.

Normas para su representación

Page 20: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Diagrama de Flujo

Necesitamos hacer un programa que multiplique dos

números enteros.

Sabemos que “5 x 3 = 15″ es lo mismo que “5 + 5 + 5 = 15”.

Variables

● multiplicando: entero (nos indica el número que vamos a sumar)

● multiplicador: entero (nos indica el número de veces que lo vamos a

sumar)

● resultado: entero (en esta variable asignaremos el resultado)

● indice: entero (nos indicara el número de veces que el número se ha

sumado)

Ejemplo

Page 21: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Diagrama de Flujo

Necesitamos hacer un programa que multiplique dos

números enteros.

Algoritmo

1) Asignamos el número 5 a multiplicando

2) Asignamos el número 3 a multiplicador

3) Asignamos el número 0 a resultado

4) Asignamos el número 0 a indice

5) Sumamos multiplicando y resultado

6) Asignamos a resultado la suma

7) Incrementamos 1 a indice

8) Mientras indice sea menor a multiplicador regresamos

al paso 5 de lo contrario continua

9) Muestra el resultado

10) Finalizar

Tenemos que inicializar cada variable de nuestro algoritmo, como se muestra en los

primeros cuatro pasos.

Ejemplo

Page 22: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Diagrama de Flujo

Necesitamos hacer un programa que multiplique dos

números enteros.

El siguiente paso es…

Prueba de escritorio

La prueba de escritorio es la ejecución manual de nuestro algorítmo

Ponemos a prueba nuestro algoritmo y nos mostrara si tenemos

errores (por lo que tendremos que modificar el algoritmo) o si esta

bien diseñado. Básicamente es el registro de las variables.

Siguiendo paso a paso nuestro algoritmo, obtendremos la siguiente

tabla.

Ejemplo

Page 23: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Diagrama de Flujo

Necesitamos hacer un programa que multiplique dos

números enteros.

Multiplicado 5

Multiplicador 3

Resultado 0 5 10 15

Indice 0 1 2 3

Vemos que el ultimo registro de la variable resultado, es 15, por lo que

nuestro algoritmo esta funcionando correctamente. Podemos probar con

otros número.

Ejemplo

Page 24: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

.

Diagrama de Flujo

Necesitamos hacer un programa que multiplique dos

números enteros.

Diagramas de flujo

Una vez que hemos probado muestro algoritmo con la prueba de

escritorio y el resultado es el correcto, podemos seguir a diseñar el

diagrama de flujo.

Cada paso de nuestro algoritmo en un procedimiento y se representan

con un rectángulo. (Podemos agrupar varios procedimientos en un solo

rectángulo, pero no es lo indicado)

Cada condición como el paso número 8 se representa con un rombo.

Este será el diagrama de flujo de nuestro algoritmo.

Ejemplo

Page 25: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

.

Diagrama de Flujo

Necesitamos hacer un programa que multiplique dos

números enteros.

1. Inicio

2. multiplicando = 5

3. multiplicador = 3

4. resultado = 0

5. indice = 0

6. do

7. resultado = resultado + multiplicando

8. indice = indice + 1

9. mientras indice < multiplicador

10. imprime resultado

11. finalizar

Ejemplo

Un programa lo podemos dividir enbloques, por ejemplo; de la línea 6 a la 9es un bloque, y para identificar cadabloque en el código lo podemos escribirdespués de unos espacios y así identificarciertos procesos. Esto nos sirve para encódigos muy grandes.

Page 26: Diagramas de flujo › umb › ind › diagramasflujo.pdf · Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programacióon pero sin su rigidez, de forma

Diagrama de Flujo

Y finalmente nos pasamos a la computadora y escribimos el código en algunlenguaje de programacion, en nuestro caso C.

Pseudocódigo y Código

El pseudocódigo es el siguiente paso de nuestro programa, y es larepresentación (escrita con nuestras propias palabras) del algoritmo.

Ejemplo

Iniciomultiplicando= 5multiplicador = 3resultado = 0indice = 0

si indice < multiplicador entoncesresultado = resultado + multiplicandoindice = indice + 1fin si

mostrar resultadoFin