Está en la página 1de 5

UNIVERSIDAD AUTNOMA DE OCCIDENTE

ESTRUCTURAS DE DATOS
Y ALGORITMOS 1

FACULTAD DE INGENIERA
DEPARTAMENTO DE OPERACIONES Y SISTEMAS
CODIGO:

GRUPO 51

NOMBRE:

Valoracin

REVISION DE CONCEPTOS - POO


PRIMERA PARTE

Referentes Tericos del curso [1.5 Punto].

FECHA: 2015 / 01

Nota: Justifique breve y claramente su eleccin

(se evala su justificacin).

PUNTAJE

1. (Valor 1.0). Considerando las siguientes clase, indique los resultados de las variables (del cuadro propuesto)
e imprima el valor de impresin resultante
public class Pto1_H extends Pto1_P{

public class Pto1_P {


int vr5;
int vr6;

int vr3;
int vr4;

public Pto1_P(int vr5) {


this.vr5 = vr5;
}

public Pto1_H(int vr3) {


super(vr3);
this.vr3 = vr3;
}

public Pto1_P(int vr5, int vr6){


this.vr5 = vr5;
this.vr6 = vr6 + 3;
}

public class Pto1_Test {


public static void main(String [ ] arg){
int vr1 = 5;
int vr2 = 3;
int res = 0;
Pto1_H oPa = new Pto1_H(vr1);
Pto1_H oPb = new Pto1_H(vr1, vr2);

public int getVr5(){


return (vr5);
}

public Pto1_H(int vr3, int vr4) {


super(vr3, vr4);
this.vr4 = vr4*2;
}
public int getVr3(){
return (vr3 + 3);
}

public int getVr6(){


return (2*vr6);
}

public int getVr6(){


return(super.getVr6() + 2);
}

res = oPa.getVr3() + oPb.getVr6();


System.out.println("Total: " + res);
}
}

}
oPa

oPb

Pto1_H

Pto1_P

Pto1_H

Pto1_P

Pto1_Test

Vr3

Vr4

Vr5

Vr6

Vr3

Vr4

Vr5

Vr6

vr1

vr2

res

Impresin

0
22

Total: 22

2. (Valor 0.5). Realice la implementacin en Java del siguiente diagrama UML de clases:
public abstract Padre {
private int vr1 ;
protected Padre ( int vr1 ){
this.vr1 = vr1 ;
}
protected abstract void calcularValor ( int vr1 ) ;
}

SEGUNDA PARTE Algoritmia Implementacin [1.5 puntos]

PUNTAJE

3. El siguiente es un diagrama de clases UML con el que se pretende gestionar Empresas.

Tomando como base el UML propuesto, implemente en Java la clase EmpresaAvicola que debe tener la
siguiente funcionalidad:
costoVenta Si la direccin es Cali ser de $ 1.500.000.000, en cualquier otro caso
corresponde al valor obtenido de la multiplicacin del nmero de sedes que tenga por $
350.000.000.
gradoCumplimiento Si su nmero de galpones es inferior a 10, corresponde al 110% del grado
cumplimiento de cualquier empresa. En cualquier otro caso corresponde al 120% del grado de
cumplimiento de cualquier empresa. Considere un valor de 90 el grado de cumplimiento de
cualquier empresa.
totalUnidadesDiarias Corresponde a una sumatoria dependiente del nmero de unidades diaria
por cada sede que se tenga. Especficamente, si una sede tiene un factor de produccin superior a
50, por ella se sumara el nmero de unidades diaria. Si no es as, se sumara por esa sede el doble
de unidades diaria.
Nota: aparte de los mtodos indicados, se debe incluir:
el constructor que recibe todos sus atributos
un nico setter y nico getter.
Considere el atributo susSedes como un arreglo unidimensional que contiene los valores del
nmero de unidades diarias.

SOLUCION: Se realiza la implementacin necesaria para que el caso particular solicitado pueda funcionar

public class EmpresaAvicola extends Empresa{


private int nroGalpones;
private String distribuidora;
public EmpresaAvicola() {
}
public EmpresaAvicola(int nroGalpones, String distribuidora, String nombre,
String direccion, int nroAsesores) {
super(nombre, direccion, nroAsesores);
this.nroGalpones = nroGalpones;
this.distribuidora = distribuidora;
}
public String getDistribuidora(){
return(this.distribuidora);
}
public void getDistribuidora(String distribuidora){
this.distribuidora = distribuidora;
}
public int costoVenta(){
int costoVenta = 0;
if(getDireccion().equals("Cali")){
costoVenta = 1500000000;
}else{
costoVenta = susSedes.length*350000000;
}
return(costoVenta);
}
public double gradoCumplimiento(){
double gradoCumplimiento = 0.0;
if(nroGalpones < 10){
gradoCumplimiento = gradoIncumplimiento() * 110.0/100.0;
}else{
gradoCumplimiento = gradoIncumplimiento() * 120.0/100.0;
}
return(gradoCumplimiento);
}
public int totalUnidadesDiarias(){
int totalUnidadesDiarias = 0;
for (int contador = 0; contador < susSedes.length; ++contador){
if ( getFactorProduccion(contador) > 50){
totalUnidadesDiarias += getUnidadesDiarias(contador);
}else{
totalUnidadesDiarias += 2 * getUnidadesDiarias(contador);
}

}
return(totalUnidadesDiarias);
}
}
public abstract class Empresa {
protected String nombre;
protected String direccion;
protected int nroAsesores;
public Sedes [ ] susSedes = new Sedes[10];
protected Empresa(){
}
public Empresa(String nombre, String direccion, int nroAsesores) {
this.nombre = nombre;
this.direccion = direccion;
this.nroAsesores = nroAsesores;
}
public abstract int costoVenta();
public double gradoIncumplimiento (){
return(90);
}
protected String getDireccion(){
return(this.direccion);
}
protected int getUnidadesDiarias(int contador){
return(susSedes[contador].unidadesDiarias());
}
protected double getFactorProduccion(int contador){
return(susSedes[contador].getFactorProduccion());
}
public class Sedes {
private String nombre;
private int nroEmpleados;
private double factorProduccion;
public Sedes(){
}
public int unidadesDiarias(){
return (0);
}
public double getFactorProduccion(){
return(factorProduccion);
}
}

TERCERA PARTE

Algoritmia Diseo y Abstraccin [2.0 Puntos]

PUNTAJE

4. Una empresa de software desea realizar la implementacin de un sistema de informacin, en el cual se administra los
subsidios a los que tienen derecho los campesinos en la zona rural de un determinado municipio, segn su produccin.
Toda finca tiene una direccin que es un nmero nico que asigna la catastro y tiene que ver con datos de
georeferenciacin, adems de su extensin en m2. Las fincas se diferencian entre granjas de produccin de vegetales y
granjas de produccin de animales. Las fincas en las que se cultivan vegetales se les asigna un subsidio de $500,000 que
se calcula por cada tonelada producida por Km2. Las fincas en las que se obtienen productos lcteos se les entregan
$642.000, por cada 5000 litros de leche producidos en 10 Km2. A las fincas de productos crnicos se les asigna
$1000.000 por cada 10 ejemplares sacrificadas si tienen proteccin contra la aftosa, en caso contrario se paga solo
$100.000 por cada 5 ejemplares sacrificadas.
Para las fincas de produccin de vegetales se debe agregar el nombre de la entidad de la que se est recibiendo
capacitacin para la siembra, recoleccin y cuidado de la carga, para las fincas de produccin animal se tiene el nombre
del veterinario que hace los estudios sanitarios y la fecha de ltima visita, para las productoras de carne se tiene el
nombre del ganado del que se obtiene la carne (ovejos, cerdos, reses), para las productoras de lcteos se debe tener el
nombre de la empresa que compra y procesa dichos productos.
Para este proyecto, los veterinarios asignados a las fincas de produccin vegetal deben tener una especializacin en
biologa vegetal o en tcnica fitosanitaria; los asignados a otro tipo de finca, deben tener una especializacin en control
gentico o en tcnica reproductiva. En todos los casos se debe tener en cuenta que la ltima visita registrada haya sido
posterior al 2010.
Elabore el diagrama de clases en UML que incluya el uso clases, clases abstractas, de relaciones de herencia y asociacin,
a partir del enunciado dado. El diagrama debe contener al menos 4 clases, adems de la clase Utilitaria.

También podría gustarte