(define (iterative-improve good-enough? improve-guess)
(define (proc guess)
(if (good-enough? guess) guess
(proc (improve-guess guess))))
proc)
;sqrt
(define (average x y)
(/ (+ x y) 2.0))
(define (sqrt x)
((iterative-improve
(lambda (guess)
(< (abs (- (square guess) x)) 0.001))
(lambda (guess)
(average guess (/ x guess)))) x))
;fixed-point
(define tolerance 0.00001)
(define (fixed-point f first-guess)
((iterative-improve
(lambda (guess)
(< (abs (- guess (f guess))) tolerance))
(lambda (guess) (f guess))) first-guess))
Wednesday, June 3, 2009
Ex-1.46
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment