(wat-aro)

無職から有職者にランクアップしました

SICP 問題1.29

(define (integral-simpson f a b n)
  (define h (/ (- b a) n))
  (define (y k) (f (+ a (* k h))))
  (define (next i) (+ i 1))
  (define (term i)
    (* (cond ((or (= i 0) (= i n)) 1)
             ((even? i) 2)
             (else 4))
       (y i)))
  (* (/ h 3.0)
     (sum term
          a
          next
          n)))
gosh> (integral-simpson cube 0 1 100)
0.25
gosh> (integral-simpson cube 0 1 1000)
0.25