Escolar Documentos
Profissional Documentos
Cultura Documentos
Pregunta 1
La Universidad de los Andes necesita manejar la lista de sus alumnos y para esto le ha pedido a
usted que implemente dos clases, la clase Nota y la clase Alumno.
Parte a)
Implemente la clase Nota. Esta clase contiene:
1. 5 Atributos: nota (double), curso (String), créditos (int), semestre (int) y año (int). Todos
los atributos son privados. Usted le puede asignar los nombres que quiera a los atributos.
2. 2 Constructores:
El primer constructor no tiene parámetros y le asigna el valor 1.0 a nota, null a curso,
5a créditos, 1 a semestre y 2006 a año.
A la nota se le debe asignar un valor entre 1.0 y 7.0. Si se trata de asignarle un valor fuera
de ese rango, debe asignarle el valor 1.0 e imprimir el siguiente mensaje “La nota debe
estar entre 1.0 y 7.0. Se le ha asignado el valor 1.0”.
Al curso sólo se le debe asignar un String sin espacios y de tamaño máximo 8. Si se trata
de asignarle un String que no cumpla estas condiciones, debe asignarle null e imprimir el
siguiente mensaje: “Curso no debe tener espacios y debe tener a lo más 8 caracteres. Se le
ha asignado null”.
A los créditos, sólo se les debe asignar el valor 5, 10 ó15. Si se trata de asignarles un
valor que no cumpla estas condiciones, debe asignarles el valor 5 e imprimir el siguiente
mensaje. “Un curso puede tener 5, 10 ó 15 créditos. Se le ha asignado el valor 5”.
Al semestre, sólo se le debe asignar el valor 1 ó 2. Si se trata de darle otro valor, debe
asignarle 1 e imprimir el siguiente mensaje “Para semestre se acepta 1 ó 2. Se le ha
asignado el valor 1”.
Al año, sólo se le debe asignar un valor entre 1980 y 2006. Si se trata de asignarle un
valor fuera de ese rango, debe asignarle 2006 e imprimir el siguiente mensaje “El año
debe estar entre 1980 y 2006. Se le ha asignado el valor 2006”.
A la nota, se le debe asignar un valor entre 1.0 y 7.0. Si se trata de asignarle un valor
fuera de ese rango, no debe cambiar el valor de la nota del objeto implícito (el objeto con
que se llama al método) y debe imprimir el siguiente mensaje “La nota debe estar entre
1.0 y 7.0. No se ha cambiado el valor que tenía”.
Parte b)
Implemente la clase Alumno. Para esta clase asumiremos que un alumno nunca tiene más de 100
notas. Esta clase contiene:
1. 8 Atributos: nombre (String), dirección (String), teléfono (int), año de ingreso (int),
promedio ponderado acumulado (double), notas (Nota[]), password de la universidad
(String) y password del alumno (String). Todos los atributos son privados y usted le
puede dar los nombres que desee. El atributo que creará para guardar el password de la
universidad debe ser static, final e igual a “Andes”.
El promedio ponderado acumulado se calcula ponderando las notas del alumno según los
créditos de cada nota.
Por ejemplo, si el alumno tiene nota 5.0 de 5 créditos, 6.0 de 5 créditos y 4.0 de 10
créditos, el promedio ponderado acumulado será:
(5.0*5 + 6.0*5 + 4.0*10)/20= 4.75 4.8
El promedio debe tener a lo más un decimal, si tiene más de uno deberá aproximar la nota
al real con un decimal más cercano.
2. 3 Constructores:
El primer constructor no tiene parámetros y le asigna el valor null a nombre, null a dir, 0
a teléfono, 2006 a ingreso, 1.0 al promedio, un arreglo de notas de tamaño 100 al arreglo
de notas, y “1234” al password del alumno. Recuerde que cuando se crea un arreglo de
objetos, Java automáticamente le asigna null a cada elemento del arreglo.
8. Método agregarNota para agregar una nota al alumno. Este método debe ser de instancia.
El método agregarNota debe tener un parámetro llamado pass (puede tener más
parámetros), y sólo si pass es igual al password de la universidad se podrá agregar una
nota al arreglo de notas del alumno. En caso contrario debe imprimir “Password
incorrecto” y no debe agregar la nota.
Si se agrega la nota, deberá también cambiar el promedio ponderado acumulado.
11. Método imprimeHist que retorna el historial del alumno como un String
Este método debe tener un parámetro llamado pass, y sólo si pass es igual al password de
la universidad o el password del alumno el método retorna el historial del alumno. En
caso contrario retorna el String “Password Incorrecto”.
Implemente este método como método de instancia.
El método retorna el historial del alumno con el siguiente formato (debe incluir todas
las notas):
Importante:
1. Para comprobar que sus clases funcionan, pruebe sus clases con el programa Tarea2.java
que se encuentra en el sitio web.
Cuando ejecute el programa, en pantalla se debería imprimir lo que está en el archivo
Imprime.txt que se encuentra en el sitio web.
2. Ningún método interactúa con el usuario, es decir, ningún método le va a pedir al usuario
que ingrese datos.
3. Recuerde que los constructores y los métodos toString son métodos de instancia.
4. Los métodos getters y setters impleméntelos como métodos de instancia.