Выбрать город
Программирование: концепции9-11 кл.

Миф или правда

Правда ли, что рекурсивный вызов — это прыжок к началу функции?

Миф

Рекурсивный вызов — это прыжок к началу функции

На самом деле

Нет: каждый вызов — новая копия функции со своими переменными; прежние вызовы ждут её завершения.

Рекурсия — что это на самом деле

Приём, когда функция вызывает саму себя, но для меньшей задачи. Обязательны две части: базовый случай — ответ известен сразу, без нового вызова — и рекурсивный шаг, сводящий задачу к меньшей. Без базового случая вызовы никогда не закончатся.

Вычисление, в котором функция определена через саму себя. Каждый вызов создаёт в стеке новый кадр со своими параметрами и локальными переменными; глубина ограничена — в Python предел по умолчанию 1000 вызовов, дальше RecursionError. Любая…

Аналогия: Матрёшка: внутри каждой — такая же, но меньше, и так до самой маленькой, которая уже не открывается.

Полное определение →

Это понятие вводят примерно 15-17 лет (9-11 класс).

Связанные термины

← Все мифы и факты