Diagramas de flujo

Download Report

Transcript Diagramas de flujo

Tema 5
Diagramas de flujo
Computacion - FA.CE.NA.
Diagrama de Flujo
TEMA5
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.
Computacion - FA.CE.NA.
Diagrama de Flujo
Tanto en la fase de análisis del problema como durante el
diseño del algoritmo, se plantea la necesidad de representar
claramente el flujo de operaciones que se han de realizar
para su resolución y el orden en que estas operaciones
deber ser ejecutadas.
Una vez que el algoritmo esté diseñado se debe proceder a
representarlo 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 en
algú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.
Computacion - FA.CE.NA.
Diagrama de Flujo
Las dos herramientas mas utilizadas comunmente para describir
algoritmos son:
Diagramas de Flujo: son representaciones gráficas de secuencias
de pasos a realizar. Cada operacion se representa mediante un
símbolo normalizado el Instituto Norteamericano de Normalizacion
(ANSI - American National Standars Institute). Las líneas de flujo
indican el orden de ejecución.
Los diagramas de flujo suelen ser usados solo para representar
algoritmos pequeños, ya que abarcan mucho espacio.
Computacion - FA.CE.NA.
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
Computacion - FA.CE.NA.
Diagrama de Flujo
El uso de diagramas de flujo como herramienta de
programación tiene beneficios que resumidamente se
detallan:
Rápida comprensión de las relaciones
Se pueden usar como modelos de trabajo para el diseño de
nuevos 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.
Computacion - FA.CE.NA.
Diagrama de Flujo
5. 2 Representacion Simbólica
Los símbolos estándar han sido normalizados por ANSI
(American National Standards Institute), IBM, IRAM
(Instituto Racionalizador Argentino de Materiales) y son muy
variados..
Computacion - FA.CE.NA.
S IM B O LO S
FU N C IO N
R e p re s e n a e l Fin 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 tip 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 rifé ric o s d e e n tra d a o re g is tro d e la in fo rm a c ió n p ro c e s a d a e n u n p e rifé 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 liz a r ( s u m a r d o s n ú m e ro s , c a lc u la r r a í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 - lla m a d a a u n s u b p ro g ra 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 r o g r a 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 r e a y re g re s a a la s ig u ie n te
in s tru c c ió n d e d o n d e fu e lla m a d a .
Si
?
No
D e c is 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 tr e d a t o s y e n fu n c ió n d e l
re su 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 tiv 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 tro 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 FL u jo - in d ic a e l s e n tid 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
Te 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 sa
D isc 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
C in ta M a g n é tic a - p a ra le ctu ra o g ra b a c ió n d e d a to s
D isq 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 isc o C o m p a c to - p a ra le c tu ra o g ra b a c ió n dComputacion
e d a to s
- FA.CE.NA.
Diagrama de Flujo
5.3 Tecnicas de construccion de diagramas
5.3.1 Estructuras Básicas
Las estructuras básicas son las tres siguientes:
Secuencia
Alternativa o Selectiva
Iteración o Repetitiva
Computacion - FA.CE.NA.
Diagrama de Flujo
5.3 Tecnicas de construccion de diagramas
5.3.1 Estructuras Básicas
Secuencia
Alternativa o Selectiva
Iteración o Repetitiva
Se compone de un grupo de acciones que se realizan todas
y en el orden en que están escritas, sin posibilidad de omitir
ninguna de ellas.
Las tareas se suceden de forma tal que la salida de una de
ellas es la entrada de la siguiente y así sucesivamente hasta
el final del proceso.
Computacion - FA.CE.NA.
Diagrama de Flujo
5.3 Tecnicas de construccion de diagramas
5.3.1 Estructuras Básicas
Secuencia
Alternativa o Selectiva
Iteración o Repetitiva
Permite la selección entre dos grupos de acciones dependiendo
de que una determinada condición se cumpla o no.
Estas estructuras se utilizan para tomar decisiones lógicas; por
ello recibe también el nombre de estructuras de decisión o
alternativas o condicional.
Las condiciones que se especifican usan expresiones lógicas y
usan la figura geométrica en forma de rombo. Estas estructuras
pueden ser: Simples o dobles.
Computacion - FA.CE.NA.
Diagrama de Flujo
5.3 Tecnicas de construccion de diagramas
5.3.1 Estructuras Básicas
Secuencia
Alternativa o Selectiva
Iteración o Repetitiva
Simple: Solo obliga a realizar acciones si se cumple la
condición. El “no cumplimiento” de la condición implica que
no 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.
NO
Condicion
SI
Accion
NO
Condicion
Accion
Accion
Computacion - FA.CE.NA.
1
SI
2
Diagrama de Flujo
5.3 Tecnicas de construccion de diagramas
5.3.1 Estructuras Básicas
Secuencia
Alternativa o Selectiva
Iteración o Repetitiva
Estructura de elección entre varios casos
Este tipo de estructura permite decidir entre varios caminos
posibles, en función del valor que tome una determinada
instrucción.
Computacion - FA.CE.NA.
Diagrama de Flujo
5.3 Tecnicas de construccion de diagramas
5.3.1 Estructuras Básicas
Secuencia
Alternativa o Selectiva
Iteración o Repetitiva
Permite repetir una o varias instrucciones un número
determinado de veces que vendrá determinado por una
condición. Esta condición se conoce como condición de
salida.
A estos tipos de estructuras se las conoce también con el
nombre de bucles o rulos y al hecho de repetir la ejecución
de acciones se llama iteración.
Computacion - FA.CE.NA.
Diagrama de Flujo
5.3 Tecnicas de construccion de diagramas
5.3.1 Estructuras Básicas
Secuencia
Alternativa o Selectiva
Iteración o Repetitiva
HACER MIENTRAS: Se caracteriza porque la condición de
salida del bucle está situada al comienzo del mismo, es decir
las acciones la hace mientras se cumple determinada
condición.
Cuando se ejecuta una estructura de este tipo, lo que primero
se hace es evaluar la condición, si la misma es falsa no se
realiza ninguna acción. Si la condición resulta verdadera
entonces se ejecuta el cuerpo del bucle (acciones de la
Figura). Este mecanismo se repite mientras la condición sea
verdadera.
C o n d ic io n
Se hace notar que en este tipo de estructura
las acciones pueden no ejecutarse ninguna
vez.
Computacion - FA.CE.NA.
Si
A c c io n e s
No
Diagrama de Flujo
5.3 Tecnicas de construccion de diagramas
5.3.1 Estructuras Básicas
Secuencia
Alternativa o Selectiva
Iteración o Repetitiva
HACER HASTA: Se caracteriza porque la condición que
controla la realización de las acciones del bucle está al final
del mismo. En este tipo de iteración las acciones se repiten
mientras la condición sea falsa, lo opuesto a la estructura
hacer mientras.
Este tipo de bucle se usa para situaciones en las que se desea
que un conjunto de instrucciones se ejecute al menos una vez
antes de comprobar la condición de iteración. La figura
muestra la gráfica correspondiente.
A c c io n e s
C o n d ic io n
Computacion - FA.CE.NA.
SI
No
Diagrama de Flujo
5.3 Tecnicas de construccion de diagramas
5.3.1 Estructuras Básicas
Secuencia
Alternativa o Selectiva
Iteración o Repetitiva
Se
puntualizan algunas diferencias entre estas dos
estructuras:
●La estructura mientras termina cuando la condición es falsa,
en cambio la estructura hasta termina cuando la condición es
verdadera.
En la estructura hasta el cuerpo del bucle se ejecuta siempre
al menos una vez, en cambio en la estructura mientras
permite que el cuerpo del bucle nunca se ejecute.
●
A c c io n e s
C o n d ic io n
N o
S i
C o n d ic io n
A c c io n e s
Computacion - FA.CE.NA.
SI
No
Diagrama de Flujo
5.4 Normas para su representación
Para confeccionar un diagrama de flujo, es aconsejable
respetar las siguientes reglas:
Todo diagrama de flujo debe indicar claramente donde
comienza (INICIO o COMENZAR) y donde termina (FIN o
PARAR).
●
El orden en que deben escribirse los símbolos es de arriba
abajo y de izquierda a derecha.
●
Es aconsejable emplear un símbolo para cada acción.
●
Dentro de los símbolos no especificar instrucciones propias
de algún lenguaje de programación.
●
La secuencia se indica mediante flechas o líneas de conexión
(horizontales / verticales), las cuales deben ser siempre
rectas, no se deben cruzar ni deben estar inclinadas.
●
Computacion - FA.CE.NA.
Diagrama de Flujo
5.4 Normas para su representación
A todos los símbolos (excepto al INICIO), les debe llegar una
línea de conexión.
●
De todos los símbolos, excepto FIN y el de DECISIÓN, debe
salir una sola línea de conexión.
●
Es aconsejable usar conectores cuando las líneas de conexión
entre operaciones no adyacentes son muy largas, pero hay que
tener en cuenta que el uso exagerado de conectores dificulta el
entendimiento.
●
Cuando
trabajamos
con
operaciones
lógicas
recurrir
preferentemente a la lógica positiva antes que a la lógica
negativa. 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 forma
tal que cualquier otro programador pueda seguirlo o usarlo con
total facilidad de entendimiento.
●
El diagrama de flujo en conjunto debe guardar una cierta
simetría.
●
Computacion - FA.CE.NA.
Diagrama de Flujo
Ejemplo
Necesitamos hacer
números enteros.
un
programa
que
multiplique
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)
●
Computacion - FA.CE.NA.
dos
Diagrama de Flujo
Ejemplo
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
Computacion - FA.CE.NA.
primeros cuatro pasos.
Diagrama de Flujo
Ejemplo
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.
Computacion - FA.CE.NA.
Diagrama de Flujo
Ejemplo
Necesitamos hacer
números enteros.
Multiplicado
5
Multiplicador
3
un
programa
Resultado
0
5
10 15
Indice
0
1
2
que
multiplique
dos
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.
Computacion - FA.CE.NA.
Diagrama de Flujo
Ejemplo
Necesitamos hacer
números enteros.
un
programa
que
multiplique
dos
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.
Computacion - FA.CE.NA.
Diagrama de Flujo
Ejemplo
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
Un programa lo podemos dividir en
bloques, por ejemplo; de la línea 6 a la 9
es un bloque, y para identificar cada
bloque en el código lo podemos escribir
después de unos espacios y así identificar
ciertos procesos. Esto nos sirve para en
códigos muy grandes.
Computacion - FA.CE.NA.
Diagrama de Flujo
Ejemplo
Y finalmente nos pasamos a la computadora y escribimos el código en algun
lenguaje de programacion, en nuestro caso C.
Pseudocódigo y Código
El pseudocódigo es el siguiente paso de nuestro programa, y es la
representación (escrita con nuestras propias palabras) del algoritmo.
Inicio
multiplicando= 5
multiplicador = 3
resultado = 0
indice = 0
si indice < multiplicador
entonces
resultado = resultado +
multiplicando
indice = indice + 1
fin si
mostrar resultado
Fin
Computacion - FA.CE.NA.