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