Está en la página 1de 4

Ingeniería en Sistemas de Curso: Introducción a la

Computación Programación
I Prueba parcial Prof.: José Rivera
Código curso: SC-303

Nombre del estudiante: _________________________ Fecha:


______________
Porcentaje: 20 % Puntos obtenidos: ____ puntos
Puntaje total: 100 puntos Porcentaje: _____ %
Tiempo disponible: 2 horas Nota: _____
Instrucciones generales
● Lea cuidadosamente la prueba antes de iniciar, dispone de 20 minutos para
formular sus preguntas antes de comenzar el examen. Únicamente se
atenderán consultas a
través de la plataforma TEAMS. Si se le presenta alguna situación o consulta,
sírvase contactar al docente a través del chat privado para la atención del
mismo.
● La siguiente prueba debe desarrollarse de manera individual.
● Debe subir los archivos .java para responder la prueba, el formato del nombre
del archivo debe seguir el siguiente estándar
● El formato de los archivos deberá ser en .java, para que el docente pueda
retroalimentarlos al devolver la prueba calificada.
● Cualquier intento de fraude durante la prueba autoriza al docente a la anulación
del examen y la reprobación del curso.
● Al finalizar por favor subir los archivos al espacio destinado en Moodle y
verificar con el docente que el mismo se haya cargado correctamente.
● Debe estar disponible a responder una llamada del profesor a través de la
plataforma TEAMS cuando este así lo desee durante el periodo de la prueba.

Se deben seguir los estándares de programación de Java y las buenas practicas vistas en clase
en la resolución de cada problema.

1. Calculo de horas extras (50pts)

Una empresa desea un sistema capaz de calcular el salario semanal de sus empleados de acuerdo
a la cantidad de horas trabajadas, el sueldo por hora y tomando en cuenta los siguientes criterios:
• Si las horas trabajadas son más de 40, entonces el excedente se considera hora extra.
• Si las horas trabajadas están entre el rango de 41 a 45, entonces cada hora extra se
paga doble.
• Si las horas trabajadas son más de 45, entonces cada hora extra se paga triple.

Implemente el sistema de acuerdo al siguiente diagrama de clases en UML:


Ingeniería en Sistemas de Curso: Introducción a la
Computación Programación
I Prueba parcial Prof.: José Rivera
Código curso: SC-303

• Es necesario crear un objeto de acuerdo a la cantidad de horas trabajadas.


• Debe de crear un menu para indicar la operación a realizar: EmpleadoSinHorasExtras,
EmpleadoConHorasDobles, EmpleadoConHorasTriples.
• Debe permitir ingresar las horas trabajadas y el Salario por hora.
• Debe validar el input del usuario (utilize manejo de excepciones en el caso para el que se
requiera convertir el input del usuario en input, si se ingresa letras debe de generar el error
y atraparlo en el catch, debe de imprimir un aviso al usuario del error cometido).
Resultado esperado:
Ingeniería en Sistemas de Curso: Introducción a la
Computación Programación
I Prueba parcial Prof.: José Rivera
Código curso: SC-303

2. Gestión de un Zoológico (50pts).

A continuación se presenta la jerarquía de clases que representa los animales de un posible


zoológico:
La clase Animal es una clase abstracta con cuatro atributos miembros protected:

a) Una cadena indicando la especie (león, águila, abeja),


b) Una cadena indicando el nombre del animal concreto
c) Un dato numérico real indicando el peso en kg.
d) Un dato numérico entero indicando el número de jaula que se asigna al animal.
La clase Mamifero no añade nuevos atributos miembro, aunque deberá implementar el método
DefinirClaseDeAnimalEres() que deberá de especificarse dentro de una interfaz.

La clase Ave tiene dos nuevos atributos protected:

a) Una cadena colorPlumaje indicando el color predominante.


b) Un dato numérico real indicando la alturaMaximaVuelo.

La clase Insecto tiene un nuevo atributo miembro protected de tipo booleano llamado vuela que
indica si el insecto vuela o no. Para realizar este ejercicio se pide lo siguiente:

I. Crear las cuatro clases indicadas, con los correspondientes constructores y sobrecarga
de constructores, Como ayuda, se indica que el orden de los argumentos en el
constructor parametrizado de la clase base es:
public Animal(String especie, String nombre, double peso, int jaula) {...}

II. Definir los métodos llamados DefinirClaseDeAnimalEres( ) en cada una de las clases
derivadas de Animal. Este método devuelve una cadena (es string) pero no recibe
parámetros o argumentos.

Debe ser capaz de mostrar por la pantalla la información correspondiente al animal de que se trate
(ver el ejemplo), utilizando para ello la información almacenada en las variables miembro.

Ejemplo:
Soy un mamífero llamado: xxxxxxxx
de la especie: xxxxxxxx
Peso en Kg: xxx
Estoy en la jaula: xx

• Pueden existir N cantidad de animals de un tipo, ejemplo, puedo insertar 5 aves diferentes
y luego debo de ser capaz de mostrar la info de cada uno de ellas dada por el nombre. Para
ello utilice un ArrayList() para guardar los objetos en una lista.
• Debe de existir un Menu para interactuar, insertar un tipo de animal en específico, ver la
info de un tipo de animal en específico dado por su nombre.

También podría gustarte