Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pregunta 1
CASO PANADERÍA
En una panadería se cuenta con un administrador del negocio, dos cajeros y tres maestros
panaderos. De cada uno de ellos se conoce su dni, nombre, edad, domicilio y el número de
años de trabajo en la panadería. Además, del administrador se conoce su grado de instrucción
y un listado con los últimos diez eventos culturales a los que ha asistido; de los cajeros se
conoce el código de la caja de su responsabilidad y de los maestros se conoce los años de
experiencia y un listado de productos que saben elaborar. Para ordenar un poco su negocio, el
administrador ha decidido identificar adecuadamente los productos que se venden en la
panadería mediante un código, su nombre y el precio. De otro lado, el salario del administrador
se calcula multiplicando sus años de experiencia por la constante 100; el salario de cada cajero
se calcula multiplicando sus años de experiencia por la constante 50 y el salario de cada
maestro panadero se calcula multiplicando sus años de experiencia por la constante 90.
Pregunta Nro. 1
Diseñe las clases necesarias para el negocio de la panadería aplicando herencia para el caso de
las personas. Asimismo, encapsule la información de cada clase e implemente los constructores
necesarios.
Pregunta Nro. 2
Elabore un método miembro de clase en una clase llamada Sistema, que permita determinar
cuál es el aporte a la panadería (suma de los precios de los productos que sabe preparar) de un
maestro panadero.
Pregunta Nro. 3
Pregunta Nro. 4
Implemente el método calcula salario en las clases necesarias para aplicar polimorfismo.
Pregunta 2
Caso sesión de Natación
1
Se desea desarrollar una aplicación para la gestión de las sesiones de natación, se
tiene en cuenta las siguientes consideraciones:
2. (2.5 puntos) La clase Estilo es una clase abstracta que contiene un atributo
tipoEstilo, el cual es un enum con los siguientes valores (PECHO, MARIPOSA,
ESPALDA Y LIBRE). Adicionalmente, posee los siguientes métodos abstractos:
movimientoBrazos(), movimientoPiernas() y respiración();
respiracion():
o Libre: Respiración Lateral
o Espalda: respiración boca arriba
o Mariposa y Pecho: respiración Plano frontal
movimientoPiernas():
o Libre, Espalda y Mariposa: Batido alternado de piernas
o Pecho: Patada de Rana
movimientoBrazos()
o Libre y Espalda: Alternancia de Brazos
o Mariposa: Movimiento simultaneo de brazos
2
o Pecho: Brazada de Pecho.
• La clase Profesor es una clase concreta, hija de la clase Persona, que tiene como el
método void dirigirClase() que imprime en pantalla un mensaje. Para crear un
profesor se tiene que indicar nombre, código, edad y email.
• La clase Alumno es una clase concreta, hija de la clase Persona, que tiene como
atributo una relación de los estilos que va a llevar ese alumno estilos y los métodos:
- public void ejecutarLaClase (que sólo imprime en pantalla un mensaje)
- public agregarEstilo(Estilo e) que permite agregar un nuevo estilo a la relación
de estilos a ejecutar ese día. Tener presente que se debe validar que un alumno
debe llevar al menos un estilo, y puede realizar máximo 3 estilos en la sesión,
pero que si alguno de esos estilos seleccionados es Mariposa podrá ejecutar
máximo 2 estilos (por la dificultad que supone este estilo).
• Tanto para el profesor, como para el alumno, si el nombre, el código o el email son
nulos o bien la edad no es un entero positivo se lanzará una excepción del tipo
NatacionException.
• La representación textual (toString) de una persona viene dado por su nombre,
codigo, edad, y correo electrónico (entre corchetes) separados por espacio en
blanco. Por ejemplo:
Nestor Audante 20031425G 25 [naudante@contoso.com]
• Se pide encapsular los atributos del Profesor y del Alumno.
• Se pide garantizar que 2 objetos descendientes de la clase Persona (Profesor o
Alumno) sean iguales si coinciden en su codigo y email.
3
TipoRestriccion) que servirá para implementar las restricciones pertinentes.
Se deben implementar los métodos necesarios para:
• Construir un objeto de la clase, dado el objeto de la clase TipoRestriccion
• Redefinir el método public void darAlta(Persona p) para que añada un
nuevo alumno, sólo si cumple la restricción previamente definida. En caso
p sea nulo debe enviarse una excepción del tipo NatacionException.
8. (2.5 puntos) Ahora, cree una clase ejecutable que haga lo siguiente: