Найти произведение элементов одномерного массива - Pascal
Формулировка задачи:
Решение задачи: «Найти произведение элементов одномерного массива»
type Mas=array[1..100] of real;
{Рекурсивная функция}
function Mult(k:byte;x:Mas):real;
begin
if k=0 then Mult:=1 else Mult:=x[k]*Mult(k-1,x)
end;
{Основная программа}
var a:Mas;
i,n:Byte;
begin
write('Количество элементов массива n=');
readln(n);
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
writeln('Массив');
for i:=1 to n do
write(a[i]:0:2,' ');
writeln;
write('Произведение=',Mult(n,a):0:2);
end.
Объяснение кода листинга программы
В данном коде объявлен тип данных Mas, представляющий одномерный массив из 100 элементов типа real. Затем определена рекурсивная функция Mult, которая принимает два аргумента: k (бинарный код, указывающий на элемент массива) и x (сам массив). Если k равно нулю, то функция возвращает единицу, иначе возвращает произведение элемента массива с индексом k и результата вызова функции Mult для k-1 и x. В основной программе создается переменная a типа Mas и инициализируется нулями. Затем с помощью цикла for считывается количество элементов массива n и каждый элемент массива a[i]. После этого выводится сообщение с элементами массива и его произведением. Код использует рекурсию для нахождения произведения элементов массива.