25.07.2013 Views

Introducción a la Programación Orientada a Objetos PRACTICO N ...

Introducción a la Programación Orientada a Objetos PRACTICO N ...

Introducción a la Programación Orientada a Objetos PRACTICO N ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Introducción</strong> a <strong>la</strong> <strong>Programación</strong> <strong>Orientada</strong> a <strong>Objetos</strong><br />

DCIC ‐ UNS<br />

2012<br />

v. retornar un nuevo píxel con el color complemento del color del píxel que recibe el mensaje para<br />

alcanzar el color b<strong>la</strong>nco<br />

A partir del diagrama presentado y <strong>la</strong> especificación, implemente y verifique <strong>la</strong> c<strong>la</strong>se Pixel en Java<br />

encapsu<strong>la</strong>ndo atributos y comportamiento para mode<strong>la</strong>r <strong>la</strong> situación p<strong>la</strong>nteada. Incluya todos los<br />

métodos auxiliares que considere oportunos, como así también los métodos triviales que no estén<br />

incluidos en el diagrama. Para visualizar <strong>la</strong> conformación de colores en el modelo RGB podemos usar el<br />

programa Paint.<br />

EJERCICIO 2.<br />

Una organización dedicada a <strong>la</strong> preservación del medio ambiente mantiene información referida a cada<br />

especie animal de <strong>la</strong> que se realiza seguimiento. Cada especie está caracterizada por su nombre<br />

científico, <strong>la</strong> cantidad de hembras y <strong>la</strong> cantidad de machos que se registran en <strong>la</strong> actualidad, el ritmo de<br />

crecimiento anual de <strong>la</strong> pob<strong>la</strong>ción de acuerdo a lo ocurrido en los últimos 10 años (puede ser negativo).<br />

Los tres valores numéricos pueden establecerse con un valor dado y luego actualizarse aumentando o<br />

disminuyendo en un valor dado.<br />

La organización está interesada en calcu<strong>la</strong>r para una especie particu<strong>la</strong>r: <strong>la</strong> pob<strong>la</strong>ción total, el nivel de<br />

riesgo de extinción (verde si el ritmo de crecimiento es positivo, amarillo si es nulo y rojo si es negativo),<br />

<strong>la</strong> pob<strong>la</strong>ción estimada para dentro de una cantidad dada de años, cuántos años serán necesarios<br />

estimativamente para que <strong>la</strong> pob<strong>la</strong>ción alcance un valor dado. Se desea determinar también si en una<br />

especie dada es mayor el número de hembras o de machos y entre dos especies diferentes cuál tiene<br />

mayor ritmo de crecimiento.<br />

Especie<br />

<br />

nombre: String<br />

machos: entero<br />

hembras: entero<br />

ritmo: real<br />

<br />

Especie(nom:String)<br />

<br />

establecerHembras(h:entero)<br />

establecerMachos(m:entero)<br />

establecerRitmo(r:real)<br />

actualizarHembras(h:entero)<br />

actualizarMachos(m:entero)<br />

actualizarRitmo(r:real)<br />

<br />

pob<strong>la</strong>cionActual(): entero<br />

pob<strong>la</strong>cionEstimada(anios:entero): entero<br />

anios(pob:entero): entero<br />

riesgo(): String<br />

masHembras(): boolean<br />

mayorRitmo(est: Especie): Especie<br />

toString(): String<br />

A partir del diagrama presentado y <strong>la</strong> especificación implemente y verifique <strong>la</strong> c<strong>la</strong>se Especie en Java<br />

encapsu<strong>la</strong>ndo atributos y comportamiento para mode<strong>la</strong>r <strong>la</strong> situación p<strong>la</strong>nteada. Incluya todos los<br />

métodos auxiliares que considere oportunos, como así también los métodos triviales que no estén<br />

incluidos en el diagrama.<br />

OBSERVACIÓN: EL MÉTODO TOSTRING() RETORNA UN STRING QUE CORRESPONDE A LA REPRESENTACIÓN TEXTUAL DEL OBJETO. EJEMPLO: "NOMBRE DE<br />

LA ESPECIE: XX - CANTIDAD DE MACHOS: N - CANTIDAD DE HEMBRAS: M - RITMO: R"

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!