☆ 再帰処理 ☆

関数操作で解説した機能を利用して、少し高度なアルゴリズムに挑戦してみましょう。

関数操作では、main関数からjijyou関数を呼び出すというように、ある関数から別の関数を呼び出していました。
今回解説するのは、ある関数からその関数自体を呼び出すといった処理を行うもので、「
再帰処理」と呼ばれる処理です。



これを利用して、以下のようなアルゴリズムを作成しました。

ある数値の階乗を計算するための関数(「kaijyou関数」と名付けた)を作成し、キーボードから入力された値を引数として受け取り、関数内で階乗を計算した後に、その結果を返り値としてmain関数に戻す。
ただし、関数内で階乗を計算する時には、さらにkaijyou関数を呼び出すこと。。

作成するシートは以下のようになります。

変数の設定はとmain関数のシートは関数操作と変わりません。
問題はkaijyou関数の中。
kaijyou関数の中でさらにkaijyou関数を呼び出していますね。

ちなみに、階乗の計算は、「n!=n*(n-1)*(n-2)*・・・・・・*2*1」という計算です。
例えば、階乗を計算したい数値が3の場合には、「3*2*1=6」という計算になります。

kaijyou関数の中で入力された数値から1を引きながら1になるまで数値をかけていけば、階乗の処理は完了です。