Enunciado do projecto intermédio de programação aqui - versão 2.

Ficheiros 1: temperaturas por país e temperatura por cidades. Actualizados !!!
Ficheiros 2: temperaturas por país e temperatura por cidades. Actualizados !!!

Todos os projectos intermédios entregues devem compilar em Linux usando o seguinte comando: gcc *.c -g -I/usr/local/include -Wall -pedantic -std=c99 -L/usr/local/lib -lm -lSDL2 -lSDL2_ttf -lSDL2_image -o WarmingUp

Frequently Asked Questions

Q: Na filtragem de dados, para o intervalo de tempo, apenas é necessário introduzir um mês e um ano ?

R: Sim. Os dados que não são filtrados são os que estão entre o mês e o ano introduzido e a última medida do ficheiro.

Q: Na filtragem de dados, é para introduzir um mês ou intervalo de meses ?
R: Deve ser um intervalo de meses, e assim no enunciado deveria estar "meses" em vez de "mes". Devem incluir os meses introduzidos.

Q: Na filtragem de dados, por exemplo, dá para introduzir de novembro a janeiro ? 
R: Idealmente, sim. Deve seleccionar os meses correspondentes (novembro, dezembro, janeiro)

Q: Posso ordenar o ficheiro usando um vector com uma função qualquer ?
R: Não. A ordenação tem de ocorrer usando uma lista, ou inserindo ordenadamente numa lista e tem de ser realizada pelos alunos.

Q: O cálculo do moving average (MA) deve ser ao nível do mês ou ao nível do ano ?
R: Ao nível do mês, usando todos os meses correspondentes, isto é, filtrando todos os dados de janeiro, fevereiro, ... , etc. para cada um dos meses de forma independente.

Q: Quais são os passos principais na análise da temperatura global ?
R: 1. Cálculo da temperatura por mês/ano usando os dados de todos os países. 2. Cálculo da moving average para cada mês, usando os dados do passo anterior. 3. Cálculo da média das temperaturas ao longo do ano (sobre todos os meses de um dado ano) usando os dados calculados no ponto anterior. 4. Calcular o aumento de temperatura para os anos (1860, 1910, 1960, 1990, 2013) usando o valor máximo e mínimo de temperatura usando todos os anos dos anos anteriores (por exemplo, para 1990, usar os dados calculados no ponto anterior desde o 1º ano que a lista tem até 1990).

Q: O programa tem de funcionar com qualquer dos ficheiros fornecidos ?
R: Sim !

Q: Quando é que deve ser lido o ficheiro ?
R: Logo no início do programa.

Q: É necessário reservar memória de forma dinâmica para as strings contidas nas estruturas ?
R: Não é necessário. Também não é proibido.

Q: A análise da temperatura global também é sobre os dados seleccionados após a filtragem ?
R: Sim. O mesmo acontece em todas as análises.

Q: É necessário limpar toda a memória alocada ?
R: Sim !

Q: O utilizador pode fazer filtragem de dados mais do que uma vez ? e por critérios diferentes ?
R: Sim e Sim.

Q: A estrutura é a mesma para as cidades e países ?
R: O recomendado é que sim. No entanto, se quiserem podem ser diferentes.

Q: Posso manter duas listas para a filtragem de critérios ser mais rápida ?
R: Sim.

Q: Nos menus do projecto, é necessário colocar uma opção de sair (para voltar ao menu anterior) ?
R: Sim.

Q: No histórico de temperaturas como é que são os intervalos formados, por exemplo para um período de 10 anos ?
R: A começar em 1900, ficará [1900, 1910[, [1910, 1920[, ... 
 
Q: Posso usar apenas duas cores para os círculos na parte gráfica ?
R: Não ! Convém usar pelo menos 10 cores associadas a diferentes temperaturas, para formar uma escala. 

Q: Na parte gráfica, devo ajustar o valor do atraso ou usar o valor do exemplo (30ms) ?
R: Ajustar de forma a simulação tenha uma duração adequada. Podem colocar a simulação em loop de forma a que esta seja repetida até o utilizador carregar em sair.

Attachments