Está en la página 1de 2

Escuela de Ingeniería

Examen Programación II Código de materia: 1479


Fecha: Julio-Agosto 2019 Id.Examen: XXXX Hoja 1 de 1
DURACION: 3 horas, CON MATERIAL

Una galería de arte gestiona diferentes obras que expone y vende. Cada obra tiene un determinado estilo y autor.
Entre otras opciones, en el sistema se deberá poder:
a) Registrar autor (se indica nombre, país, año de nacimiento)
b) Registrar estilo (se indica nombre, descripción)
c) Registrar experto (se indica nombre y años de experiencia)
d) Registrar obra: al registrar la obra se elige el autor y estilo de listas, se ingresa su número de inventario, el
título, precio, ancho (entero, en cm) y alto (entero, en cm). Al registrar, informar la cantidad de obras ya
registradas.
e) Consulta de armado de muestra. Se tiene un área disponible de exposición, dada por alto y ancho, ambos en
cm. En esa área, se intentará ubicar un conjunto dado de obras con el siguiente mecanismo de armado: se
comienza de izquierda a derecha y de arriba hacia abajo. Se pone una al lado de otra, a la misma altura, de forma
que no pueden superponerse las obras, rotarse ni cambiarse de orden. Si no puede ser ubicada a la derecha de la
obra previa, se la coloca lo más hacia la izquierda posible y más abajo, de forma que visualmente quede
inmediatamente por debajo de todas las previas. Si una obra no puede ser colocada, se termina el proceso.
Ejemplo:
si el area a exponer es de 10*12, y las obras son 1) 3*2, 2) 1*4, 3) 6*2, 4) 1*1, 5) 4*5, 6) 6*3, 7) 2*6 se
ubicarían:

La obra 1 se coloca arriba a la izquierda. A su derecha y a la misma altura, se ubica la obra 2. Luego, a su
derecha va la obra 3. La obra 4 va a su derecha. La obra 5 (que es de 4*5) no cabe a la derecha de la 4,
por lo cual debe ubicarse debajo, de forma que visualmente quede más abajo que todas las previas ya
ubicadas. La obra 6 no puede ubicarse a la derecha de la 5 porque no hay ese lugar y tampoco se puede
ubicar más abajo, por lo que se termina el proceso.

Se solicita implementar un método que reciba ancho, alto y una lista de obras y retorne una matriz booleana que
representa el área de exposición, con las posiciones ocupadas (identificadas por “true”) por las obras de esa lista
que se pueden exponer siguiendo el criterio descripto.

f) Venta de lote al exterior.


Se solicitó a distintos expertos que indique cada uno un lote de obras a vender al exterior. La selección de cada
experto está en un archivo que contiene en la primera línea el nombre del experto y luego vienen una o más
líneas, cada una tiene el número de inventario de una obra. Si el experto no está registrado en el sistema, se lo
agrega en el sistema sin experiencia. La única inconsistencia posible es que el número de inventario no
corresponda a una obra ya registrada en el sistema, en cuyo caso se ignora la línea.
Ejemplo: ArchivoXX.txt contiene:
Juan Perez
10
2
3
7
45
A su vez, se tiene el archivo de nombre “OPCIONES.TXT” que contiene en cada línea el nombre de uno de dichos
archivos. Este archivo no tiene inconsistencias.
Ejemplo:
OPCIONES.txt
ArchivoXX.txt
ArchivoZZ.txt
….
Se va a vender al exterior un único lote. Se pide, a partir del archivo OPCIONES.txt, procesarlo, agregar los
expertos correspondientes en el sistema y retornar cuál es el precio del lote más caro.

g) Precios promedio: se dispone del archivo “PRECIOS.txt” con los precios estimados de obras en distintos
mercados internacionales. Cada línea contiene número de obra#costo. Una misma obra puede tener varios
precios. El archivo está ordenado por número y no hay inconsistencias. Se pide procesarlo y generar un nuevo
archivo de nombre “PROMEDIO.txt”, que contiene por cada obra del archivo de Precios una única línea con el
código de la obra, “#” y el precio promedio. Debido al tamaño del archivo de Precios NO es posible cargarlo en
memoria completamente ni recorrerlo más de una vez.

Ejemplo:
PRECIOS.txt El archivo PROMEDIO.txt contendrá:
1#500 1#660 Nota: El precio promedio de la obra 1 es 660 (promedio de 500+1000+800+600+400)
1#1000 3#700
1#800 15#20
1#600 29#80
1#400
3#800
3#600
3#710
3#690
15#20
29#70
29#90

Se solicita:
1) CRH (5 puntos)
2) Añadir 3 casos de uso nuevos indicando únicamente título y actor (5 puntos)
3) Diseño de jerarquía de clases con atributos, métodos y relaciones en UML (5 puntos)
4) Desarrollo en Java del método c) Registrar experto (sólo dominio) (5 puntos)
5) Desarrollo del caso de uso d) Registrar obra, donde se debe incluir:
 Actor, desarrollo de curso normal y principales cursos alternativos
 Diseño de interfaz (dibujo, componentes, constructor, detalle de los eventos e implementación de los
métodos completos vinculados en Java) (15 puntos)
6) Desarrollo en Java del método e) Consulta de armado (sólo dominio) (20 puntos)
7) Desarrollo en Java del método f) Venta de lote al exterior (sólo dominio) (20 puntos)
8) Desarrollo en Java del método g) Precios promedio (sólo dominio) (20 puntos)

Lógica, claridad, comentarios, presentación: 5 puntos. Si se usan métodos auxiliares, implementarlos.

También podría gustarte