Алгоритмы, использующие рекурсию, обязаны содержать процедуру (функцию), вызываемую рекурсивно.
Всю совокупность переменных, используемых для описания рекурсивного алгоритма, можно разделить на 3 группы:
· глобальные переменные алгоритма;
· параметры рекурсивной процедуры (функции);
· локальные переменные этой процедуры (функции).
Глобальные переменные, не являющиеся фактическими параметрами рекурсивной процедуры, сохраняют неизменными свои значения при обращениях к процедуре из основной программы или рекурсивных вызовах этой процедуры.
Локальные переменные могут изменить свои значения только в данной копии рекурсивной процедуры. Значение локальной переменной, которое она имеет в момент рекурсивного вызова, не изменится и после возврата (выхода) из рекурсии.
Procedure E(N:Integer);
Var x:Integer;