26
Computacion - FA.CE.NA. Diagramas de fujo Tema 5

Tema5

  • Upload
    jesybs

  • View
    217

  • Download
    0

Embed Size (px)

DESCRIPTION

organigrama

Citation preview

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 1/26

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 2/26

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. structuras

b!sicas. "ormas para su representación. jemplo.

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 3/26

Computacion - FA.CE.NA.

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 mtodo 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.

#sta representación independiza al algoritmo del lenguajede programación elegido, permitiendo de esta manera quepueda ser codificado indistintamente en cualquier lenguaje.

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 4/26

Computacion - FA.CE.NA.

Diagrama de Flujo

#as dos $erramientas mas utilizadas comunmente para describir

algoritmos son%Diagramas de Flujo:  son representaciones gr!&icas de secuenciasde pasos a realizar. Cada operacion se representa mediante unsímbolo normalizado el 'nstituto "orteamericano de "ormalizacion()"S' * )merican "ational Standars 'nstitute+. #as líneas de &lujoindican el orden de ejecución.#os diagramas de &lujo suelen ser usados solo para representar

algoritmos pe,ue-os /a ,ue abarcan muc$o espacio.

 

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 5/26

Computacion - FA.CE.NA.

Diagrama de Flujo

Pseudocódigos:  describen un algoritmo de &orma similar a un

lenguaje de programacióon pero sin su rigidez de &orma m!s parecida

al lenguaje natural. 0resentan la ventaja de ser m!s compactos ,ue

los diagramas de &lujo m!s &!ciles de escribir para las instrucciones

complejas / m!s &!ciles de trans&erir a un lenguaje de programación.

l pseudocódigo no est! regido por ning1n est!ndar.

 )lgunas palabras usadas son #R2'30R'3'R para representar lasacciones de lectura de datos / 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

4* '30R'3'R 'ntroduce la altura en centimetros%

6* #R% altura7* C)#C8#)R pulgadas9altura=6:5:

:* C)#C8#)R pies9pulgadas=46

5* '30R'3'R #a altura en pulgadas es% pulgadas

;* '30R'3'R #a altura en pies es % pies

Fin

 

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 6/26

Computacion - FA.CE.NA.

Diagrama de Flujo

#l uso de diagramas de flujo  como herramienta deprogramación tiene beneficios que resumidamente sedetallan"

$ápida comprensión de las relaciones

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

&ocumentación adecuada de los programas'roduce una codificación eficaz en los programas

&epuración y pruebas ordenadas de programas

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

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 7/26

Computacion - FA.CE.NA.

Diagrama de Flujo

)os s*mbolos estándar han sido normalizados por ANSI + American National Standards Institute , IBM, IRAM 

+nstituto $acionalizador -rgentino de ateriales/ y son muyvariados..

5. 2 Representacion im!ólica

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 8/26

Computacion - FA.CE.NA.

Represena el Fin / Comienzo del diagrama

ntrada 2salida * Cual,uier tipo de introducción de datos en la memoria desde losperi&éricos de entrada o registro de la in&ormación procesada en un peri&érico de

salida (no interesa el soporte+

<peracióno proceso * acciones a realizar(sumar dos n1meros calcular raíz

cuadrada asignaciones etc.*

Subrutina * llamada a un subprograma ,ue es un módulo independiente del

programa principal ,ue realiza una determinada tarea / regresa a la siguiente

instrucción de donde &ue llamada.

Decisión* operaciones lógicas o de compraciónentre datos / en&uncióndel

resultado determina cualde los dos distintos caminos alternativos del programa sedebe seguir. "ormalmente tiene dos respuestas S' o "<

Conector * enlaza dos partes cuales,uiera del diagrama mediante un conector de

salida / otro de entrada. Siempre dentro de la misma p!gina

#ínea de F#ujo * indica el sentido de la ejecución de las operaciones

Conector * idem al conector anterior pero usando distitnas p!ginas

Teclado * introducciónmanual de datos desde el teclado

'mpresora * salida de datos en& orma impresa

Disco 3agnético * para lectura o grabaciónde datos

0antalla * ntrada 2 Salida de datos por pantalla

=   "oSi

Cinta 3agnética * para lectura o grabación de datos

Dis,uete o disco &le>ible * para lectura o grabaciónde datos

CD * Disco Compacto * para lectura o grabación de datos

IM"#$# F % & ' I # &

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 9/26

Computacion - FA.CE.NA.

Diagrama de Flujo

5.3.1 Estructuras Básicas

)as estructuras básicas son las tres siguientes"

 %ecuencia-lternativa o %electiva

 teración o $epetitiva

 5.( Tecnicas de construccion de diagramas

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 10/26

Computacion - FA.CE.NA.

Diagrama de Flujo

5.3.1 Estructuras Básicas

Secuencia-lternativa o %electivateración o $epetitiva

%e compone de un grupo de acciones que se realizan todasy en el orden en que están escritas, sin posibilidad de omitir

ninguna de ellas.)as 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.

 5.( Tecnicas de construccion de diagramas

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 11/26

Computacion - FA.CE.NA.

Diagrama de Flujo

5.3.1 Estructuras Básicas

SecuenciaAlternativa o Selectivateración o $epetitiva

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

#stas estructuras se utilizan para tomar decisiones lógicas0 porello recibe tambin el nombre de estructuras de decisión oalternati!as o condicional .

)as condiciones que se especifican usan e1presiones lógicas yusan la figura geomtrica en forma de rombo. #stas estructuras

pueden ser" Simples o dobles.

 5.( Tecnicas de construccion de diagramas

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 12/26

Computacion - FA.CE.NA.

Diagrama de Flujo

5.3.1 Estructuras Básicas

SecuenciaAlternativa o Selectivateración o $epetitiva

Simple" 

%olo obliga a realizar acciones si se cumple lacondición. #l 2no cumplimiento3 de la condición implica que

no se realizará ninguna acción.

#oble" #l cumplimiento o no de la condición lógica obliga a laejecución de diferentes grupos de acciones.

 5.( Tecnicas de construccion de diagramas

6

Condicion

 )ccion

S'"<   Condicion

 )ccion

S'

 )ccion

"<

4

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 13/26

Computacion - FA.CE.NA.

Diagrama de Flujo

5.3.1 Estructuras Básicas

SecuenciaAlternativa o Selectivateración o $epetitiva

Estructura de elección entre varios casos

#ste tipo de estructura permite decidir entre varios caminos

posibles, en función del valor que tome una determinadainstrucción.

 5.( Tecnicas de construccion de diagramas

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 14/26

Computacion - FA.CE.NA.

Diagrama de Flujo

5.3.1 Estructuras Básicas

SecuenciaAlternativa o SelectivaIteración o Repetitiva

'ermite repetir una o varias instrucciones un n!merodeterminado de veces que vendrá determinado por una

condición. #sta condición se conoce como condición desalida.

- estos tipos de estructuras se las conoce tambin con elnombre de bucles o rulos y al hecho de repetir la ejecuciónde acciones se llama iteración.

 5.( Tecnicas de construccion de diagramas

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 15/26

Computacion - FA.CE.NA.

Diagrama de Flujo

5.3.1 Estructuras Básicas

SecuenciaAlternativa o SelectivaIteración o Repetitiva

4-5#$ #6T$-%" %e caracteriza porque la condición desalida del bucle está situada al comienzo del mismo, es decir

las acciones la hace mientras se cumple determinadacondición.5uando 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. %i la condición resulta verdaderaentonces se ejecuta el cuerpo del bucle +acciones de la

(igura/. #ste mecanismo se repite mientras la condición seaverdadera.

 5.( Tecnicas de construccion de diagramas

Condicion

Si

"o

 )ccione s

Se hace notar que en este tipo de estructuralas acciones pueden no ejecutarse ningunavez.

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 16/26

Computacion - FA.CE.NA.

Diagrama de Flujo

5.3.1 Estructuras Básicas

SecuenciaAlternativa o SelectivaIteración o Repetitiva

4-5#$ 4-%T-" %e caracteriza porque la condición quecontrola la realización de las acciones del bucle está al final

del mismo. #n este tipo de iteración las acciones se repitenmientras la condición sea falsa, lo opuesto a la estructurahacer mientras#ste 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. )a figura

muestra la gráfica correspondiente.

 5.( Tecnicas de construccion de diagramas

Condicion   "o

 )cciones

S'

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 17/26

Computacion - FA.CE.NA.

Diagrama de Flujo

5.3.1 Estructuras Básicas

SecuenciaAlternativa o SelectivaIteración o Repetitiva

%e puntualizan algunas diferencias entre estas dosestructuras"●

)a estructura mientras termina cuando la condición es falsa,en cambio la estructura hasta termina cuando la condición esverdadera.●#n la estructura hasta el cuerpo del bucle se ejecuta siempreal menos una vez, en cambio en la estructura mientras

permite que el cuerpo del bucle nunca se ejecute.

 5.( Tecnicas de construccion de diagramas

Condicion

Si

"o

 )cciones

Condicion   "o

 )cciones

S'

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 18/26

Computacion - FA.CE.NA.

Diagrama de Flujo

'ara confeccionar un diagrama de flujo, es aconsejablerespetar las siguientes reglas"

●Todo diagrama de flujo debe indicar claramente dondecomienza +657 o 57#68-$/ y donde termina +(6 o'-$-$/.

●#l orden en que deben escribirse los s*mbolos es de arribaabajo y de izquierda a derecha.

●#s aconsejable emplear un s*mbolo para cada acción.

●&entro de los s*mbolos no especificar instrucciones propiasde alg!n lenguaje de programación.

●)a secuencia se indica mediante flechas o l*neas de cone1ión

+horizontales 9 verticales/, las cuales deben ser siemprerectas, no se deben cruzar ni deben estar inclinadas.

 5.) &ormas para su representación

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 19/26

Computacion - FA.CE.NA.

Diagrama de Flujo

●- todos los s*mbolos +e1cepto al 657/, les debe llegar unal*nea de cone1ión.●&e todos los s*mbolos, e1cepto (6 y el de &#5%:6, debesalir una sola l*nea de cone1ión.●#s aconsejable usar conectores cuando las l*neas de cone1iónentre operaciones no adyacentes son muy largas, pero hay quetener en cuenta que el uso e1agerado de conectores dificulta el

entendimiento.●5uando trabajamos con operaciones lógicas recurrirpreferentemente a la lógica positiva antes que a la lógicanegativa. #s más claro decir si - ; <, en vez de" si no es - =><●

#l diagrama de flujo deberá ser lo mas claro posible de formatal que cualquier otro programador pueda seguirlo o usarlo contotal facilidad de entendimiento.●#l diagrama de flujo en conjunto debe guardar una ciertasimetr*a.

 5.) &ormas para su representación

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 20/26

Computacion - FA.CE.NA.

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!.

*aria!les

● multiplicando% entero (nos indica el n1mero ,ue vamos a sumar+● multiplicador% entero (nos indica el n1mero de veces ,ue lo vamos a

sumar+● resultado% entero (en esta variable asignaremos el resultado+● indice% entero (nos indicara el n1mero de veces ,ue el n1mero se $a

sumado+ 

Ejemplo

Di d Fl j

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 21/26

Computacion - FA.CE.NA.

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) ientras indice sea menor a multiplicador regresamosal paso 5 de lo contrario continua

!) uestra el resultado

10) "inali#ar 

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

primeros cuatro pasos.

Ejemplo

Di d Fl j

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 22/26

Computacion - FA.CE.NA.

Diagrama de Flujo

 Necesitamos hacer un programa que multiplique dos

números enteros.

l siguiente paso es?

Prue!a de escritorio

La pruea de escritorio es la e!ecuci"n manual de nuestro algorítmo0onemos a prueba nuestro algoritmo / nos mostrara si tenemos

errores (por lo ,ue tendremos ,ue modi&icar el algoritmo+ o si esta

bien dise-ado. @!sicamente es el registro de las variables.

Siguiendo paso a paso nuestro algoritmo obtendremos la siguiente

tabla.

Ejemplo

Di d Fl j

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 23/26

Computacion - FA.CE.NA.

Diagrama de Flujo

 Necesitamos hacer un programa que multiplique dos

números enteros.

3ultiplicado 5

3ultiplicador 7

Resultado A 5 4A 45

'ndice A 4 6 7

Bemos ,ue el ultimo registro de la variable resultado es 45 por lo ,ue

nuestro algoritmo esta &uncionando correctamente. 0odemos probar con

otros n1mero.

Ejemplo

Di d Fl j

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 24/26

Computacion - FA.CE.NA.

Diagrama de Flujo

 Necesitamos hacer un programa que multiplique dos

números enteros.

Diagramas de +lujo

8na vez ,ue $emos probado muestro algoritmo con la prueba de

escritorio / el resultado es el correcto podemos seguir a dise-ar el

diagrama de &lujo.

Cada paso de nuestro algoritmo en un procedimiento / se representan

con un rect!ngulo. (0odemos agrupar varios procedimientos en un solo

rect!ngulo pero no es lo indicado+

Cada condición como el paso n1mero se representa con un rombo.

ste ser! el diagrama de &lujo de nuestro algoritmo.

Ejemplo

Di d Fl j

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 25/26

Computacion - FA.CE.NA.

Diagrama de Flujo

 Necesitamos hacer un programa que multiplique dos

números enteros.

4. 'nicio

6. multiplicando 9 5

7. multiplicador 9 7

:. resultado 9 A

5. indice 9 A

;. do. resultado 9 resultado E multiplicando

. indice 9 indice E 4

. mientras indice G multiplicador

4A. imprime resultado

44. &inalizar

Ejemplo

8n programa lo podemos dividir enblo,ues por ejemploH de la línea ; a la es un blo,ue / para identi&icar cadablo,ue en el código lo podemos escribirdespués de unos espacios / así identi&icarciertos procesos. sto nos sirve para encódigos mu/ grandes.

Diagrama de Flujo

7/17/2019 Tema5

http://slidepdf.com/reader/full/tema5-56908c3f12e64 26/26

Computacion - FA.CE.NA.

Diagrama de Flujo

 , +inalmente nos pasamos a la computadora - escri!imos el código en algunlenguaje de programacion en nuestro caso '.

Pseudocódigo - 'ódigo

l pseudocódigo es el siguiente paso de nuestro programa / es larepresentación (escrita con nuestras propias palabras+ del algoritmo.

Ejemplo

Inicio multiplicando= 5multiplicador = 3resultado = 0indice = 0

si indice < multiplicadorentonces

resultado = resultado +

multiplicandoindice = indice + 1fin si

mostrar resultadoFin