Vous êtes sur la page 1sur 21

Repblica Bolivariana de Venezuela Aldea Universitaria Fray Pedro de Agreda PNFSI http://aldeafraypedrodeagreda.wordpress.com Elaborado por Prof.

Elas Cisneros cisneros.elias@gmail.com 23/12/09

Ejercicios de algoritmos I

Fractal
Creative Commons Usted es libre de: Copiar, distribuir y comunicar pblicamente la obra . Hacer obras derivadas . Bajo las condiciones siguientes: Reconocimiento. Debe reconocer los crditos de la obra de la manera especificada por el autor o el licenciador (pero no de una manera que sugiera que tiene su apoyo o apoyan el uso que hace de su obra). No comercial. No puede utilizar esta obra para fines comerciales.

Compartir bajo la misma licencia. Si altera o transforma esta obra, o genera una obra derivada, slo puede distribuir la obra generada bajo una licencia idntica a sta.

1/21

Fase 1. Operaciones sobre variables Ejercicio 1 1. 2. 3. 4. entero a,b,c; a = 1; b = a +2; c = b + a + 5;

Cul es el valor de c?. c=9 lnea/variable 2 3 4 1 3=1+2 9=3+1+5 a b c

Ejercicio 2 1. entero a,b,c; 2. a = 1; 3. b = 2*a; 4. c = 3*(b-a) +15; Cul es el valor de c? . c=18

lnea/variable 2 3 4 1

b 2=2*1

18=3*(2-1)+15

Ejercicio 3 1. real d; 2. entero a/b; 3. a = 2; 4. b = 10;


2/21

5. d = b/a; Cul es el valor de d?. d=5 lnea/variable 3 4 5 2 10 5=10/2 a b d

Ejercicio 4 1. entero a,b,c; 2. real d1, d2; 3. a = 2; 4. b = 8; 5. c = 10; 6. d1 = b/a; 7. d2 = c/a; Cul es el valor final de d1, d2 ?. d1=4, d2=5 lnea/variable 3 4 5 6 7 Ejercicio 5 1. entero x,y,z; 2. x=10; 3. y=10+x; 4. z=10+y; Cul es el valor de x,y,z.?. x=10, y= 20, z= 30. 2 8 10 4=8/2 5=10/2 a b c d1 d2

3/21

lnea/variable 2 3 4 10

y 20=10+10

30=10+20

Fase 2. Mltiples operaciones sobre variables Ejercicio 1 1. entero i,j; 2. i=1; 3. j=i; 4. i=i+1; 5. j=i; Cul es el valor final de i, j?. i=2, j=2 lnea/variable 2 3 4 5 Ejercicio 2 1. entero m,n 2. m=0; 3. n=1; 4. m=n; 5. n=n+2; 6. m=m+1; 7. n=4; 8. m=m+1; Cul es el valor final de m,n?. m=3, n =4 lnea/variable 2 0 m n 2 2 1 1 i j

4/21

3 4 5 6 7 8 Ejercicio 3 1. entero m,n 2. m=0; 3. n=1; 4. m=n; 5. n=n+2; 6. m=m+1; 7. m=2*m; Cul es el valor final de m,n?. m= 4 , n=3 lnea/variable 2 3 4 5 6 7 2 4 1 0 m 3 2 1

1 3 4

n 1 3

Ejercicio 4 1. entero m,n 2. m=0; 3. n=1; 4. m=n; 5. n=n+2; 6. m=m+1; 7. n=m; 8. m=m-1;

5/21

Cul es el valor final de m,n? . m= 1, n = 2

lnea/variable 2 3 4 5 6 7 8 1 2 1 0

m 1 3 2

Ejercicio 5 1. entero x,y; 2. real z; 3. x=10; 4. y=10*x; 5. z= y/10; 6. x=y+1; 7. z=z + y; 8. x = x + 1; 9. y= y +2; 10. z= z + 2; Cul es el valor final de x,y,z?. x=102, y=102, z=112 lnea/variable 3 4 5 6 7 8 9 102 102
6/21

x 10

y 100 10

101 110

10

112

Fase 3. Condicionales Ejercicio 1 1. 2. 3. 4. 5. 6. 7. 8. entero a,b,c,d; a = 1; b = a +2; c = b + a + 5; Si c<10 d=1 Sino d=0

Cul es el valor de d?. d=1 lnea/variable 2 3 4 6 Ejercicio 2 1. entero a,b,c,d ; 2. a = 1; 3. b = 2*a; 4. c = 3*(b-a) +15; 5. Si ( b > 10 y c > 18) 6. d=1 7. Sino 8. d=0 Cul es el valor de c ? d=0 1 3 9 1 a b c d

7/21

lnea/variable 2 3 4 8 Ejercicio 3 1. entero m,n 2. m=0; 3. n=1; 4. m=n; 5. n=n+2; 6. Si( n = 3) 7. m=0; 8. m=m+1; 9. m=2*m; 10. Si ( m > 0) 11. n=0 1

a 2

18 0

Cul es el valor final de m,n?. m= 2 , n=0 lnea/variable 2 3 4 5 7 8 9 11 0 1 2 0 1 3 0 1 m n

Ejercicio 4 1. entero x,y; 2. real z; 3. x=10;


8/21

4. y=10*x; 5. z= y/10; 6. Si ( x > 0) 7. x=y+1; 8. Si ( z > 0 y x < 100) 9. z=0; 10. Sino 11. z=z + y; 12. Si ( z < 10 ) 13. y = 0; 14. Sino 15. y=1; 16. x = x + 1; 17. y= y +2; 18. z= z + 2; Cul es el valor final de x,y,z?. x=102, y=102, z=12 lnea/variable 3 4 5 7 16 17 18 101 102 102 12 x 10 100 10 y z

Ejercicio 5 entero a,b,c,d; a=10, b=20, c=5; Si ( a<b y a<c) d=0; Sino Si (b<a y b< c) d=1;
9/21

Sino d=-1;

Cul es el valor final de d?. d=-1 lnea/variable 2 9 10 a 20 b 5 -1 c d

10/21

Repblica Bolivariana de Venezuela Aldea Universitaria Fray Pedro de Agreda PNFSI http://aldeafraypedrodeagreda.wordpress.com Elaborado por Prof. Elas Cisneros cisneros.elias@gmail.com 23/12/09

Ejercicios de algoritmos II

Creative commons Usted es libre de: Copiar, distribuir y comunicar pblicamente la obra . Hacer obras derivadas . Bajo las condiciones siguientes: Reconocimiento. Debe reconocer los crditos de la obra de la manera especificada por el autor o el licenciador (pero no de una manera que sugiera que tiene su apoyo o apoyan el uso que hace de su obra). No comercial. No puede utilizar esta obra para fines comerciales.

Compartir bajo la misma licencia. Si altera o transforma esta obra, o genera una obra derivada, slo puede distribuir la obra generada bajo una licencia idntica a sta.

11/21

Objetivo Fortalecer habilidades de validacin de algoritmos. Descripcin de la actividad A continuacin se presentan un conjunto de algoritmos escritos en pseudocdigo, se debe realizar la corrida en fro y determinar la validez del algoritmo en funcin al enunciado planteado en caso caso. Se recomienda utilizar los siguientes pasos: Identificar los valores variables y constantes del algoritmo. Identificar los procedimientos u operaciones que alteran los valores de las variables. Utilizar una estructura tipo tabla de seguimiento para anotar los valores de las variables en cada instante. Por ejemplo: 1. Inicio 2. variables 3. Variable1, Variable2, Variable3, Variable4: entero 4. leer Variable1, Variable2 5. Variable3 <- Variable1+ Variable2 6. Variable4 <- Variable3 - 2* Variable1 7. escribir Variable1, Variable2, Variable3, Variable4 8. Fin Hacer la corrida en fro para Variable1=20, Variable2 =10 Los datos que son variables son Variable1, Variable2, Variable3, Variable4. Datos de entrada: Variable1, Variable2 estn en la lnea 4 y son sentencias de asignacin de valores por parte del usuario. Datos calculados: Variable3, Variable4 son clculos y utilizan otros variables del algoritmo (Variable1, Variable2, Variable3).

Linea / Variable 1 2 3 4 5 6 7 8

Variable1 20 20 20

Variable2 10 10 10

variable3 30 30

variable4 -10

12/21

1. Hacer un programa que lea 2 nmeros y deducir si estn en orden creciente o decreciente. 1. inicio 2. leer a, b 3. si a <= b entonces 4. escribir "orden creciente" 5. si_no 6. escribir "orden decreciente" 7. fin_si 8. fin Realice la corrida para a=2, b=1. Resp orden creciente. Realice la corrida para a=1, b=2. Resp orden decreciente

Autor: Bellodas leccaros. Revisado por Elas Cisneros. 2. Calcular el nmero mayor de una lista de nmeros. 1. real: UM, MAX 2. entero: I, N 3. inicio 4. leer N // N >0 5. leer NUM 6. MAX <-- NUM 7. desde I <-- 2 hasta 5 hacer 8. leer NUM 9. si NUM > MAX entonces 10. MAX <-- NUM 11. fin_si 12. fin_desde 13. fin Realice la corrida para NUM=1,NUM=8,NUM=6,NUM=3,NUM=-4, Cual es el valor de MAX?. Resp 8.

Autor: Bellodas leccaros. Revisado por Elas Cisneros. 3. De una lista de 10 nmeros determinar simultneamente el mximo y mnimo nmero. 1. I: entero 2. MAX, MIN, NMERO: real
13/21

3. inicio 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. fin

leer NUMERO MAX <-- NUMERO MIN <-- NUMERO desde I <-- 2 hasta 10 hacer leer NUMERO si NUMERO > MAX entonces MAX <-- NUMERO sino si NUMERO < MIN entonces MIN <-- NUMERO fin_si fin_si fin_desde escribir "mximo", MAX, "mnimo", MIN

Realice la corrida para NUMERO=1,NUMERO=8,NUMERO=6,NUMERO=0,NUMERO=-4, NUMERO=-9, NUMERO=16, NUMERO=1, NUMERO=0, NUMERO=10. Cual es el valor de MAX y MIN?. Resp MAX=16, MIN= -9.

Autor: Bellodas leccaros. Revisado por Elas Cisneros. 4. Se ingresan 5 notas de un alumno, publicar 2 peores notas. 1. inicio 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. arreglo a[5] x <-- 1 mientras x <= 5 hacer leer a[x] x <-- x + 1 fin_mientras x <-- 1 mientras x <= 5 hacer y <-- 1 mientras y <= 5 hacer si a[x] < a[y] entonces T <-- a [x] a[x]<-- a[y] a[y] <-- T fin_si y <-- y + 1
14/21

18. 19. 20. 21. 22. 23. 24. 25. 26. 27. fin

fin_mientras x <-- x + 1 fin_mientras //publicar x <-- 5 mientras x >= 4 hacer escribe a [x] x <-- x - 1 fin_mientras

Realice la corrida para a[1]=12,a[2]=9,a[3]=15,a[4]=19,a[5]=5. . Resp a[1]=19,a[2]=15,a[3]=12,a[4]=9,a[5]=5

Autor: Bellodas leccaros. Revisado por Elas Cisneros. 5. Calcular las races de una ecuacin de segundo grado(a+bx+c=0) 1. variables 2. a,b,c,x,x 3. inicio 4. leer a,b,c 5. d=(b)-(4*a*c) 6. si a<>0 y d>=0 entonces 7. x=(-b+sqrt(d))/(2*a) 8. x=(-b-sqrt(d))/(2*a) 9. imprimir x,x 10. sino 11. imprimir"no se efectua la operacion" 12. fin si 13. fin Realice la corrida para a=2, b=6,c=3. Resp x=-0,633; ,x =-2,366 Autor: Nadezhda Espada Flores. Revisado por Elas Cisneros. 6. Dada la duracin en minutos de una llamada calcular el costo,considerando: Hasta tres minutos el costo es 0.50 Por encima de tres minutos es 0.50 ms 0.1*cada minuto adicional a los tres primeros

15/21

1. variables 2. M,C 3. inicio 4. leer M 5. si M<=3 6. C<--0.50 7. sino 8. C<--0.50+0.1*(M-3) 9. fin si 10. imprimir el "C" 11. fin Realice la corrida para M=2. Resp. C=0,5. Realice la corrida para M=10. Resp. C=1,2.

Autor: Nadezhda Espada Flores . Revisado por Elas Cisneros. 7. Dado tres nmeros calcular el mayor. 1. variables 2. n1,n2,n3,M 3. inicio 4. leer n,n,n 5. si n>n y 6. n>n entonces 7. M<-- n 8. sino 9. fin si 10. si n>n y n>n entonces 11. M<-- n 12. sino 13. M<-- n 14. fin si 15. imprimir M 16. fin Realice la corrida para n=5,n=10,n =3. Realice la corrida para n=50,n=1,n =2.

Autor: Nadezhda Espada Flores .Revisado por Elas Cisneros.

16/21

8. Dada N notas calcular el promedio de las notas aprobadas y el promedio de las notas desaprobadas. 1. variables 2. N,C,S,I,nota,S,S,Pa,Pd 3. inicio 4. leer N 5. I<--1 6. S<--0 7. S<--0 8. C<--0 9. S<--0 10. mientras I<=N hacer 11. leer nota 12. si nota>=12 entonces 13. S<-- S+nota 14. C<-- C+1 15. sino 16. S<--S+nota 17. S<--S+1 18. fin si 19. I<--I+1 20. fin mientras 21. Pa<--S\C 22. Pd<--S\S 23. imprimir Pa,Pd 24. fin Realice la corrida para N=5, nota=10, nota=12, nota=15, nota=17, nota=9. Resp. Pa =14,66; Pd=11

Autor: Nadezhda Espada Flores . Revisado por Elas Cisneros. 9. Dado N calcular:(1)+(2)+(3)+......+(N*N) La funcin super(x,y) es equivalente a realizar XY 1. variables 2. N,I,S 3. inicio 4. leer N 5. I<--1
17/21

6. S<--0 7. mientras I<=N hacer 8. S<--S+ super(I,I) 9. fin mientras 10. imprimir S 11. fin Realice la corrida para N=5, Resp S=55.

Autor: Nadezhda Espada Flores . Revisado por Elas Cisneros. 10. Dado la cantidad de elementos E calcular: x1/1+x3/3+x5/5+...........+x/(2n-1) 1. variables 2. I,E,S,X 3. inicio 4. leer E 5. I<--1 6. S<--0 7. X<--0 8. mientras I<=E hacer 9. si (I mod 2) <>0 entonces 10. leer X 11. S<--S+ X/(I) 12. imprimir I 13. I<--I+1 14. fin si 15. fin mientras 16. imprimir S 17. fin Realizar la corrida en fro para E=5. Resp Autor: Nadezhda Espada Flores .Revisado por Elas Cisneros. 11. Dado el monto de una compra calcular el descuento considerado Descuento es 10% si el monto es mayor a 100 Bs. Descuento es 20% si el monto es mayor a 50 soles y menor o igual a 100 Bs. No hay descuento si el monto es mayor o igual a 50 Bs. 1. variables 2. monto, descuento
18/21

3. inicio 4. leer monto 5. si monto>100 entonces 6. descuento<-- monto*0.1 7. sino 8. si monto>50 entonces 9. descuento<-- monto*0.2 10. sino 11. descuento<--0 12. fin si 13. fin si 14. imprimir descuento 15. fin Realizar la corrida en fro para monto=150. Resp descuento=15 Realizar la corrida en fro para monto=20. Resp descuento=0

Autor: Nadezhda Espada Flores . Revisado por Elas Cisneros. 12. Dadas tres longitudes, decir mediante un mensaje si forma un triangulo o no (cada lado tiene que ser menor que de las otras dos). 1. variables 2. a,b,c 3. inicio 4. leer a,b,c 5. si (a+b)<a y (c+a)<b y (a+b)<c entonces 6. imprimir "si se formo el triangulo" 7. sino 8. imprimir "no se formo el triangulo" 9. fin si 10. fin Realizar la corrida en frio para a=10,b=10,c=10. Resp Realizar la corrida en frio para a=11,b=12,c=13. Resp

Autor: Nadezhda Espada Flores 13. A una fiesta asistieron personas de diferentes edades y sexos. Construir un algoritmo dadas las edades y sexos de las personas. Calcular : Cuantas personas asistieron a la fiesta Cuantos hombres y cuantas mujeres
19/21

Promedio de edades por sexo. La edad de la persona ms joven que asisti. No se permiten menores de edad a la fiesta. Ingresar datos hasta que se ingrese una edad a cero.

1. variables 2. sev //suma de edades de varones 3. sem //suma de edades de mujeres 4. a //asistentes 5. v //varones 6. m //mujeres 7. e //edades 8. s //sexo 9. inicio 10. sev<--0 11. sem<--0 12. a<--0 13. v<--0 14. e<--1 15. menor<--200 16. mientras e<>0 hacer 17. leer e,s 18. si e>=18 entonces 19. a<--a+1 20. si s="m" entonces 21. m<--m+1 22. sem<--sem+e 23. sino 24. v<--v+1 25. sev<--sev+e 26. finsi 27. si e<menor entonces 28. menor<--e 29. finsi 30. sino 31. imprimir "menor de edad" 32. finsi 33. fin mientras 34. pm<--sem\m 35. pv<--sev\v 36. imprimir pm,pv,menor,a,m,v 37. fin
20/21

Realizar la corrida en fro para 3 varones mayores de edad, 2 varones menores de edad, 4 mujeres mayores de edad.

Autor: Nadezhda Espada Flores . Revisado por Elas Cisneros. 14. Dada las horas trabajadas de 20 personas y la tarifa de pago calcular el salario 1. variables 2. horas 3. tarifa 4. salario 5. inicio 6. i<--1 7. mientras i<=20 hacer 8. leer horas , tarifa 9. salario<-- horas *tarifa 10. imprimir salario 11. i_i+1 12. fin mientras Realizar la corrida en frio. Autor: Nadezhda Espada Flores . Revisado por Elas Cisneros. Referencias Los ejercicios se obtuvieron mediante el Profesor Enrique Barrueto de su sitio web http://enriquebarrueto0.tripod.com/ El documento donde estn publicados los ejercicios tiene como ttulo COMPENDIO DE EJERCICIOS NO REVISADOS NI COMPROBADOS DEL CURSO DE ALGORITMOS. Nota Para la elaboracin de este material se realiz una revisin previa de los algoritmos planteados por el Profesor Enrique Barrueto, sin embargo no se garantiza que estos estn libre de errores.

21/21

Vous aimerez peut-être aussi