Wednesday, June 3, 2009

Ex-1.37

;a
(define (incf i) (+ i 1))
(define (cont-frac n d k)
(define (cont-frac-aux i)
(if (= i k)
(/ (n i) (d i))
(/ (n i) (+ (d i) (cont-frac-aux (incf i))))))
(cont-frac-aux 1))

;computing golden-ratio
(/ 1 (cont-frac (lambda (i) 1.0) (lambda (i) 1.0) 12))
;Value: 1.6180555555555558 :for k>=12 golden-ratio
;is accurate upto 4 decimal places

;b
(define (cont-frac n d k)
(define (cont-frac-iter i result)
(if (= i 0) result
(cont-frac-iter (- i 1) (/ (n i) (+ (d i) result)))))
(cont-frac-iter k 0))

No comments:

Post a Comment