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 |#