Upload
jagarcias
View
212
Download
0
Embed Size (px)
DESCRIPTION
EXAMEN OPOSICION VALENCIA INFORMATICA SECUNDARIA
Citation preview
Procedimientos selectivos de ingreso y acceso a los cuerpos docentes de profesores de Enseñanza Secundaria. ORDEN 6 DE MAYO DE 2009
Especialidad: INFORMÁTICA Prueba B3: Ejercicio 2Valoración: 10 puntos Tiempo máximo ejercicio 2: 1’45 h Página 1 de 6
APELLIDOS Y NOMBRE:
1. (0,5 ptos) Dado el siguiente código: int i, j, k = 0; for (i = 0; i < 4; i++) for (j = 0; j < i; j++) { if (j == 2) break; k += i + j; } printf ("%d", k);
Muestra la salida por pantalla. ______________
2. (0,5 ptos) Dado el siguiente código:#define N 5
int funcion (void){ static int valor = 0;
valor++; return valor;} int main(){ int vector[N], i, suma = 0;
for (i = 0; i < N; i++) { vector[i] = funcion(); suma += vector[i]; } printf ("%d", suma); return 0; }
Muestra la salida por pantalla. ______________
Procedimientos selectivos de ingreso y acceso a los cuerpos docentes de profesores de Enseñanza Secundaria. ORDEN 6 DE MAYO DE 2009
Especialidad: INFORMÁTICA Prueba B3: Ejercicio 2Valoración: 10 puntos Tiempo máximo ejercicio 2: 1’45 h Página 2 de 6
APELLIDOS Y NOMBRE:
3. (0,5 ptos) Dado el siguiente código: #define N 'N'-'A'+1 …
char cadena[N]; char *p; int suma = 0; for (p = cadena; p < cadena + N; p++) *p = p - cadena + 'A'; for (p = cadena; p < cadena + N - 1; p++) suma += *(p+1) - *p; printf ("%d", suma);
Muestra la salida por pantalla. ______________
4. (0,5 ptos) Dado el siguiente código: char cadena[] = "Utilizando cadenas"; char *p, *q; p = cadena; p = strchr (cadena, 'c'); printf ("%s ", strrev(p)); for (q = p; *q; q++) (*q)++; printf (" %s ", cadena);Muestra la salida por pantalla. ______________
5. (0,5 ptos) Rellena el código que falta:#define N 40#define M 2
typedef struct { int dia; int mes; int anyo;} tfecha;
typedef struct { long int dni;
Procedimientos selectivos de ingreso y acceso a los cuerpos docentes de profesores de Enseñanza Secundaria. ORDEN 6 DE MAYO DE 2009
Especialidad: INFORMÁTICA Prueba B3: Ejercicio 2Valoración: 10 puntos Tiempo máximo ejercicio 2: 1’45 h Página 3 de 6
APELLIDOS Y NOMBRE:
char nombre[N]; tfecha fecnac;} talumno;
int main() { talumno alumnos[M]; int i; for (i = 0; i < M; i++) { printf ("\n\nAlumno %d\n", i + 1); printf ("DNI:"); scanf (____________________________________________________); fflush(stdin); printf ("Nombre: "); gets (_____________________________________________________); printf ("Fecha de nacimiento: "); scanf (____________________________________________________); } …}
6. (0,5 ptos) Dado el siguiente código:int funcion(int a, int b){ int result = a; if (a < b) return result;
result = funcion (a - b, b);
return result;}
int main (){ printf ("%d", funcion (5, 2));}
Indica la salida por pantalla. ______________
7. (0,5 ptos) Dado el siguiente código:
Procedimientos selectivos de ingreso y acceso a los cuerpos docentes de profesores de Enseñanza Secundaria. ORDEN 6 DE MAYO DE 2009
Especialidad: INFORMÁTICA Prueba B3: Ejercicio 2Valoración: 10 puntos Tiempo máximo ejercicio 2: 1’45 h Página 4 de 6
APELLIDOS Y NOMBRE:
#define N 5
int funcion (int vector[]){ int suma = 0; int *p; for ( p = vector; p < vector + N; p++) if (*p % 2) suma += *p; return suma;}
int main(){ int vector[N] = {5, 10, 15, 20, 25}; int *p; for (p = vector; p < vector + N; p++) *p /= 5; printf ("%d", funcion (vector));
return 0;}
muestra la salida por pantalla. ______________
8. (0,5 ptos) Dado el siguiente código: int i, j, *pi, *pj; pi = &i; *pi = 5; j = 10; pj = pi; *pi *= *pj; if (*pi == *pj) *pj = *pi + *pj;
printf ("i = %d j = %d *pi = %d *pj = %d", i, j, *pi, *pj);Muestra la salida por pantalla. ______________
Procedimientos selectivos de ingreso y acceso a los cuerpos docentes de profesores de Enseñanza Secundaria. ORDEN 6 DE MAYO DE 2009
Especialidad: INFORMÁTICA Prueba B3: Ejercicio 2Valoración: 10 puntos Tiempo máximo ejercicio 2: 1’45 h Página 5 de 6
APELLIDOS Y NOMBRE:
9. (0,5 ptos) Dado el siguiente código: #define N 3 … int matriz[N][N] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; int matriz2[N][N]; int i, j, suma = 0; for (i = 0; i < N; i++) for (j = 0; j < N; j++) matriz2[j][i] = matriz[i][j];
for (i = 0; i < N; i++) for (j = 0; j < N; j++) if (i == j) suma += matriz2[i][j];
printf ("%d", suma); getch();Muestra la salida por pantalla. ______________
10. (0,5 ptos) Muestra la salida por pantalla del siguiente código: #define N 4 …
int i, j, aux; int vector [N] = {4, 3, 2, 1}; int *p;
for ( i = 1; i < N; i++) for ( p = vector; p < vector + N - i; p++) if (*p > *(p + 1)) { aux = *p; *p = *(p + 1); *(p + 1) = aux; }
for (i = 0; i < N; i++) printf ("%d", vector[i]);Muestra la salida por pantalla. ______________
Procedimientos selectivos de ingreso y acceso a los cuerpos docentes de profesores de Enseñanza Secundaria. ORDEN 6 DE MAYO DE 2009
Especialidad: INFORMÁTICA Prueba B3: Ejercicio 2Valoración: 10 puntos Tiempo máximo ejercicio 2: 1’45 h Página 6 de 6
APELLIDOS Y NOMBRE:
A partir de la base de datos de un laboratorio farmacéutico extraemos las siguientes tablas:
FORMULA ( Nom_Formula, caducidad, importe) .Nombre de la fórmula, periodo máximo de caducidad y el importe del producto en euros.COMPOSICION (Nom_Formula, componente, cantidad). Almacena para cada fórmula magistral los nombres de sus componentes y la cantidad en mililitros de cada uno de ellos necesario para la creación.
Formular en SQL las siguientes consultas:
a) (1,5 ptos) Mostrar los nombres de las fórmulas cuya caducidad sea inferior a 30 días y para su generación sean necesarias más de 3 componentes.
b) (1,5 ptos) Mostrar para cada una de las fórmulas el componente cuya cantidad sea la mayor de todos los componentes de dicha fórmula.
c) (1,5 ptos) Obtener la fórmula que menor presentación tenga. Existe la posibilidad de que existan varias de ellas con la misma presentación. (Se entiende por presentación la cantidad total en mililitros de la composición)
d) (0,5 ptos) Actualizar el componente C3, debemos cambiar su nombre por CV3. Dichos cambios deben registrarse en la tabla COMPOSICION.