1.30¶
; The sum procedure above generates a linear recursion. ; The procedure can be rewritten so that the sum is ; performed iteratively. Show how to do this by filling ; in the missing expressions in the following definition: ; ; (define (sum term a next b) ; (define (iter a result) ; (if ⟨??⟩ ; ⟨??⟩ ; (iter ⟨??⟩ ⟨??⟩))) ; (iter ⟨??⟩ ⟨??⟩)) (define (sum term a next b) (define (iter a result) (if (> a b) result (iter (next a) (+ result (term a))))) (iter a 0)) (define (pi-sum a b) (define (pi-term x) (/ 1.0 (* x (+ x 2)))) (define (pi-next x) (+ x 4)) (sum pi-term a pi-next b)) (* 8 (pi-sum 1 1000)) ;Value: 3.139592655589782