Code Review
Compare your solutions
#| BEGIN (Write your solution here) |#
(define (simpson f a b n)
(define h (/ (- b a) n))
(define (coeff k)
(cond ((= k 0) 1)
((= k n) 1)
((even? k) 2)
(else 4)))
(define (iter f a b k sum)
(if (<= k n)
(iter f
a
b
(+ k 1)
(+ sum
(*
(coeff k)
(f (+ a (* k h))))))
sum))
(* (/ h 3) (iter f a b 0 0)))
#| END |#
(define (simpson f a b n)
(define h (/ (- b a) n))
(define (coeff k)
(cond ((= k 0) 1)
((= k n) 1)
((even? k) 2)
(else 4)))
(define (iter f a b k sum)
(if (<= k n)
(iter f
a
b
(+ k 1)
(+ sum
(*
(coeff k)
(f (+ a (* k h))))))
sum))
(if (not (even? n))
(error "n should be even")
(* (/ h 3) (iter f a b 0 0.0))))
#| END |#
#| BEGIN (Write your solution here) |#
(define (simpson f a b n)
(define h (/ (- b a) n))
(define (coeff k)
(cond ((= k 0) 1)
((= k n) 1)
((even? k) 2)
(else 4)))
(define (iter f a b k sum)
(if (<= k n)
(iter f
a
b
(+ k 1)
(+ sum
(*
(coeff k)
(f (+ a (* k h))))))
sum))
(* (/ h 3) (iter f a b 0 0)))
#| END |#
(define (simpson f a b n)
(define h (/ (- b a) n))
(define (coeff k)
(cond ((= k 0) 1)
((= k n) 1)
((even? k) 2)
(else 4)))
(define (iter f a b k sum)
(if (<= k n)
(iter f
a
b
(+ k 1)
(+ sum
(*
(coeff k)
(f (+ a (* k h))))))
sum))
(if (not (even? n))
(error "n should be even")
(* (/ h 3) (iter f a b 0 0.0))))
#| END |#