DIAGRAMAS DE FLUJO

Símbolos en los Organigramas

Comienzo y Fin

Proceso general

Toma de decisiones

Entrada de datos por teclado Salida de datos por pantalla

Salida de datos por impresora Almacenamiento en disco magnético

Conector fuera de página

Líneas de conexión y dirección del flujo

Organigrama Genérico Inicio Entrada de datos Proceso Salida de datos Fin . 3. 4. pero sólo saldrán dos. Todos los símbolos han de estar conectados A un símbolo de proceso pueden llegarle varias líneas A un símbolo de decisión pueden llegarle varias líneas.Reglas Básicas 1. A un símbolo de inicio nunca le llegan líneas. 5. De un símbolo de fin no parte ninguna línea. 2.

Hacer el diagrama de flujo para sumar dos números leídos por teclado y escribir el resultado. y dejamos el resultado en C  Escribimos C Leer B C=A+B Escribir C Fin 2. En S calculamos la suma. . Inicio Leer A  Leemos el primer número y lo dejamos en A  Leemos el segundo número y lo dejamos en B  Sumamos A y B.EJERCICIOS DE DIAGRAMAS DE FLUJO 1. Inicio (1) I=100 (2) (3) S=0 Leer A (4) S=S+A (5) I=I-1 (6) I=0 SI NO (7) Escribir S Fin - En I contamos los números que quedan por sumar. Modificar el anterior pero para sumar 100 números leídos por teclado. A se emplea para leer temporalmente cada número.

Inicio Leer N S=0 Leer A S=S+A N=N-1 NO N=0 SI Escribir S Fin . El primero es 7. El valor de N se debe leer previamente por teclado.. 8. . -1. Modificar el anterior para que permita sumar N números. Supongamos que los datos son: 7..Vamos a ver paso a paso como funciona. (1) (2) (3) (4) (5) (6) (3) (4) (5) (6) I=100 (números a sumar) S=0 (suma. inicialmente 0) Leer A. ahora A=-1 S=S+A=7-1=6 I=I-1=99-1=98 ¿I=0? �NO Cuando I=0 habremos sumado los 100 números y pasaremos a: (7) Escribir S que será la suma 3. 5. luego A=7 S=S+A=0+7=7 I=I-1=100-1=99 ¿I=0? �NO Leer A.

Realizar después uno que haga lo mismo con los pares y otro con los múltiplos de 3. Inicio Leer N I=1 S=0 S=S+I I=I+2 N=N-1 NO N=0 SI Escribir S Fin . I: Contador de pares que quedan por escribir. Necesitamos un bucle para contar 100 veces y dentro de él escribimos el par e incrementamos para obtener el siguiente. 5. Hacer el diagrama de flujo para sumar los N primeros impares.4. Inicio I=100 P=0 Escribir P P=P+2 I=I-1 NO I=0 SI Fin P: Variable para contener el siguiente par que se debe escribir. El proceso es similar al anterior. Hacer un diagrama de flujo que permita escribir los 100 primeros pares.

Se decrementa N y cuando valga 2. (1) (2) (3) (4) (5) (6) (7) (8) (9) (5) Leemos N. 1. Inicio (1) Leer N SI (2) N<=2 NO A=1 (3) B=1 (4) C=A+B (5) A=B (6) B=C (7) N=N-1 (9) N=2 (10) (8) SI (11) Escribir 1 Escribir B NO Fin Dado N. 2. 13. Vamos a ver como funciona paso a paso. 3. pasando después a llamar A al antiguo B. 21..6. los dos primeros son 1 y el resto cada uno es la suma de los dos anteriores. La sucesión de Fibonacci se define de la siguiente forma: a1=1. . supongamos N=4. en otro caso se guardan en A y B los 2 últimos (al principio 1) y se suman. y B a la suma. los primeros son: 1. Para ello vamos a numerar cada uno de los pasos y ver como se van realizando. es decir. el proceso es el siguiente: si Ns2 se escribe directamente 1 y se acaba.. Hacer un diagrama de flujo para calcular el Nésimo término de la sucesión. 5. a2 =1 y an =an-1+an-2 para n>2. 8. en B tenemos lo que queremos. ¿ Ns2? �NO A=1 B=1 C=A+B=1+1=2 A=B=1 B=C=2 N=N-1=4-1=3 ¿N=2? �NO C=A+B=1+2=3 .

(6) (7) (8) (9) (10) A=B=2 B=C=3 N=N-1=3-1=2 ¿N=2? �SI Escribimos B. . 7. es decir 3. Inicio H=0 M=0 S=0 Escribir H:M:S S=S+1 NO S=60 SI S=0 M=M+1 NO M=60 SI M=0 H=H+1 NO H=24 SI H=0 Esperar 1 seg. Hacer un diagrama de flujo que simule un reloj.

El iva puede ser el 4%. Para acabar se debe imprimir el importe y el iva resultantes (total menos descuento) y la suma de ambos.IVA SI SI SI D=0 SI SI D=5 SIMP<10000 IMP=0 NO IVA=4 NO SIMP<1000 NO NO D=10 IVA=7 NO IVA=16 NO Escribir IVA incorrecto SI SIMP=SIMPSIMP·D 100 SIVA·D 100 SIVA=SIVA- SIMP=SIMP+IMP TOT=SIMP+SIVA SIVA=SIVA+ IMP·IVA 100 Escribir SIMP.9. en función de la suma de los importes. Inicio SIMP=0 SIVA=0 leer IMP. La lista finaliza cuando el importe sea 0. Finalmente hay que realizar un descuento. en cualquier otro caso se rechazan importe e iva y se deben introducir de nuevo. Hacer un organigrama que calcule el total de una factura. partiendo de una lista de parejas importe. dicho descuento es del 0% si es menor que 1000. El descuento se debe aplicar a la suma de los importes y a la suma de los ivas. iva. el 7% o el 16%.SIVA.TOT Fin . es del 5% si es mayor o igual que 1000 y menor que 10000 y es de un 10% si es mayor o igual que 10000.

Inicio Leer N SP=0 PI=1 Leer A SI NO SP=SP+A PI=PI·A A MOD 2=0 N=N-1 NO N=0 SI Escribir SP.PI Fin 11. Inicio 13. calcule y escriba la suma de los pares y el producto de los impares.10. Inicio Leer N. Hacer un organigrama que lea N números.M R=N MOD M Leer N P=1 R=0 SI N>1 NO NO N=M SI P=P·N M=R N=N-1 Escribir M Escribir P Fin Fin .

12. Inicio Leer A 15. Inicio Leer N Leer R I=1 Leer N R(I)=N MOD 2 S=0 N=N DIV 2 S=S+A I=I+1 A=A·R SI N>0 NO I=I-1 N=N-1 SI N>0 NO Escribir S I>0 SI Escribir R(I) Fin NO Fin . Inicio Leer N I=2 P(I)=1 I=I+1 SI I<=N NO I=2 P(I)=1 SI Escribir I NO J=2·I J<=N SI P(J)=0 NO I=I+1 J=J+I I<=N NO Fin SI 14.

Inicio 18. Inicio Leer N Leer A I=1 Leer B Leer A(I) P=1 SI I=I+1 NO NO B=0 SI SI I<=N NO M=A(1) B>0 J=1 A=1/A B=-B I=2 A(I)>M NO SI P=P·A J=I B=B-1 SI I=I+1 NO I<=N NO A(J)=A(N) B=0 SI Escribir P A(N)=M N=N-1 Fin SI N>1 NO Fin 19.16. Inicio Leer B I=1 J=N K=(I+J) DIV 2 SI B=A(K) NO SI I=K+1 NO J=K-1 B>A(K) Escribir K Fin .

Al final se escribe el resultado. comparamos con M y si son mayores cambiamos el máximo temporal. Vamos a ejecutarlo paso a paso para N=4. empleando como datos: 2. el primero va directamente a M y los N-1 restantes los leemos en A. (1) (2) (3) (4) (5) (6) (7) (8) (4) Leer N �N=4 Leer M �M=2 I=N-1=3 Leer A � A=3 ¿A>M? �SI M=A=3 I=I-1=3-I=2 ¿I=0? �NO Leer A � A=-1 . 7. -1. Calcular el máximo de N números leídos desde teclado. 3. Inicio Leer N (1) Leer M (2) I=N-1 (3) Leer A (4) (5) A>M NO SI M=A (6) I=I-1 (7) NO I=0 SI Escribir M (8) (9) Fin Vamos a almacenar en M el máximo de los números que se hayan leído.17.

Inicio Leer N S=0 D=1 SI S=S+D N MOD D=0 NO D=D+1 D<N NO NO Escribir N no es perfecto S=N SI SI Escribir N es perfecto Fin . es decir 7 22. A=7 ¿A>M? �SI M=A=7 I=I-1=1-1=0 ¿I=0? �SI Escribir M.(5) (7) (8) (4) (5) (6) (7) (8) (9) ¿A>M? �NO I=I-1=2-1=1 ¿I=0? �NO Leer A.

23. Inicio Leer B DIAS (1)=31 DIAS (2)=28 DIAS (3)=31 . DIAS (12)=31 SI DIAS (2) = 29 A es bisiesto NO D=D+1 SI D=1 D>DIAS (M) NO M=M+1 SI M=1 M>12 A=A+1 Escribir D.A Fin . Inicio Leer A SI NO NO A MOD 4=0 SI A MOD 100=0 SI Escribir A es bisiesto A MOD 400=0 NO Escribir A no es bisiesto Fin 24.M.

5·P·E A<N NO Escribir S Fin Fin . Inicio Leer N Leer P A=1 B=1 Leer H C=1 E=0 A·A+B·B=C·C NO SI C=C+1 SI C<N NO B=B+1 H=40 SI B<N NO A=A+1 SI S=P·H+1.26. Inicio 27.

Inicio MON(1)=1 Leer SAL MON(2)=5 Leer H MON(3)=25 MON(4)=50 SI D=0 H=0 SI NO NO MON(5)=100 H<3 Leer PRE Leer D=5 D=15 ENT DIF=ENT-PRE SAL=SAL- D·SAL 100 SAL·15 100 I=5 IMP= NO SI DIF>MON(I) Escribir IMP CAM(I)=DIF DIV MON(I) CAM(I)=0 DIF=DIF MOD MON(I) Fin Escribir CAM(I) de MON(I) I=I-1 SI I>0 NO Fin .28. Inicio 29.