Реферат: Процедури та функції в Turbo Pascal
3) із самої функції – рекурсія.
Рис. 3.
На рис. 3 умовно подано:
1. звертання до процедури F1 із тіла програми Pr;
2. звертання до процедури F2 із тіла процедури F1 ;
3. звертання до процедури F2 всередині самої себе – рекурсія.
Приклад 4.1. Визначити факторіал у рекурсивній формі:
n!= 1, при n= 0;
n! = n(n-1)!, при n>0.
Тут n! визначається через (n!-1) , тобто через ту ж саму функцію.
Program FACT (input, output);
var n : integer;
FUNCTION F ( v : integer): integer;
begin
if v = 0 then F := 1
else F := v * F(v-1);
end;
begin
writeln (‘ ввести аргумент n ‘);
read ( n );
if n<0 then writeln (‘факторіал не визначений’);
else writeln (‘факторіал’, n ,’= ’, F(n));
end.
В прикладі 5.1 рекурсивна функція F обчислює факторіал для n>0 за формулою n!=n(n-1)!. Однак, дану функцію можна представити і не рекурсивною:
FUNCTION F( v : integer): integer;
begin
F := 1:
for i := 1 to v do