ВЫЧИСЛЕНИЕ ОБОБЩЕННЫХ ХАРАКТЕРИСТИК. ПОДСЧЕТ ЭЛЕМЕНТОВ, КОТОРЫЕ УДОВЛЕТВОРЯЮТ ЗАДАННОМУ УСЛОВИЮ
Рассмотрим вычисление обобщенных характеристик массива на примере расчета суммы элементов массива.
Эта задача реализует безусловное вычисление суммы.
Перебор элементов массива выполняется в цикле со счетчиком, в теле которого происходит накопление суммы (s = s+ai). Цикл завершается, если перебранны все элементы массива. Приведем фрагмент программы, которая решает следующую задачу.
s:=0; //Начальное значение суммы
For i:=1 to m do
s:=s+a[i]; //Накопление суммы элементов массива
На примере задачи расчета произведения элементов массива, которые находятся в пределах value1<ai<value2, где value1 и value2 – значения, которые вводятся с клавиатуры рассмотрим вычисление произведения, по условию. Перебор элементов массива выполняется в цикле со счетчиком, в теле которого происходит сравнение текущего элемента с образцами. Если условие выполняется, то происходит накопление произведения (p = p*ai). Этот пример демонстрирует еще и задачу подсчета элементов, которые удовлетворяют заданному условию. В нашем случае это подсчет количества элементов (k = k+1), которые отвечают условию value1<ai<value2.
Цикл завершается, если проверенные все элементы массива.
Блок-схема алгоритма:
Программа:
program N7;
Const n=10;
Var a:array [1..n] of integer;
i,m,k:byte;
value1,value2,p:integer;
begin
writeln('Enter number of elements <=', n);
readln(m);
writeln('Enter massiv ');
For i:=1 to m do
read(a[i]);
writeln('Enter first value ');
readln(value1);
writeln('Enter second value ');
readln(value2);
P:=1;
k:=0;
For i:=1 to m do
if (a[i]>value1)and (a[i]<value2) then
begin
p:=p*a[i];
k:=k+1
end;
if k=0 then writeln('Element not found. Interval ',value1,' < a[i] <', value2)
else writeln('p=',p,' Interval ',value1,'< a[i] <',value2);
end.