Programación en Lenguajes Estructurados

Curso Académico: 2009-2010 Fecha: 11 de Marzo de 2010

1º) (3 ptos.) Una empresa desea hacer un programa para calcular las nóminas de sus empleados. Utilizaremos un Empleado para representar un empleado genérico y que será una subclase abstracta de la clase Persona vista en clase. La clase Empleado implementará el interface INominas: Interface INominas contiene las constantes necesarias para calcular las nóminas: Importe por cada año de antigüedad 15.0 € 12.0 € 10.0 € % de retención según categoría y nº de hijos 0 1 2 >2 20% 18% 15% 19% 17% 15% 18% 16% 14% 17% 15% 13%

Categoría 1 2 3

Precio Hora 100.0 € 60.0 € 40.0 €

Sueldo Base 2000.0 € 1500.0 € 1000.0 €

Tipos de datos: • double • int

Precio hora, sueldo base e importe por cada año de antigüedad % del tipo de retención

Además el interface INominas contiene los siguientes métodos: • double getSueldoBruto() los métodos que lo sobrescriban, devolverán lo que percibe el trabajador antes de las retenciones • double getRetencion() los métodos que lo sobrescriban, devolverán el importe de la retención (¡OJO! El importe, no el % de la retención) • double getSueldoNeto() los métodos que lo sobrescriban, devolverán lo que percibe el trabajador después de deducirle la retención al sueldo bruto • void imprimirNomina() los métodos que la sobrescriben, imprimen en pantalla la nómina del empleado. Clase Empleado: Atributos: int categoria Métodos: int getCategoria()

necesario para calcular el sueldo devuelve la categoría

Clase Asalariado subclase de Empleado. Un asalariado es un empleado que percibe unos ingresos fijos todos los meses que se calculan como sigue: Sueldo mensual = (sueldo base de su categoría) + (nº de años trabajados x importe año de su categoría) – (retención que corresponda según categoría y nº de hijos) Atributos: int antiguedad nº de años trabajados en la empresa int numHijos nº de hijos Métodos: Los que tu creas necesarios Clase PorHoras subclase de Empleado. Un empleado por horas percibe unos ingresos variables que dependerán del número de horas trabajadas durante ese mes y de su categoría laboral. A estos trabajadores no se les realizará ninguna retención. Atributos: int numHoras necesario para calcular los ingresos Métodos: Los que tu creas necesarios

2º) (1 pto.) Hacer un programa que gestione las nóminas de los empleados de la empresa. Utilizar las clases: ArrayList y Menu
ÏϧÏGestion de empleados ÏϧÏ--------------------ÏϧÏ1. Altas de empleados asalariados ÏϧÏ2. Altas de empleados por horas ÏϧÏ3. Listado de nóminas ÏϧÏ4. Salir ¼¼§ÏOpcion:1 ÏÏ§Ï ÏϧÏEmpleado asalariado ÏϧÏ------------------¼¼§ÏNif:11000104d ¼¼§ÏNombre:Ana ¼¼§ÏDirección:Alamillos, 1 ¼¼§ÏTeléfono:111 ¼¼§ÏCategoría:1 ¼¼§ÏNº de años de antiguedad:10 ¼¼§ÏNº de hijos:2 ÏÏ§Ï ÏϧÏGestion de empleados ÏϧÏ--------------------ÏϧÏ1. Altas de empleados asalariados ÏϧÏ2. Altas de empleados por horas ÏϧÏ3. Listado de nóminas ÏϧÏ4. Salir ¼¼§ÏOpcion:2 ÏÏ§Ï ÏϧÏEmpleado por horas ÏϧÏ-----------------¼¼§ÏNif:11000103p ¼¼§ÏNombre:Pepe ¼¼§ÏDirección:Pelícano, 2 ¼¼§ÏTeléfono:222 ¼¼§ÏCategoría:2 ¼¼§ÏNº de horas trabajadas:10 ÏÏ§Ï ÏϧÏGestion de empleados ÏϧÏ--------------------ÏϧÏ1. Altas de empleados asalariados ÏϧÏ2. Altas de empleados por horas ÏϧÏ3. Listado de nóminas ÏϧÏ4. Salir ¼¼§ÏOpcion:3 ÏÏ§Ï ÏϧÏNómina de los empleados ÏϧÏ----------------------ÏϧÏNómina del empleado asalariado:Ana ÏϧÏCategoría salarial = 1 ÏϧÏNºaños de antiguedad = 10 ÏϧÏNº de hijos = 2 ÏϧÏSueldo Bruto = 2150,00 € ÏϧÏRetención = 387,00 € ÏϧÏSueldo neto = 1763,00 € ÏÏ§Ï ÏϧÏNómina del empleado por horas: Pepe ÏϧÏCategoría salarial = 2 ÏϧÏNº de horas = 10 ÏϧÏSueldo Bruto = 600,00 € ÏϧÏRetención = 0,00 € ÏϧÏSueldo neto = 600,00 €

EL EXAMEN SE EVALUARÁ 4 PUNTOS SOBRE LA NOTA DE EVALUACIÓN TIEMPO: 2 horas 30 minutos