Код Ревью

Сравни свои решения

    #| BEGIN (Введите свое решение) |#
(define (even? n)
  (= (remainder n 2) 0))

(define (sum term a next b)
  (if (> a b)
    0
    (+ (term a)
       (sum term (next a) next b))))

(define (inc n) (+ n 1))

(define (simpson f a b n)
  (define h (/ (- b a) n))
  (define (add-h x) (+ x h))
  (define (get-coef k)
    (cond ((or (= k 0) (= k n)) 1.0)
          ((even? k) 2)
          (else 4)))
  (define (simpson-term k)
    (* (get-coef k) (f (+ a (* k h)))))
  (* (/ h 3) (sum simpson-term 0 inc n)))
#| END |#