Понятие рекурсии.

Язык Паскаль допускает, чтобы подпрограмма вызывала саму себя (рекурсивное обращение). Эта возможность связана с тем, что при каждом новом обращении к подпрограмме параметры, которые она использует, заносятся в стек, причем параметры предыдущего обращения тоже сохраняются.
В ряде случаев (обычно для рекурсивных алгоритмов) рекурсивное оформление подпрограммы может быть компактным и эффективным, но не следует забывать об опасности переполнения стека.
Пример: вариант функции, рекурсивно вычисляющей факториал числа N.
Function Factorial (N: Byte): LongInt;
Begin
  If N in [0..1]
  Then Factorial :=1
  Else Factorial := N* Factorial(N-1)
End;
Hosted by uCoz