Информатика, опубликовано 2018-08-22 23:39:50 by Гость

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

Ответ оставил Гость

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 ib0 then 
            writeln (est` chislo b);//если индекс не 0, значит мы нашли b в массиве
if ia0 then
            writeln (est` chislo a);
if (ib0) and (ia0) then //имеет смысл сравнивать позиции чисел, только если оба числа присутствуют в массиве
                                        if ia                                                      writeln (pervim vstr a)
                                                    else
                                                      writeln (pervim vstr b);
end.

Не нашли ответа?
Если вы не нашли ответа на свой вопрос, или сомневаетесь в его правильности, то можете воспользоваться формой ниже и уточнить решение. Или воспользуйтесь формой поиска и найдите похожие ответы по предмету Информатика.

Форма вопроса доступна на полной версии этой страницы.