再帰呼出し again 再帰呼出し ある関数の本体に、その関数自身の呼出しを含む事 「その関数の『一度』の呼出し」で「その関数の呼出しが」が『何度』も呼び出される可能性が生じる 注意 : 安易に「再帰呼出し」を記述すると、「無限ループ」になる 「再帰呼出しを『終了』させる」仕組を「意図的に導入」する必要がある 「条件分岐」が必須 再帰句 : P は、停止条件、A は繰り返す命令、X' は X から計算され、『何時か』 P(X)が成立する 記述形式 : f(X) { if ( P(X) ) {} else { A(X); f(X'); } 意味 : f(X) を呼ぶと、P(X''..')が成立するまで A(X) を繰り返す ポイント : 「A(X) を繰り返す」ために「f() を再帰で定義」する 再帰関数 再帰呼出しを行う形で定義された関数 繰返し : 同じ命令(記述)を何度も呼び出す仕組 再帰呼出しを利用する事により、「繰返し」が実現できる 再帰関数は、「何らかの繰返し」を実現している