-Fundamentos de Programacin-
1. Nancy presento 4 pruebas finales, siendo sus calificaciones 9.5, 6.8, 9.2 y 8.8. Utilizar el modelo de las 6Ds para desarrollar un programa para calcular e imprimir el promedio de Nancy. *Anlisis del Problema: DE: a, b, c, d (Real); Nombre (Texto) DS: Promedio DA: Promedio= (a+b+c+d)/4 Promedio a b c d a=input (a?) b=input (b?) c=input (c?)
d=input (d?)
P= (a+b+c+d)/4 *Pseudocdigo: INICIO a, b, c, d (Real) Nombre (Texto) Promedio (Real) MOSTRAR Calificacin a: ALMACENAR a MOSTRAR Calificacin b: ALMACENAR b MOSTRAR Calificacin c: ALMACENAR c MOSTRAR Calificacin d: ALMACENAR d MOSTRAR Nombre: ALMACENAR Nombre CALCULAR Promedio= (a+b+c+d)/4 MOSTRAR Nombre, tiene, Promedio, de *Prueba de escritorio: Monitor Calificacin a 9.5 Nombre Calificacin b 6.8 Calificacin c 9.2 Nancy-Ana Calificacin d 8.8 Nombre Nancy-Ana Nancy-Ana tiene 8.5 de Promedio a 0 9.5 b 0 6.8 c 0 9.2 Memoria d 0 8.8
INICIO
Calificacion d
Calificacion b b Calificacion c c
2. Hacer un programa que lea dos nmeros enteros y sin multiplicarlos diga si el producto es positivo o negativo. *Anlisis del Problema: DE: a, b (Enteros) DS: positivo o negativo DA: positivo +a -a +b -b negativo -a +a +b -b *Pseudocdigo: INICIO A= 0 B= 0 MOSTRAR a? Positivo o Negativo a b If a>0 y b>0 If a<0 y b<0 print ( ) If a<0 y b>0 If a>0 y b<0 print ( )
ALMACENAR a MOSTRAR b? ALMACENAR b DECIDIR SI (a>0 y b>0) o (a<0 y b<0) MOSTRAR Positivo SI (a<0 y b>0) o (a>0 y b<0) MOSTRAR Negativo FIN NINGUNA Resultado cero FIN FIN *Prueba de escritorio: a 0 23 -8 3 -1 INICIO a=0 b=0 Negativo Dame a y b Resultado cero a, b FIN (a>0 y b>0) o (a<0 y b<0) Positivo b 0 18 -3 -3 4
1 3. Hacer un programa que lea dos nmeros; si el primero es mayor el segundo que haga una resta; si el segundo es mayor el primero que haga una suma; y si son iguales que los divida. *Anlisis del Problema: DE: a, b (Enteros)
DS: resultado 1, resultado 2, resultado 3 DA: si a>b resultado 1= a-b si b>a resultado 2= a+b si a=b resultado 3= 1
Operaciones a b resultado 1 resultado 2 resultado 3 If a>b If b>a If a=b *Pseudocdigo: INICIO a= 0 b= 0 PEDIR a? GUARDAR a PEDIR b? GUARDAR b DECIDIR SI a>b Resultado 1= 0 Resultado 1= a-b MOSTRAR resultado 1 FIN SI b>a Resultado 2= 0 Resultado 2= a+b MOSTRAR resultado 2 FIN NINGUNO Mostrar 1 FIN *Prueba de escritorio: Resultado 1 4 6 a 1 8 6 22 Resultado 2 18 15 b 0 4 12 16 Resultado 3 1 resultado 1= a-b resultado 2= a+b resultado 3=1 print ( )
10 0
2 1 FIN
a, b
resultado 2=a+b 2 4. *Anlisis del Problema: DE: TF DS: TC, TK, TR DA: TC= (TF-32)*(5/9) TK= TC+273 TR= TF+460 resultado 2 Fin
Fin
*Pseudocdigo: INICIO TF, TC, TK, TR (Reales) MOSTRAR Dame TF? ALMACENAR TF CALCULAR TC= (TF-32)*(5/9) MOSTRAR TC= TC CALCULRA TK= TC+273 MOSTRAR TK= TK CALCULAR TR= TF+460 MOSTRAR TR= TR FIN *Prueba de escritorio: 478 462 455 TF 0 18 2 -5 INICIO TF, TC, TK, TR (Int) TF FIN TC= (TF-32)*(5/9) TK= TC+273 TR= TF+460 1 6. Hacer un programa que lea la matrcula de un alumno, y 3 calificaciones para TC 0 -7.7 -16.6 20.5 TK 0 265.3 256.4 252.5 TR 0
este, que calcule el promedio y que imprima la informacin leda y calculada, as como un mensaje de Aprobado o Reprobado, segn sea el caso. *Anlisis del Problema: DE= M.A y Calificaciones DS= Promedio, 7.0= Aprobado y 6.9= Reprobado DA= Promedio= (a+b+c)/3
Matricula y Calificaciones M.A Calificaciones Promedio 7.0= Aprobado 6.9= Reprobado print Dame Calif. a Calif a=input ( ) print Dame Calif. b Calif. b=input ( ) print Dame Calif. c Calif. c=input ( ) Promedio= (a+b+c)/3 If Promedio 7.0 print Aprobado If Promedio 6.9 print Reprobado *Pseudocdigo: INICIO DECLARAR= M.A, Calificaciones, Promedio, 7.0= Aprobado y 6.9= Reprobado MOSTRAR Dame M.A ALMACENAR M.A MOSTRAR Dame Calif. a ALMACENAR Calif. a MOSTRAR Dame Calif. b ALMACENAR Calif. b MOSTRAR Dame Calif. c ALMACENAR Calif. c CALCULAR Promedio= (a+b+c)/3 DECIDIR SI Promedio 7.O MOSTRAR Aprobado FIN SI Promedio 6.9 MOSTRAR Reprobado FIN FIN
*Prueba de escritorio: 8.0 Aprobado 5.6 Reprobado 8.0 Aprobado M.A 0 3104987 2211334 1234567 a 0 8 6 10 b 0 7 5 8 c 0 9 6 6
INICIO 2 M.A Calificaciones Promedio 7= Aprobado 6.9= Reprobado Dame M.A M.A Promedio 7 Aprobado Dame Calificacion a FIN Calificacion a Promedio 6.9 Reprobado Dame Calificacion b FIN 2 FIN Calificacion b Dame la Calificacion c Calificacion c Promedio= (a+b+c)/3
8. Hacer un programa que imprima 5 veces Hola. *Anlisis del Problema: DE: c DS: Hola DA: MQ c<5
Pseudocdigo: INICIO c= 0 MQ c<5 MOSTRAR Hola c=c+1 Fin MQ FIN *Prueba de escritorio: Hola Hola Hola Hola Hola c 0 1 2 3 4 5 INICIO c=0 MQ c<5 Hola
C=0 PARA C=0, 10, +1 C+1 FIN PARA FIN 10. Hacer un programa que imprima nmeros del 10 al 1. *Anlisis del Problema: DE: C-1 DS: C DA: MQ C10 Susecion del 10 al 1 C PARA C=10, 0, -1 MQ >10 print ( ) input ( ) *Pseudocdigo: INICIO C= 0 C= 10 MQ C10 MOSTRAR C C= C-1 FIN MQ FIN *Prueba de escritorio: 10 9 8 7 6 C 0 10 9 5 4 3 2 1 5 4 3
8 7 6
MQ C10 C 2
11. Hacer un programa que pida un nmero positivo e imprima una serie desde ese nmero hasta cero, de 1 en 1. *Anlisis del Problema: DE: C DS: serie desde C hasta 1 DA: C= C-1 Serie de 1 en 1 c MQ c>0 print ( ) input ( ) c=c-1 *Pseudocdigo: INICIO C= 0 MOSTRAR C? ALMACENAR C MQ C>0 MOSTRAR C C= C-1 FIN MQ FIN *Prueba de escritorio: 7 6 5 4 C 7 6 5 4 3 2 1
3 2 1
INICIO c=0 c? c 1
1 MQ c>0 c c=c-1 2
2 FIN MQ FIN
12. Hacer un programa que imprima solo nmeros pares del 0 al 100. *Anlisis del problema: DE: C+2 DS: C DA: MQ C<100 Numeros pares c PARA c=0, 100, +2 print ( ) input ( ) *Pseudocdigo: INICIO C= 0 MQ C<100 MOSTRAR C+2 C=C+2 FIN MQ FIN *Prueba de escritorio: 2 4 6 8 C 0 2 4 6 8 10 12 14 16
10 12 14 16 INICIO 1
13. Hacer el DF que pida un nmero inicial, el incremento y el nmero final. *Anlisis del Problema: DE: a, b, c DS: a DA: a= a+b MQ a<c Numero inicial, Incremento y Numero final a b c MQ a<c print ( ) a=a+b input ( ) *Pseudocdigo: INICIO a, b, c (Entero) MOSTRAR Dame el # inicial ALMACENAR a MOSTRAR Cunto se va a incrementar? ALMACENRA b MOSTRAR Hasta donde se tiene que llegar? ALMACENAR c MQ a<c MOSTRAR a a=a+b FIN MQ FIN *Prueba de escritorio: Dame el # inicial 5 Cunto se va a incrementar? 10 Hasta dnde se tiene que llegar? 17
5 15 a 0 5 15 25 INICIO 1 1 a=0 b=0 c=0 Dame el # inicial MQ a<c a a=a+b Cunto se va a incrementar? FIN MQ b FIN 2 14. Hacer el DFD de un programa que muestre la tabla de multiplicar del 7. *Anlisis del Problema: DE: a, b, c DS: b=7 DA: PARA a= 1, 11, +1 Tabla del 7 a b c PARA a=1, 11, +1 c=a*b print ( ) input ( ) a 2 Hasta donde se tiene que llegar? c b 0 10 c 0 17
*Pseudocdigo: INICIO a, b, c b= 7 PARA a= 1, 11, +1 c=a*b MOSTRAR a, *, b, =, c FIN PARA FIN *Prueba de escritorio: 7 14 21 28 a 1 2 3 4 b 7 7 7 7 INICIO a=0 b=0 c=0 b=7 PARA a=1, 11, +1 c=a*b a, *, b, =, c FIN PARA FIN 15. *Anlisis del Problema: DE: a, b (Enteros) DS: a DA: MQ a<b c 7 14 21 28
Problema a b MQ a<b print ( ) input ( ) *Pseudocdigo: INICIO a, b (Enteros) MOSTRAR a? ALMACENAR a MQ a<b MOSTRAR a, *, b, =, a*b CALCULAR a=a+1 FIN MQ FIN *Prueba de escritorio: a= 10 5*10=50 6*10=60 7*10=70 a 0 5 6 7 8 9 10 INICIO a=0 b=0 a? a=a+1 a FIN MQ 1 16. *Anlisis del Problema: DE: C= 97, X= 0 FIN Operaciones acumuladores b= 5 8*10=80 9*10=90 b 0 10
1 MQ a<b a, *, b, =, a*b
DS: C DA: MQ C<100 *Pseudocdigo: INICIO C=97 X=0 MQ C<100 X=X+C C=C+1 FIN MQ MOSTRAR C, ,, X FIN *Prueba de escritorio: 100, C 97 98 99 100 294 X 0 97 195 294 INICIO C=97 X=0 MQ C<100 X=X+C C=C+1 FIN MQ C, ,, X FIN 17. *Anlisis del Problema: DE: C, X, A DS: C, A DA: MQ C<X
Operaciones acumuladores
A X C print ( ) input ( ) MQ C<X A=A+C C=C+1 print ( ) *Pseudocdigo: INICIO C, X, A (Entero) MOSTRAR C, X? ALMACENAR C, X MQ C<X CALCULAR A= A+C CALCULAR C= C+1 FIN MQ MOSTRAR C, -, A FIN *Prueba de escritorio: C, X? 13 17 17-58 C 0 13 14 15 16 17 X A 0 0 17 13 27 42 58 INICIO C=0 X=0 A=0 C, X? C, -, A C, X FIN 1
18. Dados dos ngulos de un tringulo se puede calcular el tercer ngulo. Se sabe que la suma de los ngulos de un tringulo es 180, por ejemplo, sean A y B los ngulos conocidos, entonces: C=180-(A+B). *Anlisis del Problema: DE: A, B DS: C DA: C=180-(A+B) *Pseudocdigo: INICIO A, B, C (Entero) MOSTRAR A y B? ALMACENAR A y B CALCULAR C=180-(A+B) MOSTRAR C FIN *Prueba de escritorio: 173 153 80 A 0 4 15 50 B 0 3 12 50 C 0 173 153 80
19. El volumen de un cilindro se calcula multiplicando la constante (Pi= 3.14159265) por el cuadrado del radio de la base (r) por la altura (h). V= Pi*r2*h Elaborar un algoritmo que lea el radio de la base y la altura de un cilindro, que calcule e imprima el volumen. *Anlisis del Problema: DE: r. h, Pi DS: V DA: V= Pi* r2* h *Pseudocdigo: INICIO r, h, v Pi= 3.14159265 MOSTRAR r, h? ALMACENAR r, h CALCULAR V= Pi* r* r*h MOSTRAR V FIN *Prueba de escritorio:
Pi 3.14159265
r 0 12 3 10 0
h 15 6 7
20. Elabore un algoritmo que lea cuatro nmeros e imprima el mayor. Se supone que son nmeros diferentes, por lo tanto, no se debe averiguar si son iguales o si son diferentes. *Anlisis del Problema: DE: a, b, c, d DS: mayor DA: a mayor
INICIO A, b, c, d MOSTRAR a, b, c, d? ALMACENAR a, b, c, d DECIDIR SI (a>b y a>c y a>d) MOSTRAR a es mayor SI (b>c y b>d) MOSTRAR b es mayor SI (c>d) MOSTRAR c es mayor NINGUNA MOSTRAR d es mayor FIN FIN *Prueba de escritorio: a es mayor b es mayor c es mayor d es mayor a 0 23 12 b 0 13 15 c 0 8 12 d 0 12 11
10 2
10 2
11 2
9 2