You are on page 1of 1

Asignatura: Programación I Hora: 11:30

Material auxiliar: Ninguno Duración: 2 horas

RELLENE EN ESTA HOJA Y EN LA HOJA DE LECTURA ÓPTICA LOS SIGUIENTES DATOS:

Apellidos:......................................................................................................Tlfno.:........................................
Nombre:........................................................................................................D.N.I.:.........................................
Código Carrera: 53(Sistemas) 54(Gestión) Código Asignatura: 103 Convocatoria: Febrero 1ªPP
Semana: 2ª -EXTRAJERO 1 Tipo de Examen: F
• El test debe ser contestado en la hoja de lectura óptica. Sólo una de las cuatro respuestas posibles de cada pregunta es correcta.
• El test es eliminatorio y aporta un 30% de la nota final. Son necesarias 8 respuestas correctas (6 con las prácticas aprobadas) para que se corrija el ejercicio.
• La solución del ejercicio se realizará en el reverso de esta hoja. No se corregirán hojas auxiliares.
ENTREGUE ÚNICAMENTE ESTA HOJA Y LA HOJA DE LECTURA ÓPTICA sin grapar
TEST (cada respuesta correcta: 1punto; respuesta incorrecta o en blanco: 0 puntos)
1.- La siguiente declaración en Modula-2 6.- Después de la ejecución de P(x+1, x), ¿qué valor tiene la
TYPE indice = [0.. Maximo]; variable x?
a) No es correcta nunca VAR x: INTEGER;
b) Es correcta si Maximo es una variable …
c) Es correcta si Maximo es un tipo PROCEDURE P(y: INTEGER; VAR z: INTEGER);
d) Es correcta si Maximo es una constante BEGIN
¿Ha codificado en la hoja de lectura óptica el campo DEC(x); y:=y+3; z:= z+2;
convocatoria Febrero-semana? END P;
2.- Dada la siguiente declaración: …
TYPE mitipo = POINTER TO POINTER TO REAL; x:=2; P(x+1,x);
VAR mivar: mitipo; a) 7
La asignación correcta es: b) 5
a) mivar:=4.0; c) 3
b) mivar^^:=4.0; d) 4
c) mivar^:= 4.0;
d) mivar^.valor:=4.0; 7.- En Modula-2, la declaración:
3.- Señale la afirmación correcta: TYPE impares = (”1”, ”3”,”5”,”7”,”9”);
PROCEDURE Cubo(x: REAL); a) Es correcta si se eliminan todas las comillas
BEGIN b) Es correcta si los caracteres se cambian por identificadores
resultado := x * x * x c) Es correcta si se sustituyen los números por letras
END Cubo; d) Es correcta si a cada número le precede una letra
a) Cubo es un procedimiento puro
b) Cubo es una función pura 8.- Siendo A y B dos variables de un mismo tipo conjunto, la
c) Cubo es un procedimiento sin transparencia referencial operación “A / B” da como resultado un conjunto con
d) Cubo es una función sin transparencia referencial a) los elementos de A que no están en B
Antes de contestar a esta pregunta, asegúrese de haber b) los elementos de B que no están en A
completado sus datos personales en esta hoja. c) los elementos de A o de B, pero no de ambos
4.- Según la semántica de Modula-2, en la regla BNF: d) los elementos de A que están en B
Sentencia_RETURN ::= RETURN [ Expresión ]
a) Expresión es opcional en funciones y procedimientos 9.-Un módulo de definición
b) Expresión es obligatoria en funciones y no existe en a) contiene los detalles de codificación de funciones y
procedimientos procedimientos
c) Expresión es obligatoria en procedimientos y opcional en b) contiene la especificación o interfaz para poder ser usado
funciones c) es el módulo en el que al código se añade la documentación
d) Expresión es obligatoria en funciones y opcional en d) es un fichero de texto que no precisa compilación
procedimientos
5.- El fragmento de Modula-2: 10.- Indicar qué operación es incorrecta con las declaraciones
A=B siguientes:
a) Es una asignación de B en A TYPE MiTipo = (Uno, Dos, Tres, Cuatro, Cinco);
b) A y B deben ser variables tipo BOOLEAN VAR miDato : MiTipo;
c) A partir de ahora A y B son la misma variable a) FOR miDato := Uno TO Cinco DO …
d) Es una expresión b) IF miDato >= Tres THEN …
c) DEC(miDato);
d) miDato := miDato + 1;
EJERCICIO DE PROGRAMACIÓN
Realizar un Tipo Abstracto de Datos (TAD) Cajero que dispondrá de billetes de 5, 10, 20, 50, 100 y 200 €. Las operaciones del
TAD a codificar son: Iniciar: que vacía los contenedores de todos los billetes, Cargar: que incrementa el contenedor de un tipo de
billete con el número de ellos que se desea cargar, Sacar: que dada una cantidad múltiplo de 5 e inferior a 500 €, devuelve el
número de billetes de cada tipo que la satisface utilizando los billetes de mayor valor siempre que haya disponibles en el cajero y
EstadoySaldo: que devuelve el saldo total del cajero y la disponibilidad de cada tipo de billete.

RECUERDE: La solución del ejercicio se realizará en el reverso de esta hoja. NO se corregirá lo que exceda de este espacio.