Задание:
Дан целочисленный массив из 31 элемента, в котором записаны значения температуры воздуха в марте. Элементы массива могут принимать значения от –20 до 20. Опишите на русском языке или на одном из языков программирования алгоритм, который подсчитывает и выводит среднюю температуру по всем дням, когда была оттепель (температура поднималась выше нуля). Гарантируется, что хотя бы один день в марте была оттепель. Исходные данные объявлены так, как показано ниже. Использовать другие переменные запрещается.
var A: array[1..N] of integer;
i, x, y: integer;
s: real;
begin
for i:=1 to N do readln(A[i]);
...
end.
Решение на языке Паскаль:
Недостающий фрагмент программы:
x:=0; y:=0;
for i:=1 to N do
if A[i]>0 then begin
x:=x+1;
y:=y + A[i];
end;
s:=y/x;
write(s);
Разбор программы:
* Так как мы используем в программе сложение, начальные значения переменных X и Y равны нулю. В переменной X программа считает количество дней, когда была оттепель. В переменной Y - сумму температур выше нуля.
* В цикле(For) из 31 элемента программа по очереди проверяет условие(if), если температура больше нуля, тогда увеличивает переменную X на 1, а само значение температуры складывает с предыдущими значениями.
* После цикла, чтобы выяснить среднюю температуру за данный период, программа общую сумму делит на количество дней, значение сохраняет в переменной S.
* Выводит среднее значение на экран.