Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if
- (define (sqroot x)
- (sqrt-iter 1.0 x))
- (define (sqrt-iter guess x)
- (if (good-enough? guess x)
- guess
- (sqrt-iter (improve guess x)
- x)))
- (define (good-enough? guess x)
- (< (abs (- (square guess) x)) 0.001))
- (define (improve guess x)
- (average guess (/ x guess)))
- (define (average x y)
- (/ (+ x y) 2))
- (define (square x)
- (* x x))
- Example:
- 1) (sqroot 4)
- 2) (sqrt-iter 1 4)
- 3) (if (good-enough? 1 4)
- 1
- (sqrt-iter (improve 1 4)
- 4))
- 4) (good-enough? 1 4)
- (< (abs (- (square 1) 4)) 0.001))
- 5) (square 1)
- (* 1 1)
- Answer: 1
- 6) (< (abs (- 1 4)) 0.001))
- (< (abs -3) 0.001))
- (< 3 0.001))
- Answer: #false
- 7) (sqrt-iter (improve 1 4)
- 4)
- 8) (average 1 (/ 4 1)))
- 9) (/ 4 1)
- Answer: 4
- 10) (average 1 4))
- 11) (/ (+ 1 4)
- 2))
- 12) (+ 1 4)
- Answer: 5
- 13) (/ 5 2)
- Answer: 2.5
- 14) (sqrt-iter 2.5 4)
- 15) p.3 etc.
Add Comment
Please, Sign In to add comment