Вычисление произведения элементов массива

 

Для вычисления произведения элементов массива нужно переменной, в которой будет накапливаться произведение (например, p), присвоить начальное значение, равное единице, а затем последовательно умножать содержимое этой переменной на соответствующий элемент массива.

Пример 8. Найти среднее геометрическое положительных элементов массива D, состоящего из n элементов (n£20). Среднее геометрическое – это корень k – ой степени из произведения k элементов массива.

 

Программа Схема алгоритма

 

Program Prim8;

var

d : array[1..20] of real;

i,n,k : integer;

p : real;

begin

writeln('Введите n');

readln(n);

writeln('Введите массив');

for i:=1 to n do

read(d[i]);

p:=1;

k:=0;

for i:=1 to n do

if d[i]>0 then

begin

p:=p*d[i];

k:=k+1;

end;

if k=0 then

writeln('Положительных элементов нет')

else

begin

p:=exp(1/k*ln(p));

writeln('p=', p:7:2);

end;

end.

 

 

Исходные данные: Результат:

I вариант

n = 11

Массив D

3 5 4 -7 1 2 -9 6 -8 3 -10 p= 2.99

II вариант

n = 5

Массив D

-2 -5 -6 -9 -7 Положительных элементов нет

Пример 9. Найти произведение элементов массива С, состоящего из n элементов, имеющих чётные индексы (n£20).

 

Для вычисления произведения элементов массива в этом примере будем использовать оператор repeat-until.

Для получения значения чётного индекса введем переменную i, начальное значение которой зададим равным двум (i:=2), а после каждого выполнения цикла будем последовательно увеличивать значение i на два (i:=i+2).

Программа Схема алгоритма

Program Prim9;

var

c : array[1..20] of real;

i,n : integer;

р : real;

begin

writeln('Введите n');

readln(n);

writeln('Введите массив');

for i:=1 to n do

read(c[i]);

р:=1;

i:=2;

repeat

p:=p*c[i];

i:=i+2;

until i>n;

writeln('p=', p:8:2);

end.

 

Исходные данные: Результат:

n = 9 p= 210.00

Массив C

3 2 -1 7 5 -3 8 -5 1

Поиск элементов массива по заданному критерию

 

Пример 10. Переписать положительные элементы массива А, состоящего из n элементов, в массив В (n£20).

 

Программа Схема алгоритма

 

Program Prim10;

var

a,b : array[1..20] of real;

i,n,k : integer;

begin

writeln('Введите n');

readln(n);

writeln('Введите массив');

for i:=1 to n do

read(a[i]);

k:=0;

for i:=1 to n do

if a[i]>0 then begin

k:=k+1;

b[k]:=a[i];

end;

for i:=1 to k do

writeln('b[', i, ']=', b[i]:5:2);

end.

 

 

Исходные данные: Результат:

n = 10 b[1]= 4.00

Массив A b[2]= 5.00

4 5 -3 1 7 -2 12 -8 -14 26 b[3]= 1.00

b[4]= 7.00

b[5]=12.00

b[6]=26.00

Пример 11. Найти первый отрицательный элемент массива B, содержащего n элементов (n£20).

 

Программа Схема алгоритма

 
 


Program Prim11;

label 1;

var

b:array[1..20] of real;

i,n:integer;

begin

writeln('Введите n');

readln(n);

writeln('Введите массив');

for i:=1 to n do read(b[i]);

for i:=1 to n do

if b[i]<0 then begin

writeln('b[',i,']=',b[i]:6:2);

goto 1;

end;

writeln('Отрицательных элементов нет');

1: end.

 

Исходные данные: Результат:

I вариант n = 7 I вариант b[3]= -5.00

Массив B

3 8 -5 -2 6 -9 12

II вариант n = 6 II вариант

Массив B Отрицательных элементов нет

4 7 2 9 4 1