Programación I. Práctica Final. Centro de datos meteorológicos. Introducción. Se pretende desarrollar una aplicación que gestione los datos meteorológicos recogidos por los observatorios de las cuatro provincias catalanas. La aplicación debe ser capaz de leer los datos que se suministran en ficheros de texto formateado (ver más adelante), y realizar con ellos una serie de funciones que se detallan a continuación. Además la aplicación debe contar con un interfaz de menús textuales con los que navegar por las diferentes opciones, y debe proporcionar las salidas de datos, tanto por pantalla como en ficheros de texto. Menú principal. Las funciones de la aplicación se dividen en cuatro apartados: 1. Gestión de datos. Ficheros de datos. Los datos de las observaciones vienen en ficheros de texto formateados de la siguiente manera: - cada línea corresponde a una observación. - cada línea contiene los siguientes campos separados por tabuladores: Provincia (carácter): un solo carácter (la inicial de la provincia). Día (entero): el día en que se recogió la observación. Mes (entero): el mes en que se recogió la observación. Temperatura (real): la temperatura medida. Humedad (real): la humedad relativa medida. Precipitaciones (real): la cantidad de lluvia recogida en esa observación. Ejemplo: B 10 3 17 76 23.1 Observación que corresponde a Barcelona el 10 de marzo con los siguientes valores: 17 ºC, 76% de humedad y 23.1 l/m2. Notas: - Las observaciones pueden estar desordenadas en el fichero. La aplicación debe contar con una opción para cargar nuevos ficheros de observaciones a petición del usuario, que se acumularán a las observaciones existentes. Manipulación de datos. Además de a través de los ficheros, el usuario podrá insertar observaciones sueltas por teclado, suministrando provincia, día, mes y las mediciones. También tendrá la posibilidad de borrar observaciones indicando la provincia, el día y el mes. Fichero de datos por defecto. Existe un fichero de datos que se carga al entrar en la aplicación (observ.dat), y que al salir de la misma debe reflejar todos los cambios que se hayan hecho durante el uso de la aplicación. Se facilitará un fichero de muestra con el que se comprobará el correcto funcionamiento de la práctica. 2. Listados de las observaciones. El usuario podrá solicitar un listado de las observaciones efectuadas, bien de todo un mes (ordenadas por provincia y día), de una provincia (ordenadas cronológicamente) o bien de todo el año (ordenadas por provincia y cronológicamente). Los listados podrán mostrarse por pantalla o escribirse en un fichero, a petición del usuario. El fichero de salida debe tener un formato legible para los humanos (a diferencia del formato simple de la entrada de datos). Ejemplo: LISTA DE OBSERVACIONES DE ENERO EN BARCELONA Día 1 5 ... Temperatura(ºC) 10 8 Humedad(%) 43 35 Precipitac. (l/m2) 23.2 10.1 3. Resúmenes de los datos. El usuario podrá solicitar un resumen de los datos por meses, por provincias o de todo el año, donde se reflejen la media (total de precipitaciones), el valor máximo y el valor mínimo. Ejemplo: RESUMEN DEL MES DE ENERO Temperatura media: máxima: 14.1 ºC 23 ºC el día 28 en Barcelona. mínima: -2 ºC el día 6 en Lleida. Humedad media: máxima: mínima: 45.3 % 76 % el día 23 en Barcelona. 23 % el día 2 en Girona. Precipitaciones: total: máximas: mínimas: 136.32 l/m2 35 l/m2 el día 8 en Tarragona. 0 l/m2 el día 12 en Girona. Al igual que con los listados los resúmenes se pueden solicitar por pantalla o a fichero. 4. Clasificaciones. Las clasificaciones nos ordenarán los meses en una provincia o las provincias en un mes, o los meses y las provincias en todo el año, por cada uno de las tres mediciones: temperatura, humedad o precipitaciones. Las salidas, por pantalla o fichero. Ejemplo: CLASIFICACION DE LAS PROVINCIAS EN ENERO EN FUNCION DE LAS PRECIPITACIONES 1. Tarragona 2. Girona 3. Barcelona 4. Lleida 145 l/m2. 121.45 l/m2. 89.90 l/m2. 76.82 l/m2. O bien, CLASIFICACION DE LA HUMEDAD POR MESES EN TODO EL AÑO 1. 2. 3. 4. 12. Agosto Julio Septiembre ... 87.3 % 86.6 % 86.3 % Enero 23.4 % Resumen de opciones de la aplicación: 1. Gestión de datos: a. Leer fichero de datos. b. Introducir observación por teclado. c. Borrar observación. d. Cargar fichero por defecto. e. Salvar fichero por defecto. 2. Listados de observaciones (por pantalla o fichero): a. Por mes. b. Por provincia. c. Por mes y provincia. 3. Resúmenes de las observaciones (por pantalla o fichero): a. De un mes. b. De una provincia. c. De todo el año y toda la comunidad. 4. Clasificaciones (por pantalla o fichero): a. De los meses por provincia y criterio. b. De las provincias por mes y criterio. c. De los meses por criterio en todo el año. De las provincias por criterio en todo el año. Comentarios. El material a entregar consistirá en: 1. Una memoria de la práctica dónde figurará: a) Introducción explicando el enfoque general de la práctica. b) Descripción y justificación de las estructuras de datos. c) Descripción y justificación de la estructura del programa (procedimientos y funciones, comentando los parámetros). La memoria se entregará en formato Word o PDF. 2. El código comentado (ficheros fuente, no el ejecutable). Los ficheros se depositarán dentro de una carpeta nombrada con los NIA (sin letra y separada con guión bajo) de los dos miembros del grupo de práctica, en la carpeta practica_final del directorio de alumnes, antes del día 6 de diciembre a las 12:00 horas del mediodía. El contenido de la memoria se valorará tanto o más que el código de la aplicación. En caso necesario los profesores podrán solicitar una entrevista para la defensa de la práctica. Para cualquier aclaración escribir un mail a cualquier profesor de la asignatura: eva.rodrí[email protected] [email protected] [email protected] [email protected]