Sie sind auf Seite 1von 4

Kurtsoa / Curso

Data / Fecha

Maila
/ Nivel

2014/2015

03/03/2015

Mota/Tipo
K/C P/P J/A

Modulua / Mdulo

Kodea /
Cdigo

Unit Didak /
Unid Didac

Programacin

PROG

4-8

Ebal. /
Eval.

1
Kalif / Calif

Izen Abizenak / Nombre y Apellidos

Examen Procedimental de PROG


Crea un nuevo paquete con el nombre examen2 y guarda dentro de l las clases de este
examen.
El examen consta de varias partes. Cada parte tiene su puntuacin y es necesario que est
completamente correcta para obtener la puntuacin. En caso de no estar totalmente
correcta su puntuacin ser cero.

Parte 1 (2 Puntos)
Crea la siguiente jerarqua de clases dependiente de la clase Termino.
Crea la clase abstracta Termino que consta de una variable de tipo double y de nombre
coeficiente y que contiene los siguientes mtodos:

Constructor por defecto que tenga como valor por defecto 0.0 para el coeficiente.
Constructor que permite dar un valor al coeficiente.
Constructor copia.
Setters y Getters para coeficiente.
toString que devuelve una cadena vaca si el coeficiente es nulo o el coeficiente en
formato String en caso contrario.
Mtodo leer que pide un nuevo coeficiente para el trmino por teclado.
Mtodos equals y hashcode que comparan los objetos de tipo Termino en funcin de
su coeficiente.
Mtodo compareTo que compara los objetos de tipo Termino en funcin de su
coeficiente.
Mtodo abstracto calcular que calcula el valor del trmino y devuelve el resultado

Crea la clase abstracta TerminoX que deriva de Termino y que consta de una variable de
tipo int y de nombre exponenteX y que contiene los siguientes mtodos:

Constructor por defecto que tenga como valor por defecto 0 para exponenteX.
Constructor que permite dar un valor a exponenteX y que pone 1.0 como valor del
coeficiente.
Constructor que permite dar valores a coeficiente y a exponenteX.
1

Constructor copia.
Setters y Getters para exponenteX.
Mtodo leer que sobrescribe el mtodo leer de Termino y pide los datos para un nuevo
TerminoX por teclado.

Crea la clase TerminoXY que deriva de TerminoX y que consta de una variable de tipo int
y de nombre exponenteY y que contiene los siguientes mtodos:

Constructor por defecto que tenga como valor por defecto 0 para exponenteY.
Constructor que permite dar un valor a exponenteY.
Constructor que permite dar valores a coeficiente, exponenteX, y exponenteY.
Constructor copia.
Setters y Getters para exponenteY.
Mtodo leer que sobrescribe el mtodo leer de TerminoX y pide los datos para un
nuevo TerminoXY por teclado.

Parte 2 (1,5 Puntos)


Aade a la clase TerminoX los siguientes mtodos:

toString que devuelve un String con el formato "2.0x^3", teniendo en cuenta que si
exponenteX es 0 no aparece la x ("2.0"), si exponenteX es 1 no aparece el exponente
("2.0x"), si el coeficiente es 1 solo lo muestra si el exponenteX es 0 ("x^2 // 1.0") y que
si el coeficiente es 0 devuelve un String vaco ("")
Mtodos equals y hashcode que comparan los objetos de tipo TerminoX en funcin
de su exponenteX y, en caso de que tengan el mismo exponenteX, en funcin de su
coeficiente.

Parte 3 (3 Puntos)
Aade a la clase TerminoXY los siguientes mtodos:

toString que devuelve un String con el formato "2.0x^3y^5", teniendo en cuenta que si
exponenteY es 0 no aparece la y ("2.0x^3") si exponenteY es 1 no aparece el exponente
("2.0x^3y"), si el coeficiente es 1 solo lo muestra si exponenteX y exponenteY valen 0
("x^2 // y^2 // 1.0") y que si el coeficiente es 0 devuelve un String vaco ("")
Mtodos equals y hashcode que comparan los objetos de tipo TerminoXY
comparando primero su exponenteX, en caso de que tengan el mismo exponenteX , en
funcin de su exponenteY y, si exponenteX y exponenteY es el mismo, en funcin de
su coeficiente.
Mtodo compareTo que compara los objetos de tipo TerminoXY comparando primero
su exponenteX, en caso de que tengan el mismo exponenteX , en funcin de su
exponenteY y, si exponenteX y exponenteY es el mismo, en funcin de su coeficiente.
2.0x^3y^5 > 4.0x^3y^4 // 2.0x^3y^5 > 4.0x^2y^7 // 7.0x^3y^5 > 4.0x^3y^5
2

Mtodo calcular que sobrescribe el mtodo calcular de TerminoX y pide el valor de x y


de y, calcula el valor del trmino para esos valores de x e y, y devuelve el resultado.

Parte 4 (3,5 Puntos)


Crea la clase Polinomio para probar la clase TerminoXY. La clase tiene un mtodo main
dentro del cual hay que definir un objeto de tipo ArrayList de TerminoXY y de nombre
polinomio.
Dentro de main se muestra un men por pantalla con las siguientes opciones
Aadir Termino. Pide los datos de un TerminoXY y lo aade al array, si todava no
existe. Si ya existe un trmino igual en el array no lo aade.
Borrar Termino. Pide los datos de un TerminoXY y lo elimina, si es que existe, del
array. Si no lo encuentra muestra un mensaje de error.
Listar Polinomio en Funcin de X. Muestra todos los elementos del array por
pantalla, si es que tiene elementos, ordenados en descendente segn el valor de su
exponenteX. Por ejemplo
3.0x^5y^3 + 4.0x^5y^2 + 6.0x^4y^5 + x^2y^3 + 2.0 x^2y + 3.0xy^3 + 4.0x + 6.0y + 9.0
Listar Polinomio en Funcin de Y. Muestra todos los elementos del array por
pantalla, si es que tiene elementos, ordenados en descendente segn el valor de su
exponenteY. Por ejemplo
6.0x^4y^5 + 3.0x^5y^3 + x^2y^3 + 3.0xy^3 + 4.0x^5y^2 + 2.0 x^2y +6.0y + 4.0x + 9.0
Calcular Polinomio. Pide un valor para x y otro para y. Calcula el valor de la suma de
todos los trminos y lo muestra por pantalla. Por ejemplo
x^2 + 2xy + y^2 + 1.0 // x=2.0 y=3.0 // Resultado = 4.0 + 12.0 + 9.0 + 1.0 = 26.0
Salir. Realiza las operaciones necesarias para la correcta finalizacin del programa.

Criterios de Correccin
El examen se entregar en papel pero se podr usar el ordenador para probar su
funcionamiento.
Slo se corrige y se guarda la versin en papel.
Si la versin en papel est bien aunque la versin en ordenador no funcione el ejercicio se
dar por vlido.
Sin embargo, si la versin en papel NO est bien, el ejercicio NO se dar por vlido aunque
la versin en ordenador funcione perfectamente.
El nombre del alumno debe de aparecer en todas las hojas del examen y todas las hojas del
examen deben de estar correctamente numeradas.
3

No se permite ms de un cdigo para realizar una funcin, si hay ms de un cdigo la


solucin no ser vlida. Para indicar que un cdigo no es vlido se debe tachar, si no se
tacha se entender como correcto y se corregir.
No se permitir ningn tipo de comunicacin durante el examen. Los cables de red
permanecern

desconectados,

las

conexiones

inalmbricas

(si

las

hubiera)

se

deshabilitarn y los mviles debern estar apagados. Si un alumno incumple alguna de


estas normas entregar su examen y tendr un 0 como nota.

Das könnte Ihnen auch gefallen