10.45 Даны первый член и разность арифметическое прогрессии. Написать рекурсивную функцию для нахождения а) n-ого члена прогрессии. б) суммы первых n членов прогрессии.

Вопрос пользователя:

10.45 Даны первый член и разность арифметическое прогрессии. Написать рекурсивную функцию для нахождения а) n-ого члена прогрессии. б) суммы первых n членов прогрессии.

Илюха отвечает:

var
a, b: real;
n: integer;

function arif_mem(a, b: real; n: integer): real;
begin
if n = 1 then arif_mem := a;
if n > 1 then arif_mem := arif_mem(a, b, n – 1) + b;
end;

function arif_sum(a, b: real; n: integer): real;
begin
if n = 1 then arif_sum := a;
if n > 1 then arif_sum := arif_sum(a, b, n – 1) + arif_mem(a, b, n);
end;

begin
write(‘введите первый член прогрессии:’);
readln(a);
write(‘введите разность прогрессии:’);
readln(b);
write(‘введите номер члена прогрессии:’);
readln(n);
writeln(n, ‘-й член прогрессии равен :’, arif_mem(a, b, n):8:2);
writeln(‘сумма ‘, n, ‘ членов прогрессии равна :’, arif_sum(a, b, n):8:2);
end.

Добавить свой ответ