Está en la página 1de 8

Curso: 2017/2018

INFORMÁTICA 08/junio/2018

Nombre ______________________________ Tiempo:

Apellido 1º ______________________________
45 Min.
Apellido 2º ______________________________

Grupo de Magistral:

Grupo de Seminario:

SOBRE LAS PREGUNTAS TEÓRICAS:

1 Cada pregunta, sólo se considerará correcta cuando se elija la opción más adecuada y se justifique
perfectamente el porqué (tanto de la(s) respuesta(s) correcta(s) como de las incorrectas)

2 No se permitirá escribir fuera del recuadro de respuesta de cada pregunta

3 El examen escrito vale 7 puntos de la nota final de la asignatura:

 La parte teórica es el 30% del examen escrito (2,1 puntos de la nota final)

 El programa es el 70% del examen escrito (4,9 puntos de la nota final)

4 Para aprobar la asignatura es obligatoria la obtención del 50% de la nota del examen escrito (3,5 puntos
sobre 7).

5 Si no se obtiene, al menos, 3,5 puntos en el examen escrito la nota final será:

La suma de la evaluación continua más la nota del examen escrito (no pudiendo ser un valor
superior a 4,5 puntos)

6 NO SE PERMITE DESGRAPAR LAS HOJAS DEL ENUNCIADO

NO SE PUEDE COMENZAR
NI A LEER NI A CONTESTAR LAS PREGUNTAS
HASTA QUE SE INDIQUE

Curso 2017/2018 Informática 1


1. Dada la siguiente declaración de tipos y de variables del programa principal:

TYPE
tsCad30 = String [30];
tasDosCad30 = ARRAY [1 .. 2] OF tsCad30;
trgFecha = RECORD
iDia, iMes, iAnyo : Integer;
END;
trgEmpleado = RECORD
sNombre : tsCad30;
asApellidos : tasDosCad30;
rgContrato : trgFecha;
END;
targEmpresa = ARRAY [1 .. 100] OF trgEmpleado;

VAR
iValor : Integer;
argEmpresa : targEmpresa;

Si se desea actualizar el año del contrato del empleado 56 ¿Cuál(es) de las siguientes sentencias es/son
correcta(s)?

A) WITH argEmpresa[56].rgContrato[3] DO
iAnyo := iValor;
B) WITH argEmpresa[56].rgContrato DO
iAnyo := iValor;
C) WITH argEmpresa[56],rgContrato DO
iAnyo := iValor;
D) argEmpresa[56].rgContrato.iAnyo := iValor;

Respuesta(s) correcta(s): ________________

Justifica la respuesta (tanto de la(s) respuesta(s) correcta(s) como de las incorrectas):

Curso 2017/2018 Informática 2


2. En base al siguiente código,

iNum2 := 0 ;

FOR i := 1 TO 3 DO
Write('Introduce un numero: ') ;
ReadLn (iNum1) ;
iNum2 := iNum1 + iNum2 ;

WriteLn('La suma de los numeros es: ', iNum2) ;

A) El código calcula la suma de 3 números


B) El código no compila
C) El funcionamiento del código sería más adecuado con un REPEAT
D) Ninguna de las anteriores

Respuesta(s) correcta(s): ________________

Justifica la respuesta (tanto de la(s) respuesta(s) correcta(s) como de las incorrectas):

Curso 2017/2018 Informática 3


3. Dada la siguiente definición de tipos y variables:

TYPE
tarNums = ARRAY [1..12] OF Real ;

¿Cuál de las cabeceras de la declaración sería la más correcta de un subprograma que tenga las
siguientes instrucciones?

VAR
i : Integer ;
BEGIN
IF iLong < 12 THEN
BEGIN
FOR i := iLong DOWNTO iPos DO
arNums[i+1] := arNums[i] ;
iLong := iLong+1;
END;
END;

A) PROCEDURE SubProg (VAR arNums : tarNums; VAR iLong:Integer) ;


B) PROCEDURE SubProg (CONST arNums:tarNums; iLong:Integer; iPos:Integer) ;
C) PROCEDURE SubProg (VAR arNums:tarNums; VAR iLong:Integer; iPos:Integer) ;
D) PROCEDURE SubProg (VAR arNums:tarNums; VAR iLong, iPos:Integer) ;

Respuesta correcta: ________________

Justifica la respuesta (tanto de la(s) respuesta(s) correcta(s) como de las incorrectas):

Curso 2017/2018 Informática 4


4. Dadas las siguientes instrucciones:

cLetra := 'a';
cLetra := Succ (Succ (Chr (Ord (UpCase (cLetra)) + Random(3) ) ) ) ;

¿Cuál o cuáles de los siguientes valores podrían ser posibles para cLetra?

A) 'B'
B) 'D'
C) 'c'
D) 'E'

Respuesta(s) correcta(s): ________________

Justifica la respuesta (tanto de la(s) respuesta(s) correcta(s) como de las incorrectas):

Curso 2017/2018 Informática 5


5. Dado un fichero en el que se almacenan estos datos:

'Patxi' 'Karmele' 'Jon' 'Itziar'


'Perez' 'Lopez' 'Gimenez' 'Gonzalez'

determina cuál o cuáles de las siguientes opciones son válidas para declarar el tipo fichero:

A) TYPE
tsCadena = String [9];
trgNombre = RECORD
sNombre : tsCadena ;
sApellido : tsCadena ;
END;
tfbFichero = FILE OF trgNombre ;

B) TYPE
tsFrase = String [8] ;
tasNombres = ARRAY OF tsFrase [2] ;
tfbFichero = FILE OF tasNombres ;

C) TYPE
tsCadena = String [5] ;
tasNombre = ARRAY[1..2] OF tsCadena ;
tfbFichero = FILE OF tasNombre ;

D) TYPE
tsFrase = String [10] ;
tasArray = ARRAY[1..2] OF tsFrase ;
tfAgenda = FILE OF tasArray ;

Respuesta(s) correcta(s): ________________

Justifica la respuesta (tanto de la(s) respuesta(s) correcta(s) como de las incorrectas):

Curso 2017/2018 Informática 6


6. Dada la siguiente declaración de variables de un programa:

VAR
iDato1, iDato2 : Integer ;
boRespuesta : Boolean ;

y dada la siguiente sentencia de asignación:

boRespuesta := (iDato1 MOD 2 = 0) OR (iDato2 MOD 2 <> 0) ;

¿Cuál de las siguientes respuestas es la correcta?

A) boRespuesta tendrá el valor TRUE si el contenido de iDato1 e iDato2 son números pares.
B) boRespuesta tendrá el valor TRUE si el contenido de iDato1 e iDato2 son números impares.
C) boRespuesta tendrá el valor TRUE si el contenido de iDato2 es un número impar
independientemente de cómo sea el contenido de iDato1.
D) Todas las respuestas anteriores son ciertas.

Respuesta(s) correcta(s): ________________

Justifica la respuesta (tanto de la(s) respuesta(s) correcta(s) como de las incorrectas):

Curso 2017/2018 Informática 7


7. Dado el siguiente fragmento de código sintácticamente correcto:

iCont := 3;

FOR i := 1 TO 6 DO
BEGIN
Write ('Numero nuevo: ') ;
ReadLn (iNum) ;

IF (iNum MOD 2) > 0 THEN


iCont := iCont - 1
ELSE
iCont := iCont + 1;
END;

Si se introduce la secuencia de números 3, 2, 5, 6, 2, 2 , ¿cuál será el valor de iCont al finalizar la


sentencia repetitiva?

A) 0
B) 1
C) 2
D) Ninguna de las anteriores.

Respuesta(s) correcta(s): ________________

Justifica la respuesta:

Curso 2017/2018 Informática 8

También podría gustarte