Tipo de examen: ordinario

Anuncio
IT-7-ACM-02-R02
!
!
!
!
!
!
!
!
!
!
UNIVERSIDAD AUTÓNOMA DE NUEVO LEÓN
FACULTAD DE INGENIERÍA MECÁNICA Y ELÉCTRICA
Tipo de examen: ordinario
Nombre de la materia: Lenguaje ANSI-C
Semestre: 2o
Academia: Programación
Instrucciones: Conteste correctamente los siguientes cuestionamientos. Se permite el uso de un
diccionario y de una tarjeta de referencia ANSI-C (ambos impresos, de una pieza, sin anotaciones agregadas)
— no se permite compartir materiales. Se contesta por escrito a mano.
Favor de indicar su número de matrı́cula en la esquina derecha superior de cada hoja; indicar el número
total de hojas y el número de la hoja particular debajo del número de matrı́cula. No incluir su nombre
ni ningún otro dato aparte de lo solicitado.
Se otorga por máximo un punto por pregunta. Las preguntas (m) corresponden a la unidad temática 3.
Modularidad y las (a) corresponden a la 4. Almacenaje. El resto del examen es en inglés ya que el grupo se
imparte en inglés.
Explain the functionality of the indicated lines of code (the number in the comment being the number of the
question) within the following ANSI-C program. Each ... indicates that a whole block of code is omitted.
#define X 4
...
typedef struct exa {
double v;
} ex;
int cmp(const void*, const void*);
int fx(int*, int);
int fy(int*, int);
...
int main(int c, char** v) {
unsigned int t = 0;
int n, *d, *q;
char *f, *s;
ex z, y, *x;
FILE* i;
int(*u)(int*, int);
...
*q *= n; // 1 (a)
...
while (s[n] != ’\0’) { // 2 (a)
n++;
}
x = (y.v > z.v) ? &y : &z; // 3 (m)
d = (int*)malloc(sizeof(int) * n); // 4 (a)
...
qsort(d, n, sizeof(int), cmp); // 5 (m)
...
free(d); // 6 (a)
switch (getchar()) { // 7 (m)
case ’r’: // 8 (m)
t |= X; // 9 (m)
break;
...
}
n = atoi(v[1]); // 10 (a)
f = v[n]; // 11 (a)
i = fopen(f, "r"); // 12 (a)
if (i != NULL) { // 13 (a)
while (!feof(i)) { // 14 (a)
...
}
fclose(i); // 15 (a)
}
u = (n % 2) ? fx : fy; // 16 (m)
u(d, n); // 17 (m)
...
}
Fin del examen.
REVISIÓN No.: 6
VIGENTE A PARTIR DE: 16 de Octubre del 2014
Descargar