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 />

incrementarPG(jugoElCap: boolean) , incrementarPE(jugoElCap: boolean),<br />

incrementarPP(jugoElCap: boolean) Aumentan en 1 los partidos del equipo y si corresponde<br />

envía un mensaje al capitán para que incremente en 1 sus partidos.<br />

incrementarGFavor(total, delCap: entero): Aumenta los goles del equipo y si corresponde<br />

envía un mensaje al capitán para actualizar sus goles.<br />

b) Considerando el mismo modelo para jugador implemente una nueva c<strong>la</strong>se Equipo para <strong>la</strong><br />

siguiente especificación:<br />

Equipo<br />

<br />

nombre: String<br />

capitan: Jugador<br />

pG,pE,pP: entero<br />

gFavor, gContra: entero<br />

<br />

Equipo(nom:String, cap: Jugador)<br />

<br />

incrementarPG()<br />

incrementarPE()<br />

incrementarPP()<br />

aumentarGfavor(total: entero)<br />

aumentarGContra(total: entero)<br />

<br />

partidos(): entero<br />

puntos(): entero<br />

mejorPuntaje(e: Equipos): Equipo<br />

capitanConMasGoles(e: Equipo): Jugador<br />

incrementarPG() incrementarPE() incrementarPP(): Aumenta en 1 el puntaje correspondiente.<br />

incrementarGFavor(total: entero): Aumenta los goles del equipo.<br />

c) Defina una c<strong>la</strong>se adecuada para testear cada alternativa.<br />

Es responsabilidad de <strong>la</strong><br />

c<strong>la</strong>se Cliente incrementar<br />

el número de partidos del<br />

capitán del equipo.<br />

Es responsabilidad de <strong>la</strong><br />

c<strong>la</strong>se Cliente incrementar<br />

el número de goles<br />

convertidos por el capitán<br />

del equipo.<br />

EJERCICIO 4.<br />

Se conoce como Langostas Mutantes a una variedad de <strong>la</strong>s <strong>la</strong>ngostas que viven cerca de <strong>la</strong>s centrales<br />

nucleares. Este tipo de <strong>la</strong>ngosta tiene dos características que <strong>la</strong> diferencia del resto de <strong>la</strong> especie: Por<br />

un <strong>la</strong>do, como todo animal que vive cerca de centrales nucleares, tiene tres ojos; y además su ciclo de<br />

reproducción es realmente extraño. La reproducción de <strong>la</strong> Langosta Mutante se puede describir de <strong>la</strong><br />

siguiente manera:<br />

Reproducción: La hembra <strong>la</strong>ngosta tiene una cría. Sí <strong>la</strong> cría es hembra entonces <strong>la</strong> <strong>la</strong>ngosta madre<br />

finaliza su ciclo de reproducción actual. Sí <strong>la</strong> cría es macho entonces <strong>la</strong> <strong>la</strong>ngosta automáticamente se<br />

reproducirá una vez más siguiendo el comportamiento explicado.<br />

a) Implemente <strong>la</strong> c<strong>la</strong>se ColoniaLangostasMutantes mode<strong>la</strong>da en el siguiente diagrama. Al crear <strong>la</strong><br />

colonia hay un solo macho y una so<strong>la</strong> hembra.<br />

El comando reproduccionEnLaColonia() simu<strong>la</strong> <strong>la</strong> reproducción de cada hembra en <strong>la</strong> colonia<br />

(recuerde que al reproducirse se cambia <strong>la</strong> cantidad de machos y hembras en <strong>la</strong> colonia)<br />

invocando al método recursivo reproduccion(). Tenga en cuenta que <strong>la</strong>s hembras recién nacidas<br />

necesitan cierto proceso de maduración antes de reproducirse, es por eso que no pueden reproducirse<br />

hasta <strong>la</strong> próxima invocación del método reproduccionEnLaColonia().

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

Saved successfully!

Ooh no, something went wrong!