program TemperatureSettimana;
const
OraIniziale = 1;
OraFinale = 24;
type
TipoTemperatura = -50..50;
TipoGiorno = (Lunedi,Martedi,Mercoledi,Giovedi,Venerdi,Sabato,Domenica);
TipoOra = OraIniziale..OraFinale;
TipoTemperature = array [TipoGiorno, TipoOra] of TipoTemperatura;
var
giorno, giorno_max : TipoGiorno;
ora, ora_max : TipoOra;
temperature : TipoTemperature;
tmax : TipoTemperatura;
tmedia, tmedia_max : real;
begin
writeln('Immetti le temperature della settimana !');
for giorno := Lunedi to Domenica do
begin
writeln('Giorno ', ord(giorno), ':');
for ora := OraIniziale to OraFinale do
begin
write(' ora ', ora:2, ' ? ');
readln(temperature[giorno,ora])
end;
writeln
end;
tmax := -50;
for giorno := Lunedi to Domenica do
for ora := OraIniziale to OraFinale do
if temperature[giorno,ora] > tmax then
begin
tmax := temperature[giorno,ora];
giorno_max := giorno;
ora_max := ora
end;
writeln('Ora piu` calda in assoluto: giorno ', ord(giorno_max),
', ora ', ora_max, ' con temperatura: ', tmax);
tmedia_max := -50;
for giorno := Lunedi to Domenica do
begin
tmedia := 0;
for ora := OraIniziale to OraFinale do
tmedia := tmedia + temperature[giorno,ora];
tmedia := tmedia/(OraFinale-OraIniziale+1);
if tmedia > tmedia_max then
begin
tmedia_max := tmedia;
giorno_max := giorno
end
end;
writeln('Giorno piu` caldo in media: ', ord(giorno_max),
' con temperatura media: ', tmedia_max:6:2);
tmedia_max := -50;
for ora := OraIniziale to OraFinale do
begin
tmedia := 0;
for giorno := Lunedi to Domenica do
tmedia := tmedia + temperature[giorno,ora];
tmedia := tmedia / 7;
if tmedia > tmedia_max then
begin
tmedia_max := tmedia;
ora_max := ora
end
end;
writeln('Ora piu` calda in media: ', ora_max,
' con temperatura media: ', tmedia_max:6:2);
end.