44 за ответ! пусть имеется переменная ut, которой ежесекундно присваивается значение напряжения на электрических контактах аналогового датчика температуры. связь температуры и напряжения определяется зависимостью: t(ut)=mint+(maxt-mint)∙ut/umax, где mint, maxt – границы измерения температуры датчиком, umax – максимальное напряжение на датчике. на любом языке программирования составьте программу определения, хранения и вывода на экран среднего значения температуры за последние 5 секунд наблюдения.
const
k=5;
minT=-60;
maxT=60;
Umax=4.8;
var
Ut,s,meanT:real;
ring:array[1..k] of real;
i,p:byte;
begin
{ Модерируем работу за 25 с }
Randomize;
s:=0;
{ Выход на рабочий режим }
for i:=1 to k do begin
Ut:=0.3*Random+3; { колебания напряжения от 3 до 3.3В }
ring[i]:=minT+(maxT-minT)*Ut/Umax;
s:=s+ring[i]
end;
meanT:=s/k;
Writeln('t=',k:2,'c, средняя температура= ',meanT:6:2);
{ Рабочий режим }
for i:=k+1 to 25 do begin
Ut:=0.3*Random+3; { колебания напряжения от 3 до 3.3В }
p:=i mod k; if p=0 then p:=k;
s:=s-ring[p];
ring[p]:=minT+(maxT-minT)*Ut/Umax;
s:=s+ring[p];
meanT:=s/k;
Writeln('t=',i:2,'c, средняя температура= ',meanT:6:2);
end
end.
Тестовое решение:
t= 5c, средняя температура= 19.61
t= 6c, средняя температура= 20.35
t= 7c, средняя температура= 20.60
t= 8c, средняя температура= 19.68
t= 9c, средняя температура= 20.03
t=10c, средняя температура= 19.17
t=11c, средняя температура= 18.06
t=12c, средняя температура= 17.16
t=13c, средняя температура= 18.15
t=14c, средняя температура= 18.01
t=15c, средняя температура= 18.25
t=16c, средняя температура= 19.44
t=17c, средняя температура= 19.71
t=18c, средняя температура= 18.80
t=19c, средняя температура= 18.54
t=20c, средняя температура= 19.36
t=21c, средняя температура= 19.57
t=22c, средняя температура= 20.20
t=23c, средняя температура= 20.65
t=24c, средняя температура= 20.97
t=25c, средняя температура= 20.46