ВЫЧИСЛЕНИЕ ОБОБЩЕННЫХ ХАРАКТЕРИСТИК. ПОДСЧЕТ ЭЛЕМЕНТОВ, КОТОРЫЕ УДОВЛЕТВОРЯЮТ ЗАДАННОМУ УСЛОВИЮ

Рассмотрим вычисление обобщенных характеристик массива на примере расчета суммы элементов массива.

Эта задача реализует безусловное вычисление суммы.

Перебор элементов массива выполняется в цикле со счетчиком, в теле которого происходит накопление суммы (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.