Реферат: Структуровані типи даних записи та множини Використання процедур та функції мови Turbo Pascal

Тут n! визначається через (n!-1), т.б. через ту ж саму функцію.

Programa 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 .

В прикладі4 рекурсивна функція F можно представити і не в рекурсивною:

FUNCTION F( v : integer) : integer;

Begin

F := 1:

for i := 1 to v do

F := F * i;

End;

Особливість: на реалізацію рекурсивної функції ЕОМ затрачує значний час, хоча її опис більш компактний і наочний. Не рекурсивні функції обчислюються швидко.

Формально у мові Паскаль не дозволяється використовувати конструкції, які ще не описані.

Для виключення таких ситуацій використовують, так званий, випереджальний опис процедур і функцій. При цьому до опису процедури F1 вказується на подальші використання процедури F2. Тоді звертання з F1 до F2 допустимо (рис.5).

Program Pr …;

Procedure F2 (…);

К-во Просмотров: 432
Бесплатно скачать Реферат: Структуровані типи даних записи та множини Використання процедур та функції мови Turbo Pascal