Module: (C++) 再帰


Problem

2/12

再帰。サイクルシミュレーション

Theory Click to read/hide

再帰。ループ シミュレーション
再帰とは、サブルーチンに含まれる命令を繰り返し実行することです。そして、これはサイクルの働きに似ています。 Prolog など、ループ構造がまったくないプログラミング言語もあります。 
ループ for の動作をシミュレートしてみましょう。 

for ループには、ステップ カウンター変数が含まれています。再帰サブルーチンでは、このような変数をパラメーターとして渡すことができます。 // 2 つのパラメータを持つ LoopImitation() プロシージャ。 // 最初のパラメータ –ステップ カウンター、2 番目のパラメーター –総ステップ数。 void LoopImitation(int i, int n) { cout << 「こんにちはN」 <<私は <<エンドル; // i の任意の値に対して繰り返される演算子 if (i < n) // ループ カウンターが n に等しくなるまで、 { // パラメータ i+1 を使用してプロシージャの新しいインスタンスを呼び出します (次の値 i に移動します)。 LoopImitation(i + 1, n); } }

Problem

以下のプログラムを調べて、メイン プログラムにパラメータ i=1n=10 を使用したプロシージャ コールを配置します。 #include <iostream> 名前空間 std を使用します。 // 2 つのパラメーターを指定して LoopImitation() を実行します。 //最初のパラメーター –ステップ カウンター、2 番目のパラメーター –総ステップ数。 void LoopImitation(int i, int n) { cout << 「こんにちはN」 <<私は <<エンドル; // i の任意の値に対して繰り返される演算子。 if (i < n) // ループ カウンターが n に等しくなるまで、 { // パラメータ i+1 を使用してプロシージャの新しいインスタンスを呼び出します (次の値 i に移動します)。 LoopImitation(i+1, n); } } 主要() { // ここで、パラメータ i=1、n=10 でプロシージャ コールを発行する必要があります。 }