Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Var
N: Integer;
function Fact_Up(i:Integer): Longint;
Var
Mult: Longint;
Begin
if i = 1 then Mult:= 1
else Mult:= Fact_Up (i-1);
Fact_Up:= Mult * i {Накопление факториала стоит после }
{оператора рекурсивного вызова. }
{Следовательно вычисление выполняется на возврате. }
End;
Begin
Write ('Введите число n: ');
Readln (n);
Writeln ('Факториал n! = ', Fact_Up (n));
End.
Приведем таблицу трассировки по уровням рекурсии, аналогичную таблице для функции Fact_Dn:
Рис.2. Трассировка значений параметров
Дата публикования: 2014-12-08; Прочитано: 245 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!