Académique Documents
Professionnel Documents
Culture Documents
Paralelo: ________________
C – 10:00
Rol UTFSM: _____________________ Nombre: ________________________________________
PREGUNTA 1: [30 ptos] (Cada expresión son 2 pts)
Evalúa la comprensión de conceptos básicos en programación (tipos de datos simples, constantes, variables y operadores).
NOTA
Indique con “C” las expresiones correctas y con “I” las incorrectas. En las expresiones “I”, ud. debe
explicar porqué son incorrectas, y en las expresiones “C” debe escribir el valor resultante de la expresión.
NOTA: Para cada expresión considere los valores definidos en la cabecera, y no los que resultan de las
expresiones anteriores. Recuerde que FALSO = 0 y VERDADERO = 1.
#include <stdio.h>
#include <math.h>
int main(){
const int Z=10;
const float Y=12.0;
A = 0, ya que:
A = 0 && (B=8/4);
A = 0 && 1
A = 0 && (B=8/4); C A = 0
Nota1: 0 && (cualquier cosa) -> 0
Nota2: El valor de verdad de una
asignación es 1.
X = 1, ya que:
X = (1 >= 3.2) && 1 || (!(7 < 7))
X = (1 >= 3.2) && 1 || (!(7 < 7)) C X = (0 && 1) || (!(0))
X = (0 && 1) || 1
X = 0 || 1
X = 1
X = -11, ya que:
X = (int)C/B++ - A;
X = (int)7.0/2 - 14;
X = (int) 3.5 – 14;
X = (int)C/B++ - A; C X = 3 – 14;
X = -11
1
KRF / RSC / NVM / JCV
IWI-131 CERTAMEN 1 15-Abril-2009 Duración 90 minutos. Paralelo: ________________
Rol UTFSM: _____________________ Nombre: ________________________________________
D= 6.000000, ya que:
D = 4 + 50 DIV 10 – 3
D = 4+2*25/10–sqrt(9); C D=4+5–3
D=6
Pero como D es una variable flotante:
D= 6.000000
A = 14, ya que:
A = A + !(E-F);
A = 14 + !(‘M’-‘N’);
A = 14 + !(-1);
A = 14 + !(1);
A = 14 + 0
A = 14
A = A + !(E-F); C !(‘M’-‘N’) es la resta de los valores
ASCII de cada carácter. No necesita
saber el valor exacto, basta hacer:
x – (x + 1) = -1
A = 11, ya que:
A = Z*Z%9+Z;
A = Z*Z%9+Z; C A = 100%9+10;
A = 1+10;
A = 11
B = 18, ya que:
B = (3243 % Z)*(C-D);
B = (3243 % 10)*(7.0-1.0);
B = (3243 % Z)*(C-D); C B = 3*6.0;
B = 18.0
Pero como B es una variable entera, el valor se
trunca y queda B = 18
B = 7, ya que:
B = 3*B++;
B = 3*2;
B = 3*B++; C B = 6;
Luego, se debe hacer el incremento de
la variable B, con lo que queda:
B = 7
2
KRF / RSC / NVM / JCV
IWI-131 CERTAMEN 1 15-Abril-2009 Duración 90 minutos. Paralelo: ________________
Rol UTFSM: _____________________ Nombre: ________________________________________ C – 10:00
PREGUNTA 2: [30 ptos] (Cada valor de las tablas es 1 pto).
Evalúa la capacidad de reconocer e interpretar las estructuras fundamentales de la prog. estructurada.
Realice el ruteo de los siguientes programas [19 ptos]:
Debe haber solo un valor por fila. Un error, implica todo malo de ahí en adelante (la única excepción se hizo en los dos
primeros valores de la tabla del programa A: fíjese que lo correcto es que b debe tener valor antes, para poder hacer
luego a = b. Si esos valores no estaban en orden, se siguió corrigiendo).
A) PROGRAMA A: i j a b
#include <stdio.h>
1
int main() { 1
int i, j, a, b;
3
a = b = 1; 0
j = 3; i = 0;
2
while (i<j){ 2
if (a%2 != 0) {
b += a; 1
a = b; 2
};
i++; 3
}
}
B) PROGRAMA B: i a b c
#include <stdio.h>
1
int main() { 1
int i, a, b, c;
10
i = 1; a = 1; b=10; 1
do { 11
a = a*i; 2
b++;
i=i*2; 2
} 12
while (a!=2);
c = a*3; 4
} 6
3
KRF / RSC / NVM / JCV
IWI-131 CERTAMEN 1 15-Abril-2009 Duración 90 minutos. Paralelo: ________________ C – 10:00
Rol UTFSM: _____________________ Nombre: ________________________________________
PREGUNTA 3 Evalúa la capacidad de identificar y resolver a través de un programa, un problema sencillo de procesamiento de datos.
[40 ptos]
En el proceso de lixiviación, las planchas de cobre van engruesando gradualmente según la corriente eléctrica y el nivel
de concentrado de cobre que hay en las piscinas. Cada día se mide el ancho de X planchas de cobre elegidas al azar
(X cambia día a día). El jefe de producción necesita conocer el porcentaje de planchas cuyos anchos están bajo, dentro
o sobre el rango de ancho aceptable, y sus respectivos anchos promedio. El ancho aceptable de las planchas, es entre
0.95 y 1.05 del ancho K que debieran tener las planchas al día de las mediciones. Escriba un programa que entregue la
información que requiere el jefe de producción. Los datos son ingresados por teclado, y los resultados deben
entregarse por pantalla. Además, responda lo siguiente:
a) ¿Qué datos son conocidos? (1ptos)
Que el rango de ancho esperado está entre 0.95 y 1.05 del valor esperado al día de la toma de las muestras.
b) ¿Qué datos son desconocidos (deben ser ingresados por el usuario)? (3ptos)
X, Ancho esperado, ancho de cada muestra.
c) ¿Qué información debe entregar el programa? (2ptos)
Porcentaje de muestras bajo, dentro y sobre el rango esperado, ancho promedio de las planchas bajo, dentro,
y sobre el rango de niveles esperados.
#include <stdio.h>
#include <stdlib.h>
int main() {
// Declaración de variables
int x, num_bajo, num_sobre, num_dentro, i;
float K, ancho_plancha, lim_inferior, lim_superior,
porc_dentro, porc_bajo, porc_sobre, sum_ancho_dentro, sum_ancho_bajo,
sum_ancho_sobre, prom_dentro, prom_bajo, prom_sobre;
// Inicializaciones
num_dentro = num_sobre = num_bajo = 0;
sum_ancho_dentro = sum_ancho_bajo = sum_ancho_sobre = 0;
// Inicializar i
i=1;
4
KRF / RSC / NVM / JCV
IWI-131 CERTAMEN 1 15-Abril-2009 Duración 90 minutos. Paralelo: ________________
Rol UTFSM: _____________________ Nombre: ________________________________________
// Mostrar resultados
printf("\nResultados: \n");
printf("- Planchas dentro del rango esperado: %.1f%%\n", porc_dentro);
printf("- Ancho promedio: %.1f\n\n", prom_dentro);
printf("- Planchas bajo el rango esperado: %.1f%%\n", porc_bajo);
printf("- Ancho promedio: %.1f\n\n", prom_bajo);
printf("- Planchas sobre el rango esperado: %.1f%%\n", porc_sobre);
printf("- Ancho promedio: %.1f\n\n", prom_sobre);
system("pause");
return 0;
}
5
KRF / RSC / NVM / JCV