関数の再帰的定義 (2/2)


実行してみると?

では、実際に DrScheme に与えて動かしてみましょう。 definition window(上部) に以下のプログラムを与え、 STEP 機能を使ってみましょう。 使えない場合は、 Beginnerモードになっている事を確認して下さい。

(define (fact n)
    (if (> n 1)
	(* n (fact (- n 1)))
	1))

(fact 5)
(fact 5) が評価され、 簡約されていく様子を見ることができます。

実際にこのプログラムの場合、 再帰的に fact を呼び出していくことで、 (fact 5)が計算されます。

といった感じです。

この当りは、逐次プログラミングとあまり変わりません。


99.9.29/ Tomio KAMADA: kamada@cs.kobe-u.ac.jp