La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Departamento de Informática Universidad Técnica Federico Santa María Ejercicios Certamen 1: Programación de Computadores (IWI-131) Luis Pizarro Q.

Presentaciones similares


Presentación del tema: "Departamento de Informática Universidad Técnica Federico Santa María Ejercicios Certamen 1: Programación de Computadores (IWI-131) Luis Pizarro Q."— Transcripción de la presentación:

1 Departamento de Informática Universidad Técnica Federico Santa María Ejercicios Certamen 1: Programación de Computadores (IWI-131) Luis Pizarro Q. Luis.Pizarro@inf.utfsm.cl www.labmc.inf.utfsm.cl/~lpizarro/IWI-131

2 Luis Pizarro Q. ©2003 2 Pauta Control 1 n Ud. tiene un sueldo base de $500.000, pero le descuentan 10% por su AFP y 8.5% por su previsión de salud. Suponga que deposita en su cuenta de ahorros la tercera parte de lo que le queda, a un 1.5% de interes mensual. Escriba un programa que permita conocer cuánto ha ahorrado al cabo de 1 año. PROGRAM Ahorro; CONST base = 500000; VAR mes: INTEGER; sueldoneto, cuenta: REAL; BEGIN cuenta := 0; sueldoneto := base * 0.815; FOR mes := 1 TO 12 DO cuenta := (cuenta + sueldoneto / 3) * 1.015; WRITELN(‘Ahorro acumulado en un año es: ’, cuenta) END.

3 Luis Pizarro Q. ©2003 3 P1-C1-1-2001 n Considerando las siguientes asignaciones: a:= 1; b:= 2; c:= 3; d:= 4; i:= 3; j:= -5; n:= 10; s:= ‘A’; Indique el valor lógico de las siguientes expresiones: 1. 2*i >= i DIV 2 6 >= 1 TRUE 2. (i DIV 2) > (j+6) 1 > 1 FALSE 3. (n = 10) AND (s >= ‘A’) TRUE AND TRUE TRUE 4. a - b / c * SQRT(d) 1 - 2 / 3 * 2 1 - 0.6667 * 2 1 - 1.3334 -0.3334 5. (a - b) / (c * SQRT(d)) (1 - 2) / (3 * 2) -1 / 6 -0.16667

4 Luis Pizarro Q. ©2003 4 P2-C1-1-2001 n Rutee el siguiente programa PASCAL. Haga una tabla indicando los resultados paso a paso. PROGRAM rutear; CONST a = 10; c = 1; VAR x, y, z: INTEGER; BEGIN x := 0; y := 1; z := 2; REPEAT z := z + c; y := 2 * x + y + z; IF y < a THEN y := y + 1; x := x - 1; UNTIL z > y WRITELN(‘Valores de x,y,z: ‘,x,y,z) END. a c x y z y < a z > y 10 1 0 1 2 --- --- 4 3 TRUE -1 5 FALSE 7 4 TRUE -2 8 FALSE 9 5 TRUE -3 10 FALSE 10 6 FALSE -4 FALSE 9 7 TRUE -5 10 FALSE 8 8 TRUE -6 9 FALSE 6 9 TRUE -7 7 TRUE Valores de x,y,z: -7 7 9

5 Luis Pizarro Q. ©2003 5 P3-C1-1-2001 n Una persona está estudiando un plan de ahorros para los próximos 20 años. Mensualmente podría ahorrar $100.000. Además al final de cada año piensa agregar $200.000 al monto acumulado. El banco le ofrece 1.5% de interés mensual, pagados al final de cada mes. De esta forma, al final del primer mes tendría 100.000*1.015; al final del segundo tendría (100.000*1.015 + 100.000)*1.015; y así sucesivamente. Desarrolle un programa PASCAL que permita calcular el monto total acumulado al cabo de 20 años, indicando además la cantidad ganada por concepto de intereses. PROGRAM Ahorro; VAR año, mes: INTEGER; ahorrototal, gananciamensual: REAL; BEGIN ahorrototal := 0; gananciatotal := 0; FOR año := 1 TO 20 DO BEGIN FOR mes := 1 TO 12 DO BEGIN gananciatotal := gananciatotal + (ahorrototal + 100000) * 0.015; ahorrototal := (ahorrototal + 100000) * 1.015; END; ahorrototal := ahorrototal + 200000; WRITELN(‘La ganancia acumulada en el año ‘, año, ‘ es: ’, gananciatotal); WRITELN(‘El ahorro acumulado en el año ‘, año, ‘ es: ’, ahorrototal) END; END.

6 Luis Pizarro Q. ©2003 6 PROGRAM calcular_potencia; VAR n, conta: INTEGER; x, potencia: REAL; solucion: BOOLEAN; BEGIN WRITE(‘Ingrese Base y Exponente: ’); READLN(x, n); solucion := TRUE; IF n = 0 THEN potencia := 1 ELSE IF n > 0 THEN BEGIN potencia := 1; FOR conta := 1 TO n DO potencia := potencia * x; END ELSE IF x = 0 THEN BEGIN WRITELN(‘No hay solución’); solucion := FALSE END ELSE BEGIN potencia := 1; conta := 0; WHILE conta < n DO BEGIN potencia := potencia * x; conta := conta + 1 END; potencia := 1 / potencia END; IF solucion THEN WRITELN(x, ‘^’, n, ’=‘, potencia) END. PROGRAM calcular_potencia; VAR n, conta: INTEGER; x, potencia: REAL; solucion: BOOLEAN; BEGIN WRITE(‘Ingrese Base y Exponente: ’); READLN(x, n); solucion := TRUE; IF n = 0 THEN potencia := 1 ELSE IF n > 0 THEN BEGIN potencia := 1; conta := 0; REPEAT potencia := potencia * x; conta := conta + 1; UNTIL conta = n END ELSE IF x = 0 THEN BEGIN WRITELN(‘No hay solución’); solucion := FALSE END ELSE BEGIN potencia := 1; conta := 0; REPEAT potencia := potencia * x; conta := conta + 1; UNTIL conta = n potencia := 1 / potencia END; IF solucion THEN WRITELN(x, ‘^’, n, ’=‘, potencia) END. P4-C1-1-2001 n El siguiente programa permite calcular x n, donde x es real distinto de 0, y n puede ser +, - ó 0. Reemplace c/u de las estructuras de control iterativas por una equivalente.

7 Luis Pizarro Q. ©2003 7 Ejercicio: Calcular N términos de la serie de Fibonacci {1,1,2,3,5,8,13,21,...} PROGRAM Fibonacci; VAR i, j, z, cont, N: INTEGER; BEGIN WRITE(‘Ingrese N: ‘); READLN(N); i := 1; j := 1; IF N = 1 THEN WRITE(i) ELSE IF N = 2 THEN WRITE(i,’ - ‘, j) ELSE BEGIN WRITE(i,’ - ‘, j,’ - ‘); FOR cont := 3 TO N DO BEGIN WRITE(i+j,’ - ‘); z := i; i := j; j := z + i END END. PROGRAM Fibonacci; VAR i, j, z, cont, N: INTEGER; BEGIN WRITE(‘Ingrese N: ‘); READLN(N); i := 1; j := 1; IF N = 1 THEN WRITE(i) ELSE IF N = 2 THEN WRITE(i,’ - ‘,j) ELSE BEGIN WRITE(i,’ - ‘,j,’ - ‘); cont := 2; REPEAT WRITE(i+j,’ - ‘); z := i; i := j; j := z + i; cont := cont + 1; UNTIL cont = N END END.

8 Departamento de Informática Universidad Técnica Federico Santa María Ejercicios Certamen 1: Programación de Computadores (IWI-131) Luis Pizarro Q. Luis.Pizarro@inf.utfsm.cl www.labmc.inf.utfsm.cl/~lpizarro/IWI-131


Descargar ppt "Departamento de Informática Universidad Técnica Federico Santa María Ejercicios Certamen 1: Programación de Computadores (IWI-131) Luis Pizarro Q."

Presentaciones similares


Anuncios Google