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

UptoLike

13
Можно исследовать, как выполнятся рекурсивная функция: сколько пря-
мых и обратных шагов выполняется, и при каких значениях параметров. При из-
менении функции в список параметров процедуры Pow добавляется параметр i
номер вызова функции. Значения параметров будут выводиться в начале очеред-
ного выполнения тела функции (прямой ход) и перед выходом из него
(обратный
ход).
Программа с измененной функцией:
program Rec_2_2;
var i: integer;
function Pow1(var i: integer; x: real; n: integer):real;
begin
i:=i+1;
writeln('прямой ход',' i=',i,' x=',x,' n=',n);
if n=0 then
begin
writeln('
--------------------------------');
writeln('завершение рекурсивных вызовов',
' i=',i,' n=',n);
writeln('
--------------------------------');
Pow1:=1
end
else
Pow1:=x*Pow1(i,x,n-1);
writeln('обратный ход',' i=',i,' n=',n); i:=i-1
end;
begin
i:=0; writeln('Pow1(i,2,3)=',Pow1(i,2,3))
end.