(define(sum term a next b)(define(iter a result)(if(> a b)
result
(iter(next a)(+ result (term a)))))(iter a 0))
在练习1.29中应用
(define(cube x)(* x x x))(define(sum term a next b)(define(iter a result)(if(> a b)
result
(iter(next a)(+ result (term a)))))(iter a 0))(define(integral f a b dx)(define(add-dx x)(+ x dx))(*(sum f (+ a (/ dx 2.0)) add-dx b) dx))(newline)(display(integral cube 010.01))(define(even? x)(=(remainder x 2)0))(define(simpson f a b n)(define h (/(- b a) n))(define(new-f n1)(cond((or(= n10)(= n1 n))(f(+ a (* n1 h))))((even? n1)(*2(f(+ a (* n1 h)))))(else(*4(f(+ a (* n1 h)))))))(define(inc n)(+ n 1))(*(/ h 3)(sum new-f 0 inc n)))(newline)(display(simpson cube 01100))