Está en la página 1de 4

Taller manejo de arrays y Objetos básico

En este ejercicio modelaremos la siguiente situación:


Una estación meteorológica envía la información de las variables ambientales observadas cada hora a
un servicio de almacenamiento en la nube.
Los analistas acceden a la información que requieren para sus estudios a través de dicho sistema de
almacenamiento (nunca desde la estación meteorológica).

Una posible forma de modelar (y simular) este sistema se presenta en la siguiente figura, donde el
paquete Temp es el encargado de realizar las lecturas.
Específicamente, la clase TempGenerator simula la estación meteorológica y la clase TempCollector
simula el proceso de enviar la información cada hora al servicio de almacenamiento.
El algoritmo de lectura de las temperaturas de todo un año se presenta a continuación:
Su equipo de desarrollo, conformado por dos personas, debe implementar las clases ConsoleHandler
y Analizer, de forma tal que los analistas puedan extraer la información que les interesa a partir de los
datos de temperatura almacenados.
En el diagrama de clases se especifica los métodos y los atributos de cada clase. Sus nombres, firmas y
tipos de datos se deben respetar.
El menú mostrado por pantalla debe ser tal que le permita a los analistas indicar qué información
desean del sistema de forma clara, eficaz y eficiente.

A continuación se hace una breve descripción de los métodos de la clase Analizer:


Analizer(datos)
Constructor de la clase.
datos: Array con la información de las temperaturas de todo un año.

mostrarTempPuntual(fecha)
Muestra por pantalla la temperatura deseada.

fecha: Array con 3 enteros que representan el mes, el día y la hora de la temperatura que se desea
extraer.
-1<mes<12
-1<dia<diasXmes[mes]
-1<hora<24

Si el usuario ingresa una fecha errónea se debe mostrar un mensaje de error indicando el problema.

mostrarPromedioMes(mes)
Muestra el promedio de temperatura de todo el mes.

mes: Entero que representa el mes.


-1<mes<12

Si el usuario ingresa un mes por fuera del rango se debe mostrar un mensaje de error indicando el
problema.

mostrarPromedioDia(dia)
Muestra el promedio de temperatura de un día del año.

dia: Array con dos enteros que representan el mes y el día.


-1<mes<12
-1<dia<diasXmes[mes]

Si el usuario ingresa una fecha errónea se debe mostrar un mensaje de error indicando el problema.
mostrarPromedioRangoHoras(dia, hora)
Muestra el promedio de temperatura de un día específico en un rango de horas dado.

dia: Array con dos enteros que representan el mes y el día.


hora: Array con dos enteros que representan los límites inferior y superior del rango de horas sobre las
cuales se calcula el promedio.
-1<mes<12
-1<dia<diasXmes[mes]
-1<hora1<hora2<24

Si el usuario ingresa una fecha o un rango de horas erróneos se debe mostrar un mensaje de error
indicando el problema.

mostrarPromedioRangoMesesHoras(mes, hora)
Muestra el promedio de las temperaturas de todos los días de los meses indicados, en el rango de horas
indicado.

mes: Array de enteros indicando los meses sobre los cuales extraer los promedios. El array debe tener
mínimo 2 y máximo 12 elementos, sin repetir ningún elemento.
hora: Array con dos enteros que representan los límites inferior y superior del rango de horas sobre las
cuales se calcula el promedio.
-1<mes[i]<12 | 2≤mes.length≤12
-1<hora1<hora2<24

Si el usuario ingresa un grupo erróneo de meses o un rango de horas erróneos se debe mostrar un
mensaje de error indicando el problema.

También podría gustarte