1) В массиве хранятся сведения о количестве осадков, выпавших за январь. Определить:а)...

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

1) В массиве хранятся сведения о количестве осадков, выпавших за январь. Определить:
а) Общее количество осадков за январь;
б) Среднесуточное количество осадков

2) Составьте программу, проверяющую, есть ли в данном массиве числа А, В, и определяющую, какое из них встречается раньше ( в случае, если таковые числа имеются).


Информатика (15 баллов) | 110 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Program qq;
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                                                      writeln ('pervim vstr a')
                                                    else
                                                      writeln ('pervim vstr b');
end.

(416 баллов)