Модуль: (C++) Рекурсия


2. Рекурсия. Имитация работы цикла

☰ Теория

Рекурсия. Имитация работы цикла
Мы увидели, что рекурсия - это повторное выполнение содержащихся команд в подпрограмме. А это в свою очередь аналогично работе цикла. Существуют языки программирования, в которых конструкция цикла отсутствует вовсе, например, Пролог. 
Попробуем сымитировать работу цикла for

Цикл for содержит переменную-счетчик шагов. В рекурсивной подпрограмме такую переменную можно передавать в качестве параметра.
// Процедура LoopImitation() с двумя параметрами.
// Первый параметр – счетчик шагов, второй параметр – общее количество шагов.
void LoopImitation(int i, int n) 
{            	
  cout << "Hello N " << i << endl; // Оператор, который необходимо повторить при любом значении i    	
  if (i < n)                      // Пока счетчик цикла не станет равным значению n,   
  {                               // вызываем новый экземпляр процедуры, с параметром i+1 (переход к следующему значению i).
    LoopImitation(i + 1, n);  
  }      
}      

Изучите программу, приведенную ниже и оформите в основной программе вызов процедуры с параметрами i=1, n=10.
#include <iostream>
using namespace std;
      	
//Процедура LoopImitation() с двумя параметрами.
//Первый параметр – счетчик шагов, второй параметр – общее количество шагов.
void LoopImitation(int i, int n) 
{            	
  cout << "Hello N " << i << endl; // Оператор, который необходимо повторить при любом значении i.    	
  if (i < n)                       // Пока счетчик цикла не станет равным значению n,   
  {                                // вызываем новый экземпляр процедуры, с параметром i+1 (переход к следующему значению i).
    LoopImitation(i+1, n);  
  }      
}      
main()
{      
  // здесь необходимо оформить вызов процедуры с параметрами i=1, n=10.      
} 



Вставьте недостающие фрагменты кода
C++
1
#include <iostream>             
2
using namespace std;       
3
void LoopImitation(int i, int n)            
4
{       
5
    cout << "Hello N " << i << endl;      
6
    if (i < n)           
7
        LoopImitation(i+1, n);        
8
}              
9
main() {             
10
11
}