Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Program Factorial_Up;



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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...