Diagramas de Flujo

45
ESCUELA POLITÉCNICA NACIONAL PROGRAMACIÓN GRUPO: 9 NOMBRES: Antamba Rivera Jefferson Vladimir Arrieta Tapia Cristina Michelle Llumiquinga Simbaña Juan Fernando Maldonado Reinoso Violeta Abigail DEBER N°1 TEMA: Diagramas de Flujo

description

Ejemplos de Diagramas de Flujo, Scratch y Pseudocódigo

Transcript of Diagramas de Flujo

ESCUELA POLITÉCNICA NACIONAL

PROGRAMACIÓN

GRUPO: 9

NOMBRES:

Antamba Rivera Jefferson Vladimir

Arrieta Tapia Cristina Michelle

Llumiquinga Simbaña Juan Fernando

Maldonado Reinoso Violeta Abigail

DEBER N°1

TEMA: Diagramas de Flujo

1. Que permita sumar los N primeros números impares.

Diagrama

Scratch

Prueba de escritorio

n num suma

1º Prueba 0 0 0

-2 0 0

4 1 1

3 4

5 9

7 16

2º Prueba 0 0 0

3 1 1

3 4

5 6

3º Prueba º 0 1 0

2 1 1

3 4

Pseudocódigo

1. Inicio

2. Int n, num , sum, cont

3. Escribir “ingrese cuantos números desea sumar”

4. Leer n

5. Si n<=0

6. Escribir “ERROR; ingrese un valor mayor 0”

7. Leer n

8. Retornar a 5

9. Caso contrario

10. Si cont=n

11. Sum=sum+num

12. Num=num+2

13. Cont++

14. Caso contrario

15. Escribir “la suma es” sum

16. Fin

2. Que permita calcular el factorial de un número N.

Diagrama de Flujo

Scratch

Pruebas de Escritorio

n m fact

0 1 1Imp

n m fact

5 1 1

2 1

3 2

4 6

5 24

6 120imp

n m fact

-250 1 1

*no existe factorial de dicho numero

Pseudocódigo

1. Inicio

2. Int num; i=1; fact=1

3. Escribir “ingrese num ”

4. Leer num

5. Si (num>0 o num=0)

6. Si (num>1 o num=1)

7. Fact=fact*num

8. Num=num-1

9. Retorna a 6

10. Sino

11. Si (num=0=)

12. Fact=1

13. Sino

14. Imprimir fact

15. Sino

16. Escribir “ingrese nuevo número”

17. Retornar a 5

18. Fin

3. Que simule el comportamiento de un reloj(horas, minutos, segundos)

Diagramas de Flujo

INICIO

Int hora=0, minutos=0, segundos=0

Hora=24 Hora=24

Minutos=59Hora=hora+1

Minutos=0Segundos=0

Segundos=59Minuto=minuto+1

Segundo=0

Hora:minuto:segundo

Segundo=segundo+1

Scratch

Prueba de escritorio

Hora Minute segundos

0 0 0

0 0 1

0 0 2

.

.

.

.

.

.

.

.

.

0 0 59

0 1 0

.

.

.

.

.

.

.

.

.

0 1 59

.

.

.

.

.

.

.

.

.

0 59 59

1 0 0

.

.

.

.

.

.

.

.

.

23 59 59

Bucle infinito

Pseudocódigo

1. Inicio

2. Int hora=0; minutos=0; segundos=0

3. Si hora=24

4. Hora=0

5. Sino

6. Si minutos=59

7. Hora=hora+1

8. Minutos=0

9. Segundos=0

10. Retornar a 3

11. Sino

12. Si segundos=59

13. Minutos=minutos+1

14. Segundos=0

15. Retorna a 6

16. Sino

17. Imprimo “hora, minutos, segundos”

18. Segundos =segundos+1

19. Retorno a 12

20. Fin

4. Que permita identificar si un número es primo

DETERMINAR SI UN NÚMERO N ES PRIMO

a) Diagrama de flujo

Inicio

Int num, d=2

“Ingrese un número”

num

d<=num-1 num%d==0 d=d+1

num<=0

“El número no es primo”

FIn

“El número es primo”

“Ingrese un número positivo”

F

F

V

V

V

F

b) Modelo en Scratch

c) Tres pruebas de escritorio

num d

a) -2 2

1 Es primo

b) 6 2 No es

primo

c)

7 2 3 4 5 6 7

Es primo

d) Seudocódigo

1. Inicio

2. int num, d=2

3. Imprimir “Ingrese un número”

4. Leer num

5. Si num<=0

7. Imprimir “Ingrese un número positivo”

8. Retornar 4

9. Caso Contrario

10. Mientras d<=num-1

11. Si num%d==0

12. Imprimir “El número no es primo”

13. Fin

14. Caso contrario

15. d=d+1

16. Imprimir “Es número primo”

17. Retornar 13

5. Que permita encontrar el menor de un conjunto de n números ingresados

Diagrama

Scratch

Pruebas de escritorio

n num men cont

1º Prueba -8 0 0 0

5 0 0 0

13 13 1

46 13 2

10 10 3

25 10 4

8 8 5

2º Prueba 0 0 0

3 5 5 1

3 3 2

7 3 3

3º Prueba 0 0 0

4 7 7 1

2 2 2

5 2 3

14 2 4

Pseudocódigo

1. Inicio

2. Int n, num, men, cont

3. Escibir “Cuántos números desea comparar”

4. Leer n

5. Si n<=0

6. Escribir “ingrese un número mayor a cero”

7. Leer n

8. Retornar a 5

9. Caso contrario

10. Si cont<n

11. Escribir “ingrese un número”

12. Leer num

13. Cont=cont+1

14. Si cont=1

15. Men=num

16. Caso contrario

17. Si num<=men

18. Men=num

19. Retornar a 10

20. Escribir “El número menor es” men

21. Fin

6. Que permita encontrar el mayor de un conjunto de n números ingresados

Diagrama de flujo

Scratch

Prueba de Escritorio:

n num M cont

1 0 0

1 1..IMP 1

n num M cont

-3 0 0 +SOLO ENTEROS POSITIVOS Y DISTINTOS DE 0

n num M cont

5 0 0

4 4 1

7 7 2

-1 256….IMP 3

0 4

256 5

Pseudocódigo

1.Inicio

2.Definir n,num,m=0,cont=0

3.Imprimir“cuantos números?”

4.leer num

5.Si num<=0

6.Imprimir “solo enteros positivos y distintos de 0”

7.Caso contrario

8.Si CONT<num

9.Imprimir”Ingrese el numero”

10.Leer n

11.CONT=CONT+1

12.Si CONT=1

13.M=n

14.Retorna a 8

15.Caso contrario

16.Si n>M

17.M=n

18.Retorna a 8

19.Caso contrario

20.Retorna a 8

21.Caso contrario

22.Imprimir “El mayor es”,M

23.Fin

7. Que permita encontrar el enésimo número(N) de la serie de Fibonacci.

Diagrama de Flujo

Scratch

Prueba de escritorio

n Anterior Actual Contador suma

0 1 1 1

10 1 1 2 1

1 2 3 2

2 3 4 3

3 5 5 5

5 8 6 8

8 13 7 13

13 21 8 21

21 34 9 34

34 55 10 55

0 1 1 1

5 1 1 2 1

1 2 3 2

2 3 4 3

3 5 5 5

0 1 1 1

13 1 1 2 1

1 2 3 2

2 3 4 3

3 5 5 5

5 8 6 8

8 13 7 13

13 21 8 21

21 34 9 34

34 55 10 55

55 89 11 89

89 144 12 144

144 233 13 233

Pseudocódigo

1. Inicio

2. Int n, anterior=0, actual=1, cont=1, suma=1

3. Escribir “ingrese el numero”

4. Leer num

5. Si cont=num

6. Suma

7. Fin

8. Sino

9. Suma=anterior+actual

10. Anterior=actual

11. Actual=suma

12. Cont=cont+1

13. Retornar a 5

8. Que permita encontrar la potencia de un numero N, considerar el caso de exponentes

positivos, negativos y cero

POTENCIA DE UN NÚMERO N

a) Diagrama de flujo

Inicio

Int pot=1int nint k

“Ingrese el valor de la base”

n

k>0

“Ingrese el valor del exponente”

k

pot=pot*nk=k-1

k==0

“El valor de la potencia es” pot

Fin

V

V

F

K==0

F

n==0V F

“No existe dicha potencia”

V

n==0

F

V

K=ABS(k)pot=pot*(1/n)

k=k-1

F

b) Modelo en Scratch

c) Pruebas de escritorio

n k pot

a)

-2 -3 3 2 1 0

1 -1/2 1/4 -1/8

(-2)^(-3)=-1/8

b) 0 0 1 No existe

c)

-3 4 3 2 1 0

1 -3 9

-27 81

(-3)^4=81

d) Seudocódigo

1. Inicio

2. float pot=1, int n, k

3. Imprimir “Ingrese el valor de la base”

4. Leer n

5. Imprimir “Ingrese el valor de exponente”

6. Leer k

7. Mientras k>0

8. pot=pot*n

9. k=k-1

10. Si k==0

11. Imprimir “el valor de la potencia es”, pot

12. Fin

13. Si k==0

14. Si n==0

15. Imprimir “No existe dicha potencia”

16. Retornar 12

17. Caso contrario

18. Retornar 11

19. Caso contario

20. Si n==0

21. Retornar 15

22. Caso contrario

23. k=ABS(k)

24. pot=por*(1/n)

25. k=k-1

26. Retornar 13

9. Que permita realizar la suma de N números imaginarios

Diagrama de Flujo

Scratch

Prueba de escritorio

n a ai suma sumai cont

1º Prueba 0 0 0 0 0 0

3 2 -4 2 -4 1

-2 5 0 1 2

5 -3 3 -2 3 3 - 2i

2º Prueba 0 0 0 0 0 0

-2 0 0 0 0 0

4 8 -6 8 -6 1

6 3 14 -3 2

-5 4 9 1 3

5 3 14 4 4 14 + 4i

3º Prueba 0 0 0 0 0 0

3 5 3 5 3 1

-3 5 2 8 2

-2 2 0 10 3 10i

Pseudocódigo

1. Inicio

2. Int a, ai, b, bi, suma, cont, n , sumai

3. Escribir “¿Cuántos números desea sumar?”

4. Leer n

5. Si n <= 1

6. Escribir “introduzca un número mayor a uno”

7. Leer n

8. Retornar a 5

9. Sino

10. Si cont<n

11. Escribir “introduzca valor de la parte real”

12. Leer a

13. Escribir “introduzca valor de parte imaginario”

14. Leer ai

15. Suma=suma+a

16. Sumai =sumai + ai

17. Cont=cont+1

18. Retornar a 10

19. Sino

20. Si sumai<0

21. Escribir “la suma es” suma sumai “i”

22. Sino

23. Escribir “la suma es” suma, “+” , suma i “i”

24. fin

10. Que permita convertir un numero N decimal a su correspondiente binario(de

momento acepto si el programa devuelve el numero binario al revés)

Diagrama de flujo

Scratch

Pruebas de escritorio:

n aux num

2 1..imp 5

1 0..imp 2

1..imp 1

n aux num

4 0..imp 8

2 0..imp 4

1 0..imp 2

1..imp

n aux num

6 0..imp 12

3 0..imp 6

1 1…imp 3

1..imp

Pseudocódigo

1. Inicio

2. Int n,aux,num

3. Imprimir ”Ingrese el numero que desea pasar a binario”

4. Leer num

5. aux=num%2

6. n=num/2

7. num=n

8. leer aux

9. Si n=1

10. Imprimir 1

11. Caso contrario

12. Retornar a 5

13. Fin

11. Que permita convertir un numero N decimal a su correspondiente hexadecimal

Diagrama de flujo

Scratch

Prueba de escritorio

n H

76 12 C

72 4 4

6898 2 2

431 15 F

26 10 A

1 1 1

60 3 3

3 12 C

Pseudocódigo

1. Inicio

2. Int n, H

3. Imprimir “Ingrese un número”

4. Leer n

5. Si n<0

6. Imprimir “Ingresa un número positivo”

7. Retornar 4

8. Caso Contrario

9. Si n<10

10. Imprimir n

11. Fin

12. Caso contrario

13. H=n%16

14. Si H==15

15. Imprimir F

16. n=(n-H)/16

17. Si n<16

18. Imprimir N

19. Retornar 11

20. Caso contrario

21. Retornar 13

22. Caso contrario

23. Si H== 14

24. Imprimir E

25. Retornar 16

26. Caso contrario

27. Si H==13

28. Imprimir D

29. Retornar 16

30. Caso contrario

31. Si H==12

32. Imprimir C

33. Retornar 16

34. Casi contrario

35. Si H==11

36. Imprimir B

37. Retornar 16

38. Caso contario

39. Si H==10

40. Imprimir A

41. Retornar 16

42. Caso Contrario

43. Imprimir H

44. Retornar 16

12. Que reciba dos número N y M, y uno de los caracteres “s”,”r”,”p”,”d” (que

representa cada uno de las operaciones básicas), y que devuelve el resultado

correcto acorde a la operación ingresada

DIAGRAMA QUE RECIBA DOS NÚMEROS N Y M, Y UNO DE LOS CARACTERES “S”, “R”, “P” O

“D” (QUE REPRESENTAN CADA UNA DE LAS OPERACIONES BÁSICAS), Y QUE DEVUELVA EL

RESULTADO CORRECTO ACORDE A LA OPERACIÓN INGRESADA

Diagrama de flujo

Scratch

Pruebas de Escritorio

N M s p r d operación

a) 5 -4 1 s

b) 0 0

8 0 d

c) 0 -7 0 p

Pseudocódigo

1. Inicio

2. Float N, M, s, p, r, d, operación

3. s=N+M, r=N-M, p=N*M, d=N/M

4. Imprimir “¿Qué operación desea realizar?”

5. Leer operación

6. Imprimir “Ingrese el valor de N”

7. Leer N

8. Imprimir “Ingrese el valor de M”

9. Leer M

10. Si operación==s

11. Imprimir s

12. Fin

13. Caso contrario

14. Si condición==r

15. Imprimir r

16. Retornar 12

17. Caso Contrario

18. Si operación==p

19. Imprimir p

20. Retornar 12

21. Caso Contrario

22. Si M==0

23. Imprimir “No existe la división por cero”

24. Retornar 9

25. Caso contrario

26. Imprimir d

27. Retornar 12

13. Que calcule la edad de una persona en años y meses, ingresando el año y el mes de

nacimiento

Diagrama de flujo

Scratch

Prueba de escritorio

ac Mc año mes Edad

1º Prueba 0 0 0 0

2014 10 1995 4 19 años con 6 meses

2º Prueba 0 0 0 0

2014 10 1996 12 17 años con 10 meses

3º Prueba 0 0 0 0

2014 10 1965 7 49 años con 3 meses

Pseudocódigo

1. inicio

2. Int ac, ma, año, mes

3. Escribir “Ingrese en números el año actual”

4. leer ac

5. Escribir “ingrese en números el mes actual”

6. Leer mc

7. Escribir “escribir ingrese el año de nacimiento ”

8. Leer año

9. Escribir “ingrese en números el mes de nacimiento”

10. Leer mes

11. Si mc>mes

12. Escribir “su edad es ”, ac-año “años con”, mc-mes “meses”

13. Sino

14. Escribir “su edad es”, ac-año-1 “años con”, 12+(mc-mes) “meses”

15. Fin

14. Que permita saber cuántos años bisiestos ha transcurrido desde un año N hasta el

año actual

Diagrama de flujo

scratch

Pruebas de escritorio:

año R A.B(Año Bisiesto)

500 514

513

512 128…IMP

año R A.B(Año Bisiesto)

1636 378

377

376 94…IMP

año R A.B(Año Bisiesto)

-12 (A.C)

*No se puede determinar

Pseudocódigo

1. Inicio

2. Int R,año,ABIS

3. Imprimir “Ingrese el año”

4. Leer año

5. Si año>=0

6. R=2014-año

7. R=R-1

8. Si R%4=0

9. ABIS=R/4

10. Imprimir “Años bisiestos desde ese año”, ABIS

11. Caso contrario

12. Retorna a 7

13. Caso Contrario

14. Imprimir “No se puede determinar”

15. Fin

15. Que permita simular el comportamiento de un temporizador que trabaja en minutos

y segundos.

Datos de entrada N minutos y M minutos

Diagrama de flujo

Scratch

Prueba de escritorio

Minutos segundos

59 10

59 9

59 8

59 7

59 6

59 5

59 4

59 3

59 2

Pseudocódigo

1. Inicio

2. Int minutos ; segundos

3. Escribir “ingrese los minutos”

4. Leer minutos

5. Escribir “ingrese los segundos”

6. Leer segundos

7. Si minuto = 0

8. Si segundos= 0

9. Segundos=segundos-1

10. Retornar a 8

11. Sino

12. Minuto=minuto-1

13. Segundos=60

14. Retornar a 7

15. Fin

59 1

58 0

58 59

.

.

.

.

.

.

20 0

11 59

.

.

.

.

.

.

00 00