Модуль: (Java) Подпрограммы. Рекурсия.


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      
} 



Вставьте недостающие фрагменты кода
Java
1
import java.util.Scanner;  
2
public class Main {  
3
   static void LoopImitation(int i, int n)  
4
    {  
5
        System.out.println("Hello N " + i);  
6
         if (i<n)  
7
         LoopImitation(i+1, n);  
8
    }  
9
     public static void main(String[] args) {  
10
11
     }  
12
}