Está en la página 1de 4

UNIVERSIDAD NACIONAL EXPERIMENTAL DEL TÁCHIRA

VICERRECTORADO ACADÉMICO
DECANATO DE DOCENCIA
DEPARTAMENTO DE INFORMÁTICA
ASIGNATURA: PROGRAMACION I (0416202T) LAPSO 2013-1

PRIMER EXAMEN PARCIAL VALOR: 70 Puntos.

APELLIDOS Y NOMBRES:
CEDULA DE IDENTIDAD: SECCIÓN:
ESPECIALIDAD: INGENIERÍA EN INFORMÁTICA FECHA: 08/Feb/2014

Campesinos

A continuación se le presentarán un problema para ayudar al Ministerio de Tierras a


hacer la repartición equitativa de tierras en unas hectáreas libres cerca de la ciudad de San
Cristóbal.

Para desarrollar este problema se le proporcionará:


1) Una clase llamada Campesino en el paquete Tierras que contiene los siguiente:
 Atributos privados: nombre (String), cedula (String), edad (int)
 Atributo protegido: situación social (String)
 Un constructor por defecto
 Un constructor paramétrico que establezca los valores de los atributos en
los parámetros que llegan al método
 Los métodos getter de los atributos
 No contiene métodos setter.
 Un método denominado imprimir que no recibe ni retorna parámetros y
que sirve para imprimir todos los datos de los campesinos en el formato:
Nombre: XXX – Cedula: XXX – Situación: XXX
 Un método abstracto denominado determinar_situación_social que no
recibe ni retorna parámetros. El método una vez implementado deberá
determinar el atributo situación social dependiendo de:
i. Si se trata de un agricultor: Su situación social está determinada
por el total de su ganancia por cosecha. Si esta es mayor a 5000
entonces su situación social es “Elevada”. Si es menor a 5000 su
situación social es “Normal”
ii. Si se trata de un puericultor : Su situación social está determinada
por la edad y la zona en que vive. Si es mayor de 40 años y vive en
el Occidente entonces es “Elevada”, si tiene entre 25 y 40 años
(ambos inclusive) y vive en Oriente su situación en “Normal”. Si
tiene menos de 25 años su situación es “Baja”
iii. Si se trata de un ganadero: Su situación social siempre es
“Elevada”
2) Una interfaz denominada Informacion dentro de un paquete denominado Info
que contiene:
 Un vector denominado datos_campesinos que contiene los datos de todos
los campesinos: {"Juan Perez-15330944-35-1","Alejandro Machado-
14000394-50-1","Carlos Perez-18994083-45-2-Occidente","Luis Omana-
13456765-35-3","Maria Machado-17657844-22-2-Occidente","Jose Soler-
20233020-32-2-Oriente","Carlos Pastrana-4909099-76-3",
"Alejandro Ortiz-4567765-68-1","Carlos Ontiveros-23230222-48-3",
"Luis Salazar-14589090-46-1","Salomon Pastrana-3456654-70-3"};
Los datos están separados por guiones y representan el nombre, cedula,
edad de cada campesino. El siguiente parámetro es 1 (agricultor) 2
(puericultor) 3 (ganadero). En el caso de los puricultores hay un parámetro
extra que indica la zona donde vive.

 Un vector denominado info_agricola que contiene la información de las


cabezas de ganado de los agricultores: {"14000394-56-4-PAPA-50-
45","15330944-10-10-YUCA-100-30","14589090-45-67-ZANAHORIA-
50-45","4567765-20-20-OCUMO-100-20"}; los datos están separados por
guiones y representan: la cedula del agricultor, el alto del terreno, el ancho
del terrero, el vegetal que cultivan, la cantidad de vegetales que se pueden
sembrar por metro cuadrado, el precio de la unidad del vegetal

 Un vector denominado info_ganado que contiene la información de las


tierras de los ganaderos: {"23230222-100-20500","13456765-234-
15000","4909099-500-9000","3456654-150-13500"}; los datos están
separados por guiones y representan la cedula del ganadero, la cantidad de
cabeza de ganado que posee, y el precio de cada cabeza de ganado.

Usted debe realizar las siguientes clases

1) Una clase denominada Agricultor dentro del paquete Tierras que debe ser hija
de la clase Campesino que va a tener adicionalmente lo siguiente:
 Atributos privados: altura del terreno que posee (int), ancho del terreno
que posee (int), tipo de vegetal que cosecha (String), cantidad de vegetal
que se puede sembrar por metro cuadrado (int), valor de cada unidad de
vegetal cosechado (int)
 Constructor paramétrico que inicialice los valores de la clase
(incluyendo los de la clase madre)
 Los métodos getter de los atributos
 No tiene métodos setter.
 Un método llamado calcular_ganancia que retorna la ganancia obtenida
por el agricultor al sembrar. Asuma que siempre los agricultores tienen
terrenos cuadrados.
 Implemente el método determinar_situacion_social de la clase madre.

2) Una clase denominada Puericultor dentro del paquete Tierras que debe ser hija
de la clase Campesino que va a tener adicionalmente lo siguiente:
 Atributos privados: zona en que vive (String)
 Constructor paramétrico que inicialice los valores de la clase (incluyendo
los de la clase madre)
 Los métodos getter de los atributos
 No tiene métodos setter.
 Implemente el método determinar_situacion_social de la clase madre.

3) Una clase denominada Ganadero dentro del paquete Tierras que debe ser hija de
la clase Campesino que va a tener adicionalmente lo siguiente:
 Atributos privados: cantidad de ganado que posee (int), precio de la
cabeza de ganado (double)
 Constructor paramétrico que inicialice los valores de la clase (incluyendo
los de la clase madre)
 Los métodos getter de los atributos
 No tiene métodos setter.
 Un método llamado calcular_ganancia que retorna la ganancia obtenida
por el ganadero si vende todas sus cabezas de ganado
 Implemente el método determinar_situacion_social de la clase madre.

4) Una clase denominada Principal dentro del paquete Resultados que permita:
 Un atributo trabajador_campo de tipo vector de Campesinos (vector de
objetos polimórfico), donde se almacenaran los datos de los agricultores,
puericultores y ganaderos. Deben ser mínimo 10 campesinos
 Un método llamado cargarInfo que no recibe ni retorna valores, el cual es el
encargado de cargar los datos de los campesinos, debe preguntarle al usuario si
desea cargar un agricultor, puericultor o ganadero y luego solicitarle la data al
usuario respectivamente para crear los objetos correspondientes y almacenarlos
en los vectores.
 Un método llamado ganadero_exitoso que no recibe ni retorna valores, el cual
imprimirá por pantalla el nombre y la cedula del ganadero que obtuvo más
ganancia con la venta de las cabezas de ganado.
 Un método llamado agricultor_mayor_tierra que no recibe ni retorna valores y
que muestra el nombre y la cantidad de metros cuadrados de tierra que tiene el
agricultor que obtuvo la mayor ganancia.
 Un método llamado repartición que no recibe ni retorna nada y emitirá por
pantalla un listado de todos los campesinos y su situación social. Ejem: Nombre:
XXX – Cedula XXX – Situación Social XXX
 El método main encargado de llamar a los métodos de una instancia de la clase
principal.

Area de un cuadrado: Base x Altura.


Baremo de Corrección
A Organización correcta de paquetes 3
B Herencia e implementación correcta 3 Tiempo de duración: 3 horas.
C Clase Agricultor 8 Puede utilizar cualquier material de
D Clase Puericultor 4 apoyo, siempre y cuando no sea en
E Clase Ganadero 8 formato digital.
F Clase Principal – método cargarInfo 15 Pueden utilizar la API de Java que se
G Clase Principal – método ganador_exitoso 11 encuentra en el servidor.
H Clase Principal – agricultor_mayor_tierra 11
I Clase Principal – reparticion 4 ES SU RESPONSABILIDAD
GUARDAR CORRECTAMENTE EL
J Resultados correctos 3
EXAMEN. EXAMENES MAL
Total 70
GUARDADOS TIENEN 0 PUNTOS

\\nimrod\PUBLICO\Ebooks\Java\Java Documentation\J2SDK1.4.2_Documentation\docs\api\index.html

También podría gustarte