Рекурсия - 8 стр.

UptoLike

10
2 ПРИМЕРЫ РЕКУРСИВНЫХ ПОДПРОГРАММ
Пример 1 Используя рекурсивную процедуру, вычислить сумму
n
S
1
3
1
2
1
1 ++++=
program Rec_1;
var n: integer;
Sm: real;
procedure SumRec( n:integer; var S: real);
begin
if n=1 then S:=1
else
begin
SumRec( n-1, S );
S:=S+1/n
end
end;
begin
write('n=');
readln (n);
SumRec( n, Sm );
writeln('Сумма =',Sm:10:8)
end.
Можно проследить, как работает процедура SumRec, например, для n=5.
Оператор процедуры в этом случае будет таким:
SumRec( 5, Sm );