루프 교체로서의 재귀
우리는 재귀가 서브루틴에 포함된 명령을 반복적으로 실행하는 것을 보았습니다. 그리고 이것은 차례로 사이클의 작업과 유사합니다. 루프 구성이 전혀 없는 프로그래밍 언어가 있습니다. 예: 프롤로그.
루프
for
의 작업을 시뮬레이션해 봅시다.
for
루프에는 걸음 수 카운터 변수가 포함되어 있습니다. 재귀 서브루틴에서 이러한 변수는 매개변수로 전달될 수 있습니다.
<예비>
# 프로시저 LoopImitation() 두 매개변수 포함
# 첫 번째 매개변수 – 걸음 수 카운터, 두 번째 매개변수 – 총 단계 수
def LoopImitation(i, n):
print("Hello N", i) # i의 모든 값에 대해 반복되는 명령문
내가 < n: # 루프 카운터가 값 n과 같아질 때까지,
LoopImitation(i + 1, n) # 프로시저의 새 인스턴스를 호출합니다.
# 매개변수 i+1 포함(다음 값 i로 이동)