Clase 5 - Responsabilidad y Delegación

publicado a la‎(s)‎ 14 sept. 2011 11:54 por gisela decuzzi   [ actualizado el 15 sept. 2011 10:41 por Mariana Matos ]

Repaso

Para repasar un poco y empezar con el tema usamos el enunciado de Micros, particularmente la parte de:
  • Hacer que una persona suba al micro
  • Saber si una persona quiere subir al micro
  • Saber si un micro puede subir a una persona
  • Subir a alguien si se puede
Llegamos a algo como:

Micro>>subirSiPodesA: persona
    (self puedeSubirA: persona)
        ifTrue: [self subirA: persona].
Micro>>puedeSubirA: persona
    ^self tieneLugar and: [persona quiereSubirA: self].
Micro>>subirA: persona
    self esElPrimero ifTrue: [primerPasajero := persona].
    pasajeros := pasajeros + 1.

Rebelión en la granja:

[Versión Miércoles]
Vaca

  • Cuando come aumenta el peso en lo que comió / 2 y le da sed.
  • Cuando bebe se le va la sed y pierde 500 g de peso.
  • Conviene vacunarla una vez, o sea, si no se la vacunó conviene vacunarla, y si ya se la vacunó no conviene volverla a vacunar.
  • Tiene hambre si pesa menos de 200 kg.
Cerdo
  • Cuando come aumenta el peso en lo que comió – 200 g (si come menos de 200 g no aumenta nada); si come más de 1 kg se le va el hambre, si no no.
  • Siempre conviene vacunarlo.
  • Cuando bebe se le va la sed, y le da hambre.
  • Si come más de tres veces sin beber le da sed.
Dispositivos
Comederos
  • cada comedero da de comer una cantidad fija que varía para cada comedero, puede atender a los animales con hambre que pesen menos de lo que soporta el comedero, que también es un valor que depende del comedero.
  • Un comedero normal necesita recarga si le quedan menos de 10 raciones, cuando se lo recarga se le cargan 30 raciones.
Bebederos
  • Dan de beber a un animal, pueden atender a los animales con sed.
  • Un bebedero necesita recarga cada 20 animales que atiende, lo que se le hace al recargarlo no se registra en el sistema (sí que se lo recarga para volver a contar desde ahí 20 animales atendidos).
Vacunatorios
  •  vacunan a un animal,
  • pueden atender a los animales que conviene vacunar y no fueron vacunados por él
  • Un vacunatorio necesita recarga si se queda sin vacunas, al atenderlo se le recargan 50 vacunas.
Estación de atención
  • Una estación de atención tiene muchos dispositivos y atiende animales. Atender a un animal para una estacion es hacerlo pasar por cada uno de sus dispositivos, ademas las estaciones se acuerdan de los animales que atendio y nos saben decir distintas cosas (ver parte C).
Se pide:
Parte A)
  1. hacer que un animal coma
  2. saber si un animal tiene hambre
  3. saber si un animal tiene sed
  4. hacer que un animal beba
Parte B)
  1. saber si un dispositivo puede atender a un animal
  2. saber si un dispositivo necesita recarga
  3. recargar un dispositivo
  4. hacer que un dispositivo atienda a un animal
  5. poder decirle a un dispositivo que atienda a un animal solo si puede.
Parte C)
  1. Saber si un animal puede ser atendido en una estación. Esto pasa cuando alguno de sus dispositivos puede atender al animal.
  2. Atender a un animal. Esto es hacerlo pasar por los dispositivos que lo pueden atender.
  3. Recargar los dispositivos que necesiten recarga.
  4. Poder saber para una estación:
    1. Si un animal fue atendido
    2. Cuantos animales fueron atendidos
    3. De los animales atendidos poder saber los que conviene vacunar
    4. La suma del peso de todos los animales atendidos
    5. El animal atendido mas pesado.
  5. Dadas dos estaciones poder saber que animales fueron atendidos en ambas.

[Versión Jueves]
Dominio limitado a comederos y bebederos con cerdos, vacas y gallinas (que siempre pesan 4 kilos, siempre tienen hambre y sed).
  1. Saber si un animal puede ser atendido por un dispositivo.
  2. Conocer el conjunto de dispositivos que pueden atender a un animal en un centro de atención
  3. Que un animal sea atendido por un dispositivo.
  4. Para los cerdos, cuánto comió la última vez que comió?
  5. Para los cerdos, cuánto fue el máximo que comió?
  6. Conocer todos los animales que se atendieron en todos los dispositivos de un centro de atención, sin repetidos

Cosas para seguir leyendo




Comments