問題2.12 – SICP(計算機プログラムの構造と解釈)その32

問題2.12

中央値とパーセント相対許容誤差で表す数を扱うプログラム

(define (make-center-percent c p)
  (let ((w (* c (/ p 100))))
       (make-interval (- c w) (+ c w))))

(define (center i)
  (/ (+ (lower-bound i) (upper-bound i)) 2.0))

(define (percent i)
  (* (/ (- (center i) (lower-bound i)) (center i)) 100.0))

(define small (make-center-percent (center (make-interval 2 4)) (percent (make-interval 2 4))))
(define large (make-center-percent (center (make-interval 9 15)) (percent (make-interval 9 15))))

(add-interval small large)
gosh> (11.0 . 19.0)
(mul-interval small large)
gosh> (18.0 . 60.0)
(div-interval small large)
gosh> (0.13333333333333333 . 0.4444444444444444)
(sub-interval small large)
gosh> (5.0 . 13.0)
計算機プログラムの構造と解釈
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
«
»