Está en la página 1de 2

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 % de retención según categoría y nº de


Precio Sueldo por cada hijos
Categoría
Hora Base año de 0 1 2 >2
antigüedad
1 100.0 € 2000.0 € 15.0 € 20% 19% 18% 17%
2 60.0 € 1500.0 € 12.0 € 18% 17% 16% 15%
3 40.0 € 1000.0 € 10.0 € 15% 15% 14% 13%

Tipos de datos:
• double  Precio hora, sueldo base e importe por cada año de antigüedad
• int  % 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  necesario para calcular el sueldo
Métodos:
int getCategoria()  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 numHorasnecesario 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