Plantee e implemente un programa en PASCAL para almacenar las temperaturas (en ºC) registradas en una ciudad durante un día hora a hora (0-23). Introduzca las temperaturas a partir de los datos proporcionados por el usuario, visualice ordenadamente las temperaturas registradas y calcule y muestre por pantalla la temperatura máxima, mínima y media alcanzadas.
PROGRAM temp(input,output);
(*Programa que pida una serie de temperaturas por teclado, y como salida las imprima por pantalla hora a hora, calcule maximo, minimo y la media*)
CONST
horas=24;
TYPE
TAtemperaturas = ARRAY[1..horas] OF real;
VAR
Atemperaturas:TAtemperaturas;
a,m,b,c:real;
(********************************************************************************************************************************************************)
PROCEDURE leer;
VAR
I:integer;
BEGIN
I:=1;
WHILE I<=horas DO
BEGIN
read(a);
Atemperaturas[I]:=a;
I:=I+1;
END;
END;
(********************************************************************************************************************************************************)
PROCEDURE escribir;
VAR
Y:integer;
BEGIN
FOR Y:=1 TO horas DO
IF Y=1 THEN writeln('La temperatura a la ',Y:3,' es de ',Atemperaturas[Y]:3:2,' grados.') ELSE writeln('La temperatura a las ',Y,' es de ',Atemperaturas[Y]:3:2,' grados.');
END;
(********************************************************************************************************************************************************)
FUNCTION media(Atemperaturas:TAtemperaturas):real;
VAR
acumulador:real;
M:integer;
BEGIN
M:=0;
FOR M:=1 TO horas DO
acumulador:= acumulador + Atemperaturas[M];
media:= acumulador /horas;
END;
(************************************************************************************************************************************************************)
FUNCTION maxima(Atemperaturas:TAtemperaturas):real;
VAR
maximo:real;
I:integer;
BEGIN
maximo:=0;
I:=0;
FOR I:=1 TO horas DO
IF Atemperaturas[I] > maximo THEN maximo:=Atemperaturas[I] ELSE maximo:=maximo;
maxima:=maximo;
END;
(************************************************************************************************************************************************************)
FUNCTION minima(Atemperaturas:TAtemperaturas):real;
VAR
minimo:real;
I:integer;
BEGIN
minimo:=0;
I:=0;
FOR I:=1 TO horas DO
IF Atemperaturas[I] < Atemperaturas[1] THEN minimo:=Atemperaturas[I] ELSE minimo:=minimo;
minima:=minimo;
END;
(*****************************************************************************************************************************************************************)
BEGIN
write('Introduzca 24 temperaturas separadas por espacios correspondientes a cada hora del dia:');
leer;
escribir;
m:=media(Atemperaturas);
writeln('La media de las temperaturas a lo largo del dia, es de ',m:2:2,' grados.');
b:=maxima(Atemperaturas);
writeln('La temperatura maxima alcanzada en el dia es de ',b:2:2,' grados');
c:=minima(Atemperaturas);
writeln('La temperatura minima alcanzada en el dia es de ',c:2:2,' grados');
END.
Ejemplo de ejecución
Siguiente
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario