EXAMEN PARCIAL DE PROGRAMACIÓN I GRUPO 2

Anuncio
EXAMEN PARCIAL DE PROGRAMACIÓN I
GRUPO 2 - PERMUTACIÓN 2
Tiempo disponible: 50 minutos
Puntuación: sobre 10 puntos
- las respuestas acertadas suman 1 punto
- las respuestas falladas restan 0.25
- las preguntas sin responder ni suman ni restan
Datos personales que debéis rellenar en la hoja de examen:
- Con letras, el cuadro superior: estudi, data, nom, cognoms, assignatura y grup (de teoría)
- Marcando las casillas, y también con letras:
- DNI
- Centre: 337
- Assignatura: 12406
- Parcial: dejadlo en blanco
- Permutació: 2
- Grup: 02
- En el último cuadro: el NIA, comenzando con tres ceros, por ejemplo 00012345
Cómo rellenar las respuestas :
- El número de pregunta es el que aparece a la derecha de las casillas y se corresponde con un bloque con dos
filas
- De estas dos filas, tenéis que rellenar la primera (con un número impar). La segunda (con un número par) sirve
para anular la respuesta
- Recordad que debéis rellenar la casilla completa
- Mejor con bolígrafo negro o lápiz oscuro (nº 1 ò 2). No uséis típex!
1. Un número entero se dice elemental si es divisible por 3 ó 5 pero no lo es por 4. Indica cuál de las siguientes
expresiones devuelve verdadero si y sólo si un cierto número entero i es elemental es:
a)
b)
c)
d)
(i % 3 == 0 || i % 5 == 0) && ( i % 4 != 0)
(i % 3 == 0 || i % 5 == 0) && ! ( i % 4 != 0)
(i % 3 == 0 || i % 5 == 0) && ( i % 4 == 0)
(i % 3 == 0 || i % 5 == 0) || ! ( i % 4 != 0)
2. Indica cuántas iteraciones del bloque se realizan al ejecutar el siguiente bucle:
for (i=0 ; i<6 ; i++)
{
for (j=0 ; j<i ; j++) {/* bloque*/}
}
a)
b)
c)
d)
25
36
15
21
3. Indica qué valores se escriben cuándo se compila y ejecuta el siguiente programa:
#include <stdio.h>
int f1(int x)
{
x++;
return x;
}
int f2(int x, int y)
{
return x * y;
}
a)
b)
c)
d)
main()
{
int x = 3, y = 6, a, b, c;
a = f1(x);
b = f1(y);
c = f2(a,b);
printf("%d , %d , %d", x, y, c);
}
4 , 7 , 28
3 , 6 , 28
3 , 6 , 18
Ninguna de las anteriores
4. Indica qué valores se escriben cuando se compila y ejecuta el siguiente programa:
a)
b)
c)
d)
#include <stdio.h>
int f1(int y, int x)
{
return x - y;
}
main()
{
int x = 3, y = 7;
printf("%d , %d", f1(x,y), f1(y,x));
}
4, 4
-4, -4
-4, 4
4, -4
5. Indica qué valores se escriben cuándo se compila y ejecuta el siguiente programa:
a)
b)
c)
d)
#include <stdio.h>
int f1(int x)
{
x++;
return x;
}
int f2(int x)
{
x--;
return f1(x);
}
int f3(int x, int y)
{
x = f2(x);
y = f2(y);
return x + y;
}
void f4(int y, int x)
{
y *= 2;
x++;
printf("%d , %d , %d", x, y, f3(x, y));
}
main()
{
int x = 3, y = 7;
f4(x, y);
}
8 , 6 , 14
14 , 4 , 18
13 , 3 , 16
Ninguna de las anteriores
6. Indica qué se escribe cuándo se compila y ejecuta el siguiente programa:
#include <stdio.h>
#define N 6
main()
{
int v1 [N] = {0, 2, 4, 1, 3, 5};
int v2 [N] = {11, 22, 33, 44, 55, 66};
int x = 1;
for(x=0; x <N; x++)
printf("%d , ", v2[v1[N - 1 - x]]);
}
a)
b)
c)
d)
11 , 22 , 33 , 44 , 55 , 66 ,
11 , 33 , 55 , 22 , 44 , 66 ,
66 , 44 , 22 , 55 , 33 , 11 ,
Ninguna de las anteriores
7. Indica qué se escribe cuándo se compila y ejecuta el siguiente programa:
#include <stdio.h>
#define N 10
main()
{
int v [N] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
int x;
for(x=0; x < N; x++)
if (v[x]%20==0)
v[x] *= 10;
for(x=N-1; x >= 0; x--)
if (v[x] >= 100)
printf("%d , ", v[x]);
}
a)
b)
c)
d)
100 ,
1000 , 800 , 600 , 400 , 200 ,
200 , 400 , 600 , 800 , 1000 ,
Ninguna de las anteriores
8. Indica qué se escribe cuando se compila y ejecuta el siguiente programa:
#include <stdio.h>
#define N 3
main()
{
int m1[N][N] = {{1, 1, 1}, {2, 2, 2}, {3, 3, 3}};
int m2[N][N];
int x, y;
for(x=0; x < N; x++)
for(y=0; y < N; y++)
if (m1[x][y]%2 == 0)
m2[x][y] = m1[x][y];
else
m2[x][y] = m1[y][x];
printf("%d , %d , %d", m2[0][2], m2[1][2], m2[2][2]);
}
a)
b)
c)
d)
1,2,3
3,2,3
3,3,3
Ninguna de las anteriores
9. Indica qué se escribe cuándo se compila y ejecuta el siguiente programa:
#include <stdio.h>
#define N 3
main()
{
int m[N][N] = {{0, 0, 0}, {1, 1, 1}, {2, 2, 2}};
int x, y;
for(x=0; x < N; x++)
for(y=1; y < N; y++)
m[x][y] = m[x][y] + m[x][y-1];
printf("%d , %d , %d", m[0][0], m[1][1], m[2][2]);
}
a)
b)
c)
d)
0,2,6
1,2,3
0,1,3
1,3,6
10. Indica qué se escribe cuándo se compila y ejecuta el siguiente programa:
#include <stdio.h>
#include <string.h>
main()
{
char cad[100] = "abcdefghijklmnoqrstuvxyz";
cad[strlen(cad)/2] = '\0';
cad[strlen(cad)/2] = '\0';
printf("%s , %d", cad, strlen(cad));
}
a)
b)
c)
d)
abcdef, 6
abcdefghijkl, 12
abcdefghijklmnoqrstuvxyz , 24
abcdefghijklmnoqrstuvxyz , 100
Soluciones
1. a
2. c
3. b
4. d
5. a
6. c
7. b
8. b
9. a
10. a
Descargar