Está en la página 1de 2

Tarea NO Evaluable.

Ejercicio 1. Gestión de Estudiantes

Escribe un programa en Java que permita gestionar un grupo de estudiantes de un


curso. Cada grupo estará formado por un identificador, una descripción, una lista de
estudiantes, tendrá un tutor, impartirá clases en un aula y tendrá un horario. A su vez,
cada estudiante tendrá un nombre, un número de identificación y una lista de notas.
Para el horario deseamos guardar la lista de los 5 días de clase, el nombre del día.
Cada día tendremos una tabla con 6 posiciones (una por cada hora de clase) en la
que pondremos el módulo que se imparte.

Construye una clase Instituto que contenga la lista de todos los grupos.

El programa debe ofrecer las siguientes opciones al usuario:

● Agregar un estudiante a la lista.


● Agregar un grupo al Instituto
● Mostrar la lista de estudiantes con sus notas por grupo
● Mostrar la información básica de un grupo: descripción, tutor y número de
estudiantes.
● Calcular el promedio de notas de un estudiante, se identifica por su
identificador.
● Calcular el promedio de notas por grupo.
● Salir del programa.

El programa debe manejar las siguientes excepciones:

● Cuando se intente calcular el promedio de notas de un estudiante que no esté


en la lista, lanzar una excepción personalizada adecuada. Igual si se intenta
para un grupo cuya descripción no se corresponde ( sin considerar
mayúsculas / minúsculas)

Cuando se ingrese una opción inválida, mostrar un mensaje de error y volver a


solicitar la entrada al usuario.

Ejercicio 2. Equipos deportivos:

Escribir un programa para gestionar grupos de alumnos apuntados a equipos


deportivos. El programa dispondrá de:

● La Clase Alumno, con los atributos: nombre y DNI de tipo String. Implementar
constructor y los métodos toString() y equals.
● La Clase Equipo. Cada equipo deportivo se representa en una clase que
contiene el nombre del equipo y un grupo de alumnos.

El equipo tiene operaciones para:

● Añadir un alumno (recibe como parámetro el objeto alumno a insertar). Si el


alumno ya existe en el equipo debe saltar una excepción.
● Borrar un alumno (recibe como parámetro el objeto alumno a borrar). Si el
alumno no existe en el equipo debe saltar una excepción.
● Saber si un alumno pertenece al equipo. Recibe como parámetro el objeto
alumno a buscar y devuelve null si no lo encuentra y el objeto alumno si
existe.
● Mostrar en pantalla la lista de personas del equipo.
● Unión de equipos. El método lo llamará un equipo y se le pasará por
parámetro el otro equipo con el que se quiere unir. Devuelve un equipo
formado por los alumnos de ambos equipos.
● Intersección de equipos. Idem al anterior pero devuelve un equipo formado
por los alumnos que están en los dos equipos

Se pide:

1. Decidir la estructura de almacenamiento más indicada para este ejercicio. No


debe establecerse ningún límite de jugadores en los equipos.
2. Realizar las clases Alumno, Equipo así como un programa de prueba que
cree varios equipos y prueba todas las operaciones mostrando en pantalla los
resultados.

Escribe un programa en Java que permita gestionar una biblioteca de libros. Cada
libro estará representado por un título, un autor, un género, un año de publicación,
una lista de ejemplares disponibles y una lista de ejemplares prestados. Además, la
biblioteca tendrá una lista de todos los libros en su inventario.

Ejercicio 3. Biblioteca:

Construye una clase Biblioteca que contenga la lista de todos los libros.

El programa debe ofrecer las siguientes opciones al usuario:

1. Agregar un nuevo libro al inventario.


2. Prestar un ejemplar de un libro.
3. Devolver un ejemplar prestado.
4. Mostrar la lista de todos los libros en el inventario.
5. Mostrar información detallada de un libro: autor, género, año de publicación,
ejemplares disponibles y ejemplares prestados.
6. Buscar libros por título o autor.
7. Salir del programa.

El programa debe manejar las siguientes excepciones:

● Cuando se intente prestar o devolver un ejemplar de un libro que no esté en el


inventario, o sea prestable o devolvible, lanzar una excepción personalizada
adecuada.

Cuando se ingrese una opción inválida, mostrar un mensaje de error y volver a


solicitar la entrada al usuario.

También podría gustarte