You are on page 1of 1

Carrera: I.T.I.

de Gestión/Sistemas (Plan viejo/nuevo) Fecha: 8 de septiembre del 2004


Asignatura: Programación I Hora: 9:00
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: 40 (Sistemas plan antiguo) Código Asignatura: 103 Convocatoria: Septiembre 1ªPP
41(Gestión plan antiguo) Semana:
53(Sistemas plan nuevo) Código Asignatura: 103
54(Gestión plan nuevo)
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 40% de la nota final. Son necesarias 7 respuestas correctas (5 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)
6.- El primer elemento de una ristra o vector de caracteres siempre…
1.- Dado el siguiente fragmento: a) contiene el carácter nulo
PROCEDURE Cuadrado(VAR dato: INTEGER); b) contiene un puntero al último elemento de la ristra
BEGIN c) contiene la longitud real de la ristra
global := 5; dato:= dato * dato; d) es el de índice igual a cero
END Cuadrado; 7.- Un tipo opaco:
...................... a) se define en un módulo de definición escribiendo sólo su nombre
global:=3; b) se define en un módulo de implementación escribiendo sólo su
Cuadrado (global); nombre
......................... c) no se puede utilizar desde el exterior del módulo en que se ha
Después de la llamada a Cuadrado, global tiene un valor definido
a) 9 d) se puede utilizar desde el exterior del módulo en que se ha definido
b) 5 pero sin modificar su valor
c) 25 8.- Dado el código:
d) 3 MODULE A;
CONST AUX = 7;
2.- La ocultación de la realización de un elemento impide su … VAR PP:INTEGER;
a) visibilidad PROCEDURE A(VAR AUX:INTEGER);BEGIN AUX:=0 END A;
b) reutilización BEGIN A(PP); AUX:=PP END A.
c) eficiencia Es incorrecto por:
d) complejidad a) la asignación: AUX:=PP
¿ Ha codificado en la hoja de lectura óptica el campo b) la repetición del identificador A
convocatoria Septiembre -1ªsemana? c) la repetición del identificador AUX
3.- En el paso de argumentos por valor se pueden utilizar: d) la asignación: AUX:=0
a) Sólo variables o expresiones 9.- ¿Cuál sería la línea de código correcta para obtener un valor en la
b) Sólo constantes o expresiones variable “b” de 10, siendo su valor inicial 10?
c) Variables, constantes o expresiones a) FOR i:=1 TO 10 DO IF NOT (ODD(b)) THEN b:= b MOD b*b +
d) Sólo variables i*2 END END;
4.- En MODULA-2 cuál de las siguientes declaraciones NO es b) FOR i:=1 TO 10 DO IF b<=10 THEN b:= b MOD b*b + b + i
correcta: END END;
a) PROCEDURE A1 (p1,p2: ARRAY [1..10] OF INTEGER); c) FOR i:=1 TO 10 DO IF NOT ODD(b)=FALSE THEN b:= b
b) PROCEDURE A2 (p1,p2: ARRAY OF CHAR): BOOLEAN; MOD b*b + i - b END END;
c) PROCEDURE A3 (p1,p2:TipoPunto): TipoPunto; d) FOR i:=1 TO 10 DO IF ODD(b) THEN b:= b MOD b*b + i END
d) PROCEDURE A4 (p1,p2: INTEGER): REAL; END;
5.- .En Modula-2, se verifica: Antes de contestar a esta pregunta, asegúrese de haber
a) Una expresión debe formar parte de una sentencia completado sus datos personales en esta hoja.
b) Una expresión puede ser una sentencia 10. En Modula-2 la sentencia RETURN dentro del cuerpo de un
procedimiento provoca …
c) Una asignación puede formar parte de una expresión
a) la terminación del procedimiento
d) Una expresión no puede formar parte de una asignación
b) la terminación del programa
c) la devolución de un valor
d) la pausa del programa
EJERCICIO DE PROGRAMACIÓN
Realizar un Tipo Abstracto de Datos para jugar a la lotería primitiva. Cada apuesta es una selección de 6 números del 1 al 49 en la que se debe
guardar el nombre del apostante y su DNI. El número máximo de apuestas será de 1000. Las operaciones posibles serán:
? Iniciar sorteo para borrar todas las apuestas anteriores
? Realizar UNA apuesta y registrar el apostante
? Efectuar sorteo (Sólo si es del plan viejo).
NOTA: Suponer que existe una función predefinida RANDOM49(x) que cada vez que se la invoca devuelve un número comprendido entre el 1 y el
49
RECUERDE: La solución del ejercicio se realizará en el reverso de esta hoja. NO se corregirá lo que exceda de este
espacio.