LABORATORIO 2: Encapsulamiento, Herencia e Interfaces

Anuncio
Laboratorio 2
Encapsulamiento, Herencia e Interfaces
• Cada uno de los atributos definidos deben ser private o protected.
Utilice métodos public para acceder a los atributos privados
• Debe entregar solamente los archivos .java en un disquete o CD
• Los grupos deben ser de máximo dos personas
•Fecha de entrega: Jueves 22 de Marzo
Problema 1
Manejo de funciones
Defina la siguiente interfaz:
Funcion
public double evaluarFuncion(double x)
public double derivarFuncion(double x)
public double integrarFuncion(double a, double b)
Esta interfaz define las firmas de las operaciones básicas sobre una Función,
evaluar, derivar e integrar. evaluarFuncion recibe como argumento el valor x
sobre el cual se evaluará la función. derivarFuncion permite derivar la función y
evaluar la derivada obtenida en el valor x. integrarFuncion recibe los limites
superior a e inferior b, sobre los cuales se integrará la función.
Define las siguientes clases que implementan la interfaz Función:
FuncionCuadratica
int a, b, c;
FuncionCuadratica(int a, int b, int c)
public double evaluarFuncion(double x)
public double derivarFuncion(double x)
public double integrarFuncion(double a, double b)
La clase FuncionCuadratica tienen como atributos a, b y c, que corresponden a las
constantes en la función cuadrática f(x)=ax2 + bx + c. Estos valores se pasan en el
constructor. La clase debe implementar los métodos para el caso específico de una
función cuadrática.
FuncionCubica
int a, b, c, d;
FuncionCubica(int a, int b, int c, int d)
public double evaluarFuncion(double x)
public double derivarFuncion(double x)
public double integrarFuncion(double a, double b)
La clase FuncionCubica tienen como atributos a, b, c y d, que corresponden a las
constantes en la función cúbica f(x)=ax3 + bx2 + cx + d. Estos valores se pasan en el
constructor. La clase debe implementar los métodos para el caso específico de una
función cúbica.
Desarrolle una aplicación donde use las clases FuncionCuadratica y FuncionCubica de
tal manera que el usuario puede seleccionar inicialmente el tipo de función,
cuadrática o cúbica. Luego, se deben solicitar los valores de las constantes.
Posteriormente el usuario podrá seleccionar entre evaluar, derivar e integrar la
función.
Problema 2
Sistema para la facturación en la librería InterNACIONAL
En una librería se vende Material bibliográfico tanto Impreso como Digital. Como
parte del material impreso, la librería tiene Revistas y Libros, y como material digital
se venden Documentales y Películas.
Tenga en cuenta que los tipo de revistas que maneja la librería son científicas,
farándula, deportes y política. Los libros se venden según un énfasis que puede ser
matemáticas, filosofía o economía. El material digital se vende en formatos que
pueden ser DVD, VCD, MPG o AVI y su duración se indica en minutos. Además, los
tipos de documentales disponibles son histórico, novedades y científico. Finalmente,
tenga en cuenta que las películas se clasifican de acuerdo a tres géneros drama,
acción y terror.
Se requiere que usted desarrolle una aplicación para calcular el total a pagar y el
IVA correspondiente en cada venta. Para esto, usted debe inicialmente desarrollar
la jerarquía que se presenta a continuación.
MaterialLibreria
protected String titulo;
protected int añoPublicacion;
private int precio;
public MaterialLibreria();
public void modificarPrecio(int cuanto);
public int obtenerPrecio();
Digital
Impreso
protected int duracion;
protected String formato;
protected int cantidadPaginas;
public Impreso();
public int obtenerCantidadPaginas();
Revista
protected String tipo;
public Revista();
public double obtenerIVA();
public int obtenerPrecio();
public Digital();
public int obtenerDuracion();
public String obtenerFormato();
Libro
protected String editorial;
protected String enfasis;
public Libro();
public String obtenerEditorial();
public String obtenerEnfasis();
public double obtenerIVA();
public int obtenerPrecio();
Documental
Pelicula
protected String tipo;
protected String genero;
public Documental();
public double obtenerIVA();
public int obtenerPrecio();
public Pelicula();
public double obtenerIVA();
public int obtenerPrecio();
El precio en cada venta y el valor del IVA se deben calcular de acuerdo a las
siguientes reglas establecidas en la librería:
PRECIO
IVA (sobre el precio)
Las revistas tienen un precio base de $5000. Si es de tipo
política, se aumenta su precio $2000. Las revistas que tengan
más de 50 páginas tienen un costo adicional de $1500.
Las revistas de política
tienen un 10% de IVA y las
demás el 16%.
Los libros tienen un precio base de $70000. Si es un libro de
matemáticas se aumenta su precio en $30 por cada página
después de las 300. Los libros de filosofía tienen un precio
adicional de $10000 si son de la Editorial “Prentice Hall”, en
cualquier otro caso se aumentan $20000. Los libros de economía
tienen un costo adicional de $35000.
Todos pagan 16%.
El precio base para un documental es de $25000. Los
documentales en formato DVD tienen un precio adicional de
$25000 y en VCD de $10000. Los documentales históricos en
formato AVI tienen un precio adicional de $12000 y los
científicos en MPG de $8000. En cualquier caso, si la duración es
mayor a 90 minutos se aumenta su precio en $10000.
16% para DVD y 10% en los
demás casos.
Las películas tienen un precio base de $20000. Las de drama y
terror un valor adicional de $7000.
Todos pagan 16%.
Desarrolle una aplicación que le permita a un usuario indicar inicialmente el tipo de
material que va comprar, Revista, Libro, Documental o Película. Según sea el caso, se
solicita la información correspondiente. Posteriormente, se debe mostrar el valor a
pagar y el IVA correspondiente.
Descargar