Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
9-11 лек 18-19 ПРОЦЕД И ФУНКЦ.doc
Скачиваний:
6
Добавлен:
23.11.2019
Размер:
146.94 Кб
Скачать

5. Директивы подпрограмм

Директивы дают дополнительную информацию транслятору о размещении подпрограмм.

6. Рекурсивные процедуры и функции

Язык Паскаль допускает, чтобы подпрограмма вызывала саму себя (рекурсивное обращение).

Эта возможность связана с тем, что при каждом новом обращении к подпрограмме параметры, которые она использует, заносятся в стек (это линейный список), причем параметры предыдущего обращения также сохраняются.

В ряде случаев (обычно для рекурсивных алгоритмов) рекурсивное оформление подпрограммы может быть более компактным и эффективным, но не следует забывать об опасности переполнения стека.

Пример. Вариант функции, рекурсивно вычисляющей факториал числа N.

functicon Factorial(N: Byte): Longint; begin   if N in [0..1]     then Factorial:= 1     else Factorial:=N*Factorial(N - 1) end;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]