Module: 서브루틴. 재귀


Problem

2/8

재귀. 사이클 시뮬레이션

Theory Click to read/hide

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

Problem

아래 프로그램을 연구하고 메인 프로그램에서 매개변수 i=1, n=10으로 프로시저 호출을 발행하십시오. <예비> //두 개의 매개변수가 있는 LoopImitation() 프로시저 //첫 번째 매개변수 – 걸음 수 카운터, 두 번째 매개변수 – 총 단계 수 절차 LoopImitation(i, n: 정수); 시작하다     writeln('Hello N', i); // i의 모든 값에 대해 반복되는 연산자     내가 < n then //루프 카운터가 n 값이 될 때까지,         LoopImitation(i + 1, n); //매개변수 i+1을 사용하여 프로시저의 새 인스턴스를 호출합니다(다음 값 i로 전환). 끝; 시작하다     // 여기서 매개변수 i=1, n=10을 사용하여 프로시저 호출을 실행해야 합니다. 끝.