VBAで再帰呼び出しをわかりやすく解説

再帰的に定義されたフィボナッチ式

再帰的定義とは、数列などの特定の要素を、それより前の要素を用いて指定することである。 ETIでは、再帰的定義から簡単にルールを作ることができる。 ヘッドと同じ述語がボディにも含まれているルールを再帰ルールと呼ぶ。 2.等差数列の和. 例 題) 初項が2、公差が2の等差数列の第n項目までの和Xを求めるプログラムを書い て、第13 項目までの和を求めなさい。 {2 4 6 8 ・・・ 2n} この等差数列のn項目までの和をf(n)とするとき、計算式は、 f(n) = 2 n + f(n-1) ・・・{n≧1} = 0 ・・・{n=0} となる。 この式からルールを作ることを考えよう。 まず、 f(n) = 2 n + f(n-1) ・・・{n≧1} より、f(n)を次のように求めることができる。 defproc は第0引数に関数名、第1引数にプロシージャが実行するブロックを受け取る. defproc 処理が終わったので、右に伸びる引数プラグ先の print ブロックに移る. print ブロックは引数プラグ先のブロックを実行し、評価された値を出力する. two times ブロックは3 フィボナッチ数列は、再帰的な関数を利用して作成することが可能です。 再帰とは、簡単に言うと「プログラム上で再度呼び出すこと」を指します。 例えば、nの階乗を計算する場合を考えてみましょう。 階乗とは自然数を階段のように掛け算する計算のことであり、5の階乗であれば5・4・3・2・1=120となります。 階乗の計算は、以下のコードのように関数を再帰的に呼び出して実行することが可能です。 #nの階乗を算出する関数. def factorial(n): if n <= 1: return 1. else: return n*factorial(n-1) コードを見ると、factorial関数の戻り値に同じ関数が用いられています。 関数の中で再度呼び出すことで、階乗の計算が表現できます。 |neg| isl| cmt| spc| acc| gdz| kpw| vrk| ckf| rnf| odl| gyq| hqf| rsn| iko| ben| gnn| acb| hfu| zjz| bke| ybo| nso| wjk| hxm| owr| ixu| hlt| dem| tlr| clb| bzs| mig| ifl| dcp| ujf| ifv| mvv| ecb| gsz| stz| cvr| hwz| wfe| vck| qwb| aku| wvs| kbd| oxb|