Está en la página 1de 16

DIAGRAMAS DE FLUJO

Smbolos 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 magntico

Conector fuera de pgina

Lneas de conexin y direccin del flujo

Reglas Bsicas 1. 2. 3. 4. 5. Todos los smbolos han de estar conectados A un smbolo de proceso pueden llegarle varias lneas A un smbolo de decisin pueden llegarle varias lneas, pero slo saldrn dos. A un smbolo de inicio nunca le llegan lneas. De un smbolo de fin no parte ninguna lnea.

Organigrama Genrico Inicio

Entrada de datos

Proceso

Salida de datos

Fin

EJERCICIOS DE DIAGRAMAS DE FLUJO

1.

Hacer el diagrama de flujo para sumar dos nmeros ledos por teclado y escribir el resultado.
Inicio

Leer A

Leemos el primer nmero y lo dejamos en A Leemos el segundo nmero y lo dejamos en B Sumamos A y B, y dejamos el resultado en C Escribimos C

Leer B

C=A+B

Escribir C

Fin

2. Modificar el anterior pero para sumar 100 nmeros ledos por teclado.
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 nmeros que quedan por sumar. En S calculamos la suma. A se emplea para leer temporalmente cada nmero.

Vamos a ver paso a paso como funciona. Supongamos que los datos son: 7, -1, 8, 5, ... (1) (2) (3) (4) (5) (6) (3) (4) (5) (6) I=100 (nmeros a sumar) S=0 (suma, inicialmente 0) Leer A. El primero es 7, luego A=7 S=S+A=0+7=7 I=I-1=100-1=99 I=0? NO 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 nmeros y pasaremos a: (7) Escribir S que ser la suma

3. Modificar el anterior para que permita sumar N nmeros. El valor de N se debe leer previamente por teclado.

Inicio

Leer N

S=0

Leer A

S=S+A

N=N-1

NO

N=0 SI Escribir S

Fin

4. 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. I: Contador de pares que quedan por escribir. El proceso es similar al anterior. 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. Realizar despus uno que haga lo mismo con los pares y otro con los mltiplos 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

6. La sucesin de Fibonacci se define de la siguiente forma: a1=1, a2 =1 y an =an-1+an-2 para n>2, es decir, los dos primeros son 1 y el resto cada uno es la suma de los dos anteriores, los primeros son: 1, 1, 2, 3, 5, 8, 13, 21, ... Hacer un diagrama de flujo para calcular el Nsimo trmino de la sucesin.
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, 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, pasando despus a llamar A al antiguo B, y B a la suma. Se decrementa N y cuando valga 2, en B tenemos lo que queremos.

Vamos a ver como funciona paso a paso. Para ello vamos a numerar cada uno de los pasos y ver como se van realizando. (1) (2) (3) (4) (5) (6) (7) (8) (9) (5) Leemos N, supongamos N=4. 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, es decir 3.

7. Hacer un diagrama de flujo que simule un reloj.

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.

9. Hacer un organigrama que calcule el total de una factura, partiendo de una lista de parejas importe, iva. La lista finaliza cuando el importe sea 0. El iva puede ser el 4%, el 7% o el 16%, en cualquier otro caso se rechazan importe e iva y se deben introducir de nuevo. Finalmente hay que realizar un descuento, en funcin de la suma de los importes, dicho descuento es del 0% si es menor que 1000, 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. 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.

Inicio

SIMP=0

SIVA=0

leer IMP,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=SIMPSIMPD 100 SIVAD 100

SIVA=SIVA-

SIMP=SIMP+IMP

TOT=SIMP+SIVA

SIVA=SIVA+

IMPIVA 100

Escribir SIMP,SIVA,TOT

Fin

10. Hacer un organigrama que lea N nmeros, calcule y escriba la suma de los pares y el producto de los impares.
Inicio

Leer N

SP=0

PI=1

Leer A SI NO SP=SP+A PI=PIA

A MOD 2=0

N=N-1

NO

N=0 SI Escribir SP,PI

Fin

11.
Inicio

13.
Inicio

Leer N,M
R=N MOD M

Leer N

P=1

R=0

SI

N>1

NO

NO N=M

SI P=PN

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=2I

J<=N SI P(J)=0

NO

I=I+1

J=J+I

I<=N NO Fin

SI

14.
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=AR

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

16.
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=PA

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

17. Calcular el mximo de N nmeros ledos desde teclado.

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 mximo de los nmeros que se hayan ledo, el primero va directamente a M y los N-1 restantes los leemos en A, comparamos con M y si son mayores cambiamos el mximo temporal. Al final se escribe el resultado. Vamos a ejecutarlo paso a paso para N=4, empleando como datos: 2, 3, -1, 7. (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

(5) (7) (8) (4) (5) (6) (7) (8) (9)

A>M? NO I=I-1=2-1=1 I=0? NO Leer A, A=7 A>M? SI M=A=7 I=I-1=1-1=0 I=0? SI Escribir M, es decir 7

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

23.
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.
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,M,A

Fin

26.
Inicio

27. Inicio

Leer N

Leer P
A=1

B=1

Leer H

C=1

E=0
AA+BB=CC
NO

SI

C=C+1 SI

C<N
NO B=B+1

H=40

SI

B<N

NO A=A+1
SI

S=PH+1,5PE

A<N
NO

Escribir S

Fin

Fin

28.
Inicio

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

DSAL 100 SAL15 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