Code Review
Compare your solutions
(define (square x) (* x x))
(define (average x y)
(/ (+ x y) 2))
(define (ratio x y)
(/ x y))
(define (good-enough? guess previous-guess x)
(< (ratio (abs (- previous-guess guess)) guess) 0.00000001))
(define (improve guess x)
(average guess (/ x guess)))
(define (sqrt-iter guess previous-guess x)
(if (good-enough? guess previous-guess x)
guess
(sqrt-iter (improve guess x) guess x)))
(define (square-root x)
(sqrt-iter 1.0 0.0 x))
(square-root 120297024)
(square-root 9)
(square-root 4)
#| BEGIN (Введите свое решение) |#
(define (square x) (* x x))
(define (average x y)
(/ (+ x y) 2))
(define (improve guess x)
(average guess (/ x guess)))
(define (good-enough? guess prev-guess)
(<
(abs
(- 1 (/ guess prev-guess)))
0.000000001))
(define (sqrt-iter guess prev-guess x)
(if (good-enough? guess prev-guess)
guess
(sqrt-iter (improve guess x)
guess
x)))
(define (square-root x)
(sqrt-iter 1.0 0.0 x))
#| END |#
#| BEGIN (Введите свое решение) |#
(define (sqrt-iter prev-guess guess x)
(if (good-enough? guess prev-guess)
guess
(sqrt-iter guess (improve guess x) x)))
(define (improve guess x)
(average guess (/ x guess)))
(define (average x y)
(/ (+ x y) 2))
(define (good-enough? guess prev-guess)
(< (abs (- 1 (/ guess prev-guess))) 0.0000001))
(define (square x)
(* x x))
(define (square-root x)
(sqrt-iter 0.0 1.0 x))
#| END |#
(define (square x) (* x x))
(define (average x y)
(/ (+ x y) 2))
(define (ratio x y)
(/ x y))
(define (good-enough? guess previous-guess x)
(< (ratio (abs (- previous-guess guess)) guess) 0.00000001))
(define (improve guess x)
(average guess (/ x guess)))
(define (sqrt-iter guess previous-guess x)
(if (good-enough? guess previous-guess x)
guess
(sqrt-iter (improve guess x) guess x)))
(define (square-root x)
(sqrt-iter 1.0 0.0 x))
(square-root 120297024)
(square-root 9)
(square-root 4)
#| BEGIN (Введите свое решение) |#
(define (square x) (* x x))
(define (average x y)
(/ (+ x y) 2))
(define (improve guess x)
(average guess (/ x guess)))
(define (good-enough? guess prev-guess)
(<
(abs
(- 1 (/ guess prev-guess)))
0.000000001))
(define (sqrt-iter guess prev-guess x)
(if (good-enough? guess prev-guess)
guess
(sqrt-iter (improve guess x)
guess
x)))
(define (square-root x)
(sqrt-iter 1.0 0.0 x))
#| END |#
#| BEGIN (Введите свое решение) |#
(define (sqrt-iter prev-guess guess x)
(if (good-enough? guess prev-guess)
guess
(sqrt-iter guess (improve guess x) x)))
(define (improve guess x)
(average guess (/ x guess)))
(define (average x y)
(/ (+ x y) 2))
(define (good-enough? guess prev-guess)
(< (abs (- 1 (/ guess prev-guess))) 0.0000001))
(define (square x)
(* x x))
(define (square-root x)
(sqrt-iter 0.0 1.0 x))
#| END |#