Информатика • 10 класс
673

Рекурсивные подпрограммы (C++)

  • Рекурсивная подпрограмма — это функция или процедура, которая вызывает сама себя непосредственно или через другие подпрограммы.
  • Рекурсивная функция обязательно должна содержать условие завершения (базовый случай), чтобы предотвратить бесконечную рекурсию и зацикливание программы. Каждый рекурсивный вызов создает новый набор локальных переменных и параметров, что приводит к использованию стека вызовов.
  • Преимущества и недостатки:
    • плюсы: упрощает решение задач, которые естественно описываются рекурсивно (обход деревьев, задачи разделяй и властвуй);
    • минусы: увеличивает потребление памяти (из-за стека вызовов) и может замедлять выполнение программы по сравнению с итеративными решениями.
  • Области применения: алгоритмы на графах, сортировка, обработка сложных структур данных, математические вычисления (факториал, числа Фибоначчи).

    Пример. Рекурсивная функция, которая выводит целые числа от заданного положительного числа N до 1 в порядке убывания. Каждое число должно выводиться через пробел.

Программный код

Окно вывода

#include <iostream>
using namespace std;
void print (int n) {
  if (n >= 1) {
    cout << n >> " ";
    print (n - 1); } }
int main () {
  print (10); } 

10 9 8 7 6 5 4 3 2 1

Было полезно?

Рекомендуем

Вы учитель или ученик?
Познакомьтесь с нашим образовательным онлайн-сервисом с тысячами интерактивных работ
Учителю
Удобно проводить уроки в классе, назначать работы на дом и анализировать результаты всего класса или конкретных учеников
Ученику
Самостоятельно изучать новые и повторять пройденные темы, готовиться по индивидуальной траектории и оценивать результаты на наглядных графиках
Зарегистрироваться в «Облаке знаний»
Логотип облако знаний
+7 (499) 322-07-57
info@oblakoz.ru

Контактный центр

МО, г. Долгопрудный,
Лихачевский проезд, 4, стр. 1

Отдел заботы о пользователях

Политика конфиденциальности

© ООО «Физикон Лаб», 2025

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪