Tarea2

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Tarea2 as PDF for free.

More details

  • Words: 2,111
  • Pages: 5
Tarea 2: ING1310 • • • • •

Fecha de entrega: Jueves 19 de Octubre La tarea se puede entregar hasta las 12 de la noche. Entregue la tarea en un sólo archivo .java. Este archivo debe incluir la clase Nota, la clase Alumno y la clase Tarea2 que se encuentra en el sitio web. Si es de la Sección 1 envíe su tarea a [email protected] Si es de la Sección 2 envíe su tarea a través de moodle.

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. El segundo constructor tiene 5 parámetros y le asigna el primero a nota, el segundo a curso, el tercero a creditos, el cuarto a semestre y el quinto a año. La nota 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. Por ejemplo, si tiene un 5.45 la nota será un 5.5, y si tiene un 5.44 la nota será un 5.4. 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”.

3. Métodos getNota y setNota para ver y cambiar la nota. La nota 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. 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”.

4. Métodos getCdtos y setCdtos para ver y cambiar créditos. 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, no debe cambiar el valor de los créditos del objeto implícito y debe imprimir el siguiente mensaje. “Un curso puede tener 5, 10 ó 15 créditos. No se ha cambiado el valor que tenía”.

5. Métodos getCurso y setCurso para ver y cambiar el curso. 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, no debe cambiar el curso del objeto implícito y debe imprimir el siguiente mensaje: “Curso no debe tener espacios y debe tener a lo más 8 caracteres. No se ha cambiado el curso que tenía”.

6. Métodos getSem y setSem para ver y cambiar el semestre. Al semestre, sólo se le debe asignar el valor 1 ó 2. Si se trata de darle otro valor, no debe cambiar el valor del semestre y debe imprimir el siguiente mensaje “Para semestre se acepta 1 ó 2. No se ha cambiado el valor que tenía”.

7. Métodos getAño y setAño para ver y cambiar el año. 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, no debe cambiar el año del objeto implícito y debe imprimir el siguiente mensaje “El año debe estar entre 1980 y 2006. No se ha cambiado el valor que tenía”. 8. Método toString para la clase Nota. Este método debe retornar un String con el siguiente formato: nota= 5.4 curso= ING1310 creditos= 10 semestre= 2 año= 2006 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. El segundo constructor tiene 4 parámetros y le asigna el primero a nombre, el segundo a la dirección, el tercero al teléfono y el cuarto al año de ingreso. Al promedio le asigna el valor 1.0, a las notas le asigna un arreglo de notas de tamaño 100, y “1234” al password del alumno. El año de ingreso sólo puede ser entre 1980 y 2006. Si se trata de asignarle un valor fuera de ese rango, debe asignarle el valor 2006 al año de ingreso y debe imprimir el siguiente mensaje “El ingreso debe estar entre 1980 y 2006. Se le ha asignado el valor 2006”. El tercer constructor tiene 6 parámetros y le asigna el primero a nombre, el segundo a la dirección, el tercero al teléfono, el cuarto al año de ingreso, el quinto a las notas y el sexto al password del alumno. Si el arreglo tiene un tamaño menor que 100 debe crear un nuevo arreglo de notas de tamaño 100 y copiar las notas que se entregaron en este nuevo arreglo. Asuma que nunca recibe un arreglo de tamaño mayor que 100. El año de ingreso sólo puede ser entre 1980 y 2006. Si se trata de asignarle un valor fuera de ese rango, debe asignarle el valor 2006 al año de ingreso y debe imprimir el siguiente mensaje “El ingreso debe estar entre 1980 y 2006. Se le ha asignado el valor 2006”. El promedio se calcula ponderando las notas del alumno según los créditos de cada nota (recuerde aproximar).

3. Métodos getNombre y setNombre para ver y cambiar el nombre. El método setNombre 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 o el password del alumno (objeto implícito) se podrá cambiar el nombre del alumno. En caso contrario debe imprimir “Password incorrecto”.

4. Métodos getDir y setDir para ver y cambiar la dirección. El método setDir 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 o el password del alumno (objeto

implícito) se podrá cambiar la dirección del alumno. En caso contrario debe imprimir “Password incorrecto”.

5. Métodos getFono y setFono para ver y cambiar el teléfono. El método setFono 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 o el password del alumno (objeto implícito) se podrá cambiar el teléfono del alumno. En caso contrario debe imprimir “Password incorrecto”.

6. Métodos getIngreso y setIngreso para ver y cambiar el año de ingreso. Al año de ingreso, sólo se le debe asignar un valor entre 1980 y 2006. Si se trata de asignarle un valor fuera de ese rango, no debe cambiar el año de ingreso del objeto implícito y debe imprimir el siguiente mensaje “El ingreso debe estar entre 1980 y 2006. No se ha cambiado el valor que tenía”. El método setIngreso 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á cambiar el año de ingreso del alumno. En caso contrario debe imprimir “Password incorrecto”.

7. Método getNotas para ver las notas de un alumno. El método getNotas debe tener un parámetro llamado pass, y sólo si pass es igual al password de la universidad se podrá retornar el arreglo de notas del alumno. En caso contrario debe imprimir “Password incorrecto” y retornar null.

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. 9. Método getProm para ver el promedio ponderado acumulado. El método getProm debe tener un parámetro llamado pass, y sólo si pass es igual al password de la universidad o el password del alumno (objeto implícito) se podrá retornar el promedio ponderado acumulado del alumno. En caso contrario debe imprimir “Password incorrecto” y retornar -1.

10. Método setPassAlum para cambiar el password del alumno. El método setPassAlum 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 o al password del alumno (objeto implícito) se podrá cambiar el password del alumno. En caso contrario debe imprimir “Password incorrecto” y no cambiar el password del alumno.

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): Nombre: Andres Rojas Direccion: Av. Vitacura 2200, Vitacura Telefono: 5553322 Año de Ingreso: 2006 Promedio Ponderado Acumulado: 6.5 Curso ING1110 ING4120 ING3112 etc

Nota 6.0 6.0 7.0

Semestre 1 1 1

Año 2006 2006 2006

Creditos 5 5 10

Si no tiene notas aun, sólo incluya el encabezado de esta tabla. Curso Nota Semestre Año Creditos 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.

Related Documents

Tarea2
November 2019 16
Tarea2
November 2019 12
Tarea2
June 2020 11
Tarea2
July 2020 7
Tarea2.docx
December 2019 15
Tarea2(segundoparcial)
April 2020 0