Module: 子程序。递归


Problem

2/8

递归。循环模拟

Theory Click to read/hide

我们已经看到,递归是重复执行子程序中包含的指令。反过来,这类似于循环的工作。有些编程语言根本不存在循环结构,例如 Prolog。 
我们来模拟一下for循环的运行。 
for 循环包含一个计步器变量。在递归子程序中,这样的变量可以作为参数传递。 <前> //LoopImitation() 过程有两个参数 //第一个参数–计步器,第二个参数——总步数 程序 LoopImitation(i, n: integer); 开始     writeln('你好', i); // 对 i 的任何值重复的运算符    如果我n then //直到循环计数器变得等于值n,         LoopImitation(i + 1, n); //使用参数 i+1 调用过程的新实例(转换到下一个值 i) 结尾;

Problem

研究下面的程序并在主程序中发出参数 i=1, n=10 的过程调用 <前> //LoopImitation() 过程有两个参数 //第一个参数–计步器,第二个参数——总步数 程序 LoopImitation(i, n: integer); 开始     writeln('你好', i); // 对 i 的任何值重复的运算符    如果我n then //直到循环计数器变得等于值n,         LoopImitation(i + 1, n); //使用参数 i+1 调用过程的新实例(转换到下一个值 i) 结尾; 开始     // 这里有必要发出一个带有参数 i=1, n=10 的过程调用 结尾。