Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Escuela de Ingeniería Examen Programación II Código de Materia: 1479 Fecha: Julio-Agosto 2019 Id - Examen: XXXX Hoja 1 de 1
Escuela de Ingeniería Examen Programación II Código de Materia: 1479 Fecha: Julio-Agosto 2019 Id - Examen: XXXX Hoja 1 de 1
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.
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)