I wrote this lisp program to implement Newton's method about calculate square root
To calculate a number's square root.Newton method two argus
1.the number self 'x'
2.a guess value 'g'
All code are under here:
(define zero_error "zero is not recommend to guess")
(define (ab x)
(if (< x 0)
(- x)
x))
(define (good-enough? g x)
(if (< (ab (- g (/ x g))) 0.00001)
true
false
)
)
(define (improve g x) (/ (+ g (/ x g)) 2) )
(define (sqrt-iter g x)
(if (= g 0)
zero_error
(if (good-enough? (ab g) x)
g
(sqrt-iter (improve (ab g) x) x)
)
)
)
(sqrt-iter -1 2)
(sqrt-iter 1 3)
(sqrt-iter 0 5)
To calculate a number's square root.Newton method two argus
1.the number self 'x'
2.a guess value 'g'
All code are under here:
(define zero_error "zero is not recommend to guess")
(define (ab x)
(if (< x 0)
(- x)
x))
(define (good-enough? g x)
(if (< (ab (- g (/ x g))) 0.00001)
true
false
)
)
(define (improve g x) (/ (+ g (/ x g)) 2) )
(define (sqrt-iter g x)
(if (= g 0)
zero_error
(if (good-enough? (ab g) x)
g
(sqrt-iter (improve (ab g) x) x)
)
)
)
(sqrt-iter -1 2)
(sqrt-iter 1 3)
(sqrt-iter 0 5)