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


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

☰ Теория

Рекурсия как замена цикла

Мы увидели, что рекурсия - это повторное выполнение содержащихся команд в подпрограмме. А это в свою очередь аналогично работе цикла. Существуют языки программирования, в которых конструкция цикла отсутствует вовсе. Например, Пролог. 
Попробуем сымитировать работу цикла for
Цикл for содержит переменную-счетчик шагов. В рекурсивной подпрограмме такую переменную можно передавать в качестве параметра.
# Процедура LoopImitation() с двумя параметрами
# Первый параметр – счетчик шагов, 
# второй параметр – общее количество шагов
def LoopImitation(i, n): 
    print("Hello N", i) # Оператор, который необходимо выполнять (повторять) 
                                  # при любом значении i    	
    if i < n:           # Пока счетчик цикла не станет равным значению n,   
        LoopImitation(i + 1, n) # вызываем еще раз эту же процедуру, 
                                # с параметром i+1 (переход к следующему значению i)

Изучите программу, приведенную ниже и оформите в основной программе вызов процедуры с параметрами i = 1, n = 10.

 

Вставьте недостающие фрагменты кода
Python
1
def LoopImitation(i, n):        
2
    print("Hello N", i)    	       
3
    if i < n:                
4
        LoopImitation(i + 1, n)        
5
     
Foxford Lectarium.ru