Код Ревью
Сравни свои решения
#| 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 |#