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

UptoLike

15
5) Поставить в функции Pow1 строку выдачи
writeln('обратный ход',' i=',i,' n=',n); i:=i-1
непосредственно перед рекурсивным вызовом и проанализировать измене-
ния в выводе.
6) Описать рекурсивную функцию Pow(x,n) от вещественного x (x0) и це-
лого n, которая вычисляет величину x
n
по формуле
>
<
=
=
0 при *
0при /1
0 при 1
1
nxx
nx
n
x
n
n
n
Пример 3 Для решения задачи, рассмотренной в Примере 2, можно ис-
пользовать более эффективное рекурсивное определение x
n
, охватывающее слу-
чай
0<n
:
<
>
>
=
=
.0если,1
,нечетное,0если,
,четное,0если,)(
,0если,1
1
22/
nx
nnxx
nnx
n
x
n
n
n
n
function Power(x: real; n: integer): real;
begin
if n=0 then Result:=1
else
if n<0 then Result:=Power(x,-n)
else
if odd(n) then Result:=x*Power(x,n-1)
else Result:=sqr(Power(x,n div 2))
end;