Guia Trabajos Practicos - Departamento de Computación ...
Guia Trabajos Practicos - Departamento de Computación ...
Guia Trabajos Practicos - Departamento de Computación ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Programación Orientada a Objetos Facultad <strong>de</strong> Ciencias Exactas - UBA<br />
Pare, Atención, Mo<strong>de</strong>le<br />
Lea con atención la resolución <strong>de</strong>l siguiente ejercicio. El objetivo es que empiece a familiarizarse con la<br />
resolución <strong>de</strong> los problemas que se presentarán, utilizando la notación <strong>de</strong> la cátedra.<br />
Enunciado<br />
1. Mo<strong>de</strong>le un semáforo.<br />
2. Mo<strong>de</strong>le un semáforo para peatones.<br />
Resolución <strong>de</strong>l punto 1<br />
I<strong>de</strong>ntificar los objetos<br />
En esta primera iteración, intentamos i<strong>de</strong>ntificar los objetos que vamos a<br />
necesitar. Sin entrar <strong>de</strong>masiado en <strong>de</strong>talle, parece obvio que vamos a<br />
necesitar al semáforo y a las lámparas <strong>de</strong> colores.<br />
Notar que se puso unaLamparaVer<strong>de</strong> y no unaLuzVer<strong>de</strong>, ya que el<br />
semáforo interactúa con las lámparas y no con la luz que éstas emiten.<br />
Primer diagrama <strong>de</strong> secuencia<br />
Intentemos hacer un diagrama <strong>de</strong> secuencia que muestre el funcionamiento normal <strong>de</strong>l semáforo. Para eso<br />
<strong>de</strong>scribimos primero qué queremos mostrar exactamente.<br />
Este diagrama <strong>de</strong> secuencia muestra un ciclo <strong>de</strong> funcionamiento <strong>de</strong> un semáforo, <strong>de</strong>s<strong>de</strong> que está en ver<strong>de</strong> hasta<br />
que vuelve a estarlo.<br />
Empecemos entonces...<br />
unSemaforo unaLamparaVer<strong>de</strong> unaLamparaAmarilla unaLamparaRoja<br />
encen<strong>de</strong>r<br />
Nos encontramos ahora con el primer problema: ¿cómo se apaga la lámpara ver<strong>de</strong>? Es <strong>de</strong>cir, ¿cuándo se apaga?<br />
¿Quién la apaga?<br />
Una opción es que la lámpara se apague sola, pero parece más coherente que<br />
el semáforo la apague, ya que él la pren<strong>de</strong>.<br />
Esto no resuelve el hecho <strong>de</strong> saber cuándo apagarla, por más que el semáforo<br />
pueda saber que la luz ver<strong>de</strong> <strong>de</strong>be estar encendida por 40 segundos por<br />
ejemplo, <strong>de</strong>cidir cuándo pasaron los 40 segundos parece <strong>de</strong>masiado para el<br />
semáforo. Necesitamos un timer:<br />
¿Qué mensaje le enviamos al timer entonces?<br />
Programa <strong>de</strong> la materia guia 2011.doc Página 10