Процедура или функция может содержать внутри себя вызов другой процедуры. В том числе, подпрограмма может вызывать саму себя. В этом случае компьютеру все равно. Он также как и всегда последовательно сверху вниз выполняет те команды, которые ему встретились. Если вспомнить математику, то там можно встретить принцип математической индукции. Он заключается в следующем: некоторое утверждение справедливо для всякого натурального n, если 1. оно справедливо для n = 1 и 2. из справедливости утверждения для какого-либо произвольного натурального n = k следует его справедливость для n = k+1. В программировании этот прием называют рекурсией Рекурсия - это способ определения множества объектов через само это множество на основе заданных простых базовых случаев. Рекурсивной же будет называться процедура (функция), которая вызывает саму себя напрямую или через другие процедуры и функции Пример рекурсивной процедуры:
Рекурсия - это способ определения множества объектов через само это множество на основе заданных простых базовых случаев.
Рекурсивной же будет называться процедура (функция), которая вызывает саму себя напрямую или через другие процедуры и функции
void Rec(int a) { if (a>0) Rec(a-1); cout << a; }
глубиной рекурсии
#include <iostream>
using namespace std;
void Rec(int a) {
if (a>0) Rec(a-1);
cout << a;
}
main(){
1. опишите переменную целого типа, например a
2. оформите ввод значения переменной с клавиатуры
3. вызовите процедуру Rec(), передав в качестве параметра, значение переменной, которую ввели
1000 ms 32 Mb Правила оформления программ и список ошибок при автоматической проверке задач