Module: (C++) 递归


Problem

2/12

递归。循环模拟

Theory Click to read/hide

递归。回路模拟
我们已经看到,递归是重复执行子程序中包含的指令。反过来,这类似于循环的工作。有些编程语言根本不存在循环结构,例如 Prolog。 
让我们尝试模拟循环 for 的工作。 

for 循环包含一个计步器变量。在递归子程序中,这样的变量可以作为参数传递。 // 带有两个参数的过程 LoopImitation()。 // 第一个参数 –计步器,第二个参数——总步数。 void LoopImitation(int i, int n) { 输出 << “你好” <<我 <<结束; // 对 i 的任何值重复的运算符 if (i < n) // 直到循环计数器等于 n, { // 使用参数 i+1 调用过程的新实例(转到下一个值 i)。 LoopImitation(i + 1, n); }

Problem

研究下面的程序并在主程序中安排一个带有参数i=1n=10 的过程调用。 #include ; 使用命名空间标准; //Procedure LoopImitation() 有两个参数。 //第一个参数–计步器,第二个参数——总步数。 void LoopImitation(int i, int n) { 输出 << “你好” <<我 <<结束; // 对 i 的任何值重复的运算符。 if (i < n) // 直到循环计数器等于 n, { // 使用参数 i+1 调用过程的新实例(转到下一个值 i)。 LoopImitation(i+1, n); } } 主要的() { // 此处有必要使用参数 i=1、n=10 发出过程调用。