1) в массиве хранятся сведения о количестве осадков, выпавших за январь. определить: а) общее количество осадков за январь; б) среднесуточное количество осадков 2) составьте программу, проверяющую, есть ли в данном массиве числа а, в, и определяющую, какое из них встречается раньше ( в случае, если таковые числа имеются).
uses crt;
var M:array[1..31] of real; sr, all, a, b, ia, ib: real; i, n: integer;
//значения кол-ва осадков нецелые, т.к. целые встречаются редко. однако можно заменить и на integer. среднее значение (sr) всегда real, т.к. есть операция деления
begin
writeln ('Введите количество дней:'); //возможность расчета запрашиваемых данных как за полный месяц (31 день - верхняя граница массива), так и за какую-то его часть - n дней.
readln (n);
all:=0; //обнуляем переменные.
ia:=0;
ib:=0;
for i:=1 to n do
read (m[i]); //задаем массив. если массив задается другим стоило бы указать в задании.
for i:=1 to n do
all:=all+m[i]; //подсчёт общего кол-ва осадков
sr:=all/n; //среднее арифметическое осадков
writeln('Введите числа а и b');
read (a, b);
for i:=1 to n do
begin
if m[i]=b then
if ib=0 then ib:=i; //Сравниваем оба числа поочередно
if m[i]=a then //с каждым элементом массива, если
if ia=0 then ia:=i; //совпадают, то запоминаем индекс. вложенное условие позволяет считать индекс только первого встретившегося числа.
end;
writeln ('Среднесуточное кол-во осадков:', sr:6:2);
writeln ('Общее кол-во осадков', all:8:2);
if ib<>0 then
writeln ('est` chislo b');//если индекс не 0, значит мы нашли b в массиве
if ia<>0 then
writeln ('est` chislo a');
if (ib<>0) and (ia<>0) then //имеет смысл сравнивать позиции чисел, только если оба числа присутствуют в массиве
if ia<ib then //число с меньшим индексом, очевидно, встречается первым
writeln ('pervim vstr a')
else
writeln ('pervim vstr b');
end.