- Рекурсивная функция или процедура — это подпрограмма, которая вызывает сама себя напрямую или через другие подпрограммы.
- Такой способ описания функции называется рекурсия.
- Рекурсивная функция обязательно должна содержать в себе условие окончания рекурсивности, чтобы не вызвать зацикливания программы. Например, вызов функции внутри неё самой можно разместить в операторе if.
- Любую рекурсивную функцию можно записать без рекурсии с помощью цикла.
- Программный код с рекурсией изящнее и проще для понимания, но занимает больше памяти и дольше выполняется.
- С применением рекурсии уменьшается время выполнения функции и объём кода.
Пример. Вычислите факториал числа N:
Решение.
function fact (n: byte): real;
begin
if (n <= 1) then fact:= 1
else
fact:= fact (n - 1) * n;
end;
Рекурсия (Паскаль)
Было полезно?
Рекомендуем
Вы учитель или ученик?
Познакомьтесь с нашим образовательным онлайн-сервисом с тысячами интерактивных работ
Учителю
Удобно проводить уроки в классе, назначать работы на дом и анализировать результаты всего класса или конкретных учеников
Ученику
Самостоятельно изучать новые и повторять пройденные темы, готовиться по индивидуальной траектории и оценивать результаты на наглядных графиках