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ª Tipo de Examen: E
• 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. El fragmento de Modula-2: 6.- 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) Es una expresión a) FOR miDato := Uno TO Cinco DO …
d) A partir de ahora A y B son la misma variable b) IF miDato >= Tres THEN …
2.- La siguiente declaración en Modula-2 c) DEC(miDato);
TYPE indice = [0.. Maximo]; d) miDato := miDato + 1;
a) No es correcta nunca
b) Es correcta si Maximo es una variable 7.- Después de la ejecución de P(x+1, x), ¿qué valor tiene la
c) Es correcta si Maximo es un tipo variable x?
d) Es correcta si Maximo es una constante VAR x: INTEGER;
¿Ha codificado en la hoja de lectura óptica el campo …
convocatoria Febrero-semana? PROCEDURE P(y: INTEGER; VAR z: INTEGER);
3.- Dada la siguiente declaración: BEGIN
TYPE mitipo = POINTER TO POINTER TO REAL; DEC(x); y:=y+3; z:= z+2;
VAR mivar: mitipo; END P;
La asignación correcta es: …
a) mivar:=4.0; x:=2; P(x+1,x);
b) mivar^:=4.0; a) 7
c) mivar^^:= 4.0; b) 5
d) mivar^.valor:=4.0; c) 3
4.- Señale la afirmación correcta: d) 4
PROCEDURE Cubo(x: REAL);
BEGIN 8.- En Modula-2, la declaración:
resultado := x * x * x TYPE impares = (”1”, ”3”,”5”,”7”,”9”);
END Cubo; a) Es correcta si se eliminan todas las comillas
a) Cubo es un procedimiento puro b) Es correcta si los caracteres se cambian por identificadores
b) Cubo es una función pura c) Es correcta si se sustituyen los números por letras
c) Cubo es una función sin transparencia referencial d) Es correcta si a cada número le precede una letra
d) Cubo es un procedimiento sin transparencia referencial 9.- Siendo A y B dos variables de un mismo tipo conjunto, la
Antes de contestar a esta pregunta, asegúrese de haber operación “A / B” da como resultado un conjunto con
completado sus datos personales en esta hoja. a) los elementos de A que no están en B
5.- Según la semántica de Modula-2, en la regla BNF: b) los elementos de B que no están en A
Sentencia_RETURN ::= RETURN [ Expresión ] c) los elementos de A que están en B
a) Expresión es opcional en funciones y procedimientos d) los elementos de A o de B, pero no de ambos
b) Expresión es obligatoria en procedimientos y opcional en 10.- Un módulo de definición
funciones a) contiene los detalles de codificación de funciones y
c) Expresión es obligatoria en funciones y opcional en procedimientos
procedimientos b) contiene la especificación o interfaz para poder ser usado
d) Expresión es obligatoria en funciones y no existe en c) es el módulo en el que al código se añade la documentación
procedimientos d) es un fichero de texto que no precisa compilación

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.