Код Ревью

Сравни свои решения

    #| BEGIN (Write your solution here) |#
;iterative-improve
(define (iterative-improve good-enough? improve)
  (lambda (first-guess)
    (define (try guess)
      (let ((next (improve guess)))
        (if (good-enough? guess next)
            guess
            (try next))))
    (try first-guess)))
#| END |#
    #| BEGIN (Write your solution here) |#
;iterative-improve
(define (iterative-improve good-enough? improve)
  (lambda (first-guess)
    (define (try guess)
      (let ((next (improve guess)))
        (if (good-enough? guess next)
            guess
            (try next))))
    (try first-guess)))

;fixed-point
(define tolerance 0.00001)

(define (fixed-point f first-guess)
  (define (close-enough? v1 v2)
    (< (abs (- v1 v2)) 
       tolerance))
  (define (impore guess)
    (f guess))
  ((iterative-improve close-enough? impore) first-guess))

;sqrt 
(define (sqrt-iter first-guess x)
  (define (good-enough? guess next)
    (< (abs (- guess next)) 0.001))
  (define (improve guess)
    (average guess (/ x guess)))
  ((iterative-improve good-enough? improve) first-guess))
  
(define (average x y) 
  (/ (+ x y) 2))
#| END |#
    #| BEGIN (Write your solution here) |#
;iterative-improve
(define (iterative-improve good-enough? improve)
  (lambda (first-guess)
    (define (try guess)
      (let ((next (improve guess)))
        (if (good-enough? guess next)
            guess
            (try next))))
    (try first-guess)))
#| END |#
    #| BEGIN (Write your solution here) |#
;iterative-improve
(define (iterative-improve good-enough? improve)
  (lambda (first-guess)
    (define (try guess)
      (let ((next (improve guess)))
        (if (good-enough? guess next)
            guess
            (try next))))
    (try first-guess)))

;fixed-point
(define tolerance 0.00001)

(define (fixed-point f first-guess)
  (define (close-enough? v1 v2)
    (< (abs (- v1 v2)) 
       tolerance))
  (define (impore guess)
    (f guess))
  ((iterative-improve close-enough? impore) first-guess))

;sqrt 
(define (sqrt-iter first-guess x)
  (define (good-enough? guess next)
    (< (abs (- guess next)) 0.001))
  (define (improve guess)
    (average guess (/ x guess)))
  ((iterative-improve good-enough? improve) first-guess))
  
(define (average x y) 
  (/ (+ x y) 2))
#| END |#