Рекурсивное программирование работает путем деления сложной задачи на меньшие части, которые легче решить. 4 В момент, когда функция вызывает саму себя, действие «материнской» функции приостанавливается — и начинается выполнение «дочерней». 3 Так как рано или поздно программа должна вернуться к «материнской» функции, нужно сохранить данные о её работе. 3 Для этого существует стек вызовов. 3
Рекурсивное программирование применяют в ситуациях, когда требуется выполнить последовательность из одинаковых действий. 1 Прописывать их все слишком долго, а иногда невозможно, потому что неизвестно, сколько действий понадобится. 1 Например, нужно создать функцию, которая выводит на экран числа от N до 1. 1 Тогда рекурсия каждый раз будет вызывать саму себя, уменьшая заданное N на один, пока не дойдёт до единицы. 1
Некоторые другие ситуации, в которых применяют рекурсивное программирование: