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

5. De un símbolo de fin no parte ninguna línea. pero sólo saldrán dos.Reglas Básicas 1. Organigrama Genérico Inicio Entrada de datos Proceso Salida de datos Fin . 4. A un símbolo de inicio nunca le llegan líneas. 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. 3. 2.

EJERCICIOS DE DIAGRAMAS DE FLUJO 1. y dejamos el resultado en C  Escribimos C Leer B C=A+B Escribir C Fin 2. 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. En S calculamos la suma. Hacer el diagrama de flujo para sumar dos números leídos por teclado y escribir el resultado. . 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 ... . (1) (2) (3) (4) (5) (6) (3) (4) (5) (6) I=100 (números a sumar) S=0 (suma. 8. 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. Supongamos que los datos son: 7. inicialmente 0) Leer A. Modificar el anterior para que permita sumar N números. 5. -1.Vamos a ver paso a paso como funciona. luego A=7 S=S+A=0+7=7 I=I-1=100-1=99 ¿I=0? �NO Leer A. El primero es 7. El valor de N se debe leer previamente por teclado.

El proceso es similar al anterior.4. Hacer el diagrama de flujo para sumar los N primeros impares. Realizar después uno que haga lo mismo con los pares y otro con los múltiplos de 3. Necesitamos un bucle para contar 100 veces y dentro de él escribimos el par e incrementamos para obtener el siguiente. 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. 5. Hacer un diagrama de flujo que permita escribir los 100 primeros pares. 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.

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

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.(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. Hacer un diagrama de flujo que simule un reloj. .

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

Inicio 13. Hacer un organigrama que lea N números.PI Fin 11. calcule y escriba la suma de los pares y el producto de los impares. Inicio Leer N. 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.10.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 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 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 A 15.

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. 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 .16. Inicio 18.

comparamos con M y si son mayores cambiamos el máximo temporal. Calcular el máximo de N números leídos desde teclado. empleando como datos: 2. Vamos a ejecutarlo paso a paso para N=4. Al final se escribe el resultado. 3. 7. 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 . 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. -1.17.

(5) (7) (8) (4) (5) (6) (7) (8) (9) ¿A>M? �NO I=I-1=2-1=1 ¿I=0? �NO Leer A. es decir 7 22. A=7 ¿A>M? �SI M=A=7 I=I-1=1-1=0 ¿I=0? �SI Escribir M. 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 .

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.A Fin . 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. Inicio Leer B DIAS (1)=31 DIAS (2)=28 DIAS (3)=31 .23.M.

26.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. Inicio 27.

Inicio 29.28. 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 .