Помогите, пожалуйста. Даю 44 балла за ответ! Пусть имеется переменная Ut, которой...

0 голосов
43 просмотров

Помогите, пожалуйста. Даю 44 балла за ответ!

Пусть имеется переменная Ut, которой ежесекундно присваивается значение напряжения на электрических контактах аналогового датчика температуры. Связь температуры и напряжения определяется зависимостью:

T(Ut)=minT+(maxT-minT)∙Ut/Umax,

где minT, maxT – границы измерения температуры датчиком, Umax – максимальное напряжение на датчике.
На любом языке программирования составьте программу определения, хранения и вывода на экран среднего значения температуры за последние 5 секунд наблюдения.


Информатика | 43 просмотров
0

Если это рядовая школьная задача - то решать можно "в лоб", но если это тест, конкурс или для ЕГЭ, - там учитываются требования по памяти и быстродействию и решение "в лоб" не годится. Вам какое решение надо? И что значит, на любом языке? Алгол-60 устроит? PL/1? Fortral-IV? APL?

0

А что в ней нерядового? Если все величины в формуле T(Ut) (кроме Ut, конечно) являются известными константами, то заполнять на хранение по кольцу 5 шт T(Ut) и пересчитывать среднее при каждом изменении данных. Или я чего-то не понял?

Дан 1 ответ
0 голосов
Правильный ответ

// PascalABC.Net 3.0, сборка 1052
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

(142k баллов)
0

А эта - она не то, чтобы скучная, она тривиальная.

0

Пожалуйста

0

Убрал из описания переменную Tu - она лишняя

0

Данные могут быть любыми. Я подобрал такие, чтобы было похоже на моделирование работы устройства, поддерживающего температуру +20