Open Source WEB

##(link2sicp "book-Z-H-11.html#%_thm_1.9" "Exercise 1.9")

解答例

(define (+ a b)
  (if (= a 0)
      b
      (inc (+ (dec a) b))))

の場合

(+ 4 5)
==> (inc (+ (dec 4) 5))
==> (inc (inc (+ (dec 3) 5)))
==> (inc (inc (inc (+ (dec 2) 5))))
==> (inc (inc (inc (inc (+ (dec 1) 5)))))
==> (inc (inc (inc (inc 5))))
==> (inc (inc (inc 6)))
==> (inc (inc 7))
==> (inc 8)
==> 9

このプロセスは再帰的である。

(define (+ a b)
  (if (= a 0)
      b
      (+ (dec a) (inc b))))

の場合

(+ 4 5)
==> (+ 3 6)
==> (+ 2 7)
==> (+ 1 8)
==> (+ 0 9)
==> 9

このプロセスは反復的である。

コード

##(sicp-answer-code "ex-1.9.scm")

このサイトは、 IPA の「平成15年度オープンソフトウエア活用基盤整備事業」 の委託事業として開発されたKahuaで試験的に運用しております。

Copyright (c) 2004-2007 株式会社タイムインターメディア About Us