8
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 2 Valoración: 10 puntos Tiempo máximo ejercicio 2: 1’45 h Página 1 de 8 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++) {

parteB3Ejercicio2_Enunciado

Embed Size (px)

DESCRIPTION

EXAMEN OPOSICION VALENCIA INFORMATICA SECUNDARIA

Citation preview

Page 1: parteB3Ejercicio2_Enunciado

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. ______________

Page 2: parteB3Ejercicio2_Enunciado

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;

Page 3: parteB3Ejercicio2_Enunciado

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:

Page 4: parteB3Ejercicio2_Enunciado

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. ______________

Page 5: parteB3Ejercicio2_Enunciado

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. ______________

Page 6: parteB3Ejercicio2_Enunciado

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.