Vous êtes sur la page 1sur 4

CERTAMEN N 1 LENGUAJE DE PROGRAMACION NOMBRE: Parte (I) Dados los siguientes trozos de algoritmo a = 20 if ( a > 10 ) {a=a5 b = a * 10 } if ( a < 5 OR a >

10) {a=a5 b=b5*a} a = 20 If ( a < 20 ) { a = a - 10 b = 10 * a } else { a = a 15 b = a * 10 } a = b div a b = a ^ (a / 5) Martes 1 de Septiembre de 2009

(i ) Realizar la traza de ambos algoritmos para a = 20. (15 puntos) a 20 15 10 b 150 100 a 20 5 10 b 50 100

(ii) Los algoritmos son equivalentes con el valor de la variable a indicado? ( 2 puntos) SI (iii) Por qu?. ( 3 puntos) Entregan el mismo resultado cuando se realizan las trazas con el valor dado a la variable. (iv) Los algoritmos son equivalentes para cualquier valor que tome a ?. ( 4 puntos) NO (v) Por qu?. ( 6 puntos) Entregan distintos resultados cuando se realizan las trazas con ciertos valores, por ejemplo a = 9.

Parte (II) Haciendo uso de pseudo cdigo visto en clases, escriba algortmicamente la expresin que permitan realizar las siguientes acciones:

a) b)

Incrementar al doble la variable contador. ( 3 puntos) contador = contador * 2 Copiar en la variable respaldo el valor de la variable sueldo. ( 3 puntos) respaldo = sueldo

c)

Sumar en la variable Beneficios las variables Bonos y Comisiones. ( 3 puntos) beneficios = bonos + comisiones

d)

Si edad es mayor o igual a 18 asigne mayor de edad a la variable mensaje, en caso contrario, asgnele menor de edad. ( 6 puntos) IF (edad >= 18 ) { mensaje = mayor de edad } ELSE { mensaje = menor de edad }

Parte (III) Usando el pseudos cdigo visto en clases escriba el algoritmo que permita solucionar el siguiente caso: Dado un nmero a, que debe ser ingresado, devolver el nmero siguiente a este ( 15 puntos) ALGORITMO NumeroSiguiente ENTRADA a: Entero SALIDA b: Entero { SCANF (a) b = a+1 PRINTF (b) }

Parte IV Para los siguientes ejercicios construya la traza e indique, en los casos que corresponda, el o los valores que desplegara. (15 puntos ) /* Algoritmo de calculo de variables */ x=4 /* zona de iniciacin de variables*/ y=x+4 z=x+y x = ( x + y + z ) div x mod x v=x<z-y SCANF (x, z) /* impresin de valores */ IF ( v = TRUE) /* consulta por valor de v*/ { x=y^x+1 z = x div z y=x+z v = NOT(v) SCANF (v) } ELSE { x=y z=y y=x v = NOT(v) AND ( x = z) SCANF (v) } x=x+1 y=y+1 z=z+1 SCANF (x, z) x 4 2 65 66 y 8 70 71 z 12 5 6 v TRUE FALSE Respecto al algoritmo seale que elementos de los 4 estilos de programacin vistos estn presentes y cuales no. (10 puntos ) Estn presentes: Comentarios Formateado del cdigo

No estn presentes: Uso de constantes Cdigo auto documentado

Desplegar : (2 , 12) (FALSE) (66, 6)

Parte IV Escriba la siguiente instruccin escrita con dos estructuras selectivas simples con su equivalente que haga uso solo de una estructura selectiva doble: (a) 7 puntos Dos estructuras selectivas simples a=5 b = 10 c=0 If ( a > b ) { a = a + 10 c=a+b } if (a <=b) { c= c + 10 a=c+b } Una estructura selectivas doble a=5 b = 10 c=0 If ( a > b ) { a = a + 10 c=a+b } else { c = c + 10 a=c+b }

Escriba la siguiente instruccin escrita con una estructuras selectivas doble con su equivalente que haga uso de dos estructura selectivas simples: (a) 8 puntos Dos estructuras selectivas simples articulo = auto de color color1 =rojo color2 = azul peso = 10 If (peso = 10) { printf(articulo + color1) } If (peso <> 10) { printf(articulo + color2) } Una estructura selectivas doble articulo = auto de color color1 =rojo color2 = azul peso = 10 If (peso = 10) { printf(articulo + color1) } else { printf(articulo + color2) }

Vous aimerez peut-être aussi