Реферат: Процедури та функції в 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

К-во Просмотров: 320
Бесплатно скачать Реферат: Процедури та функції в Turbo Pascal