Code Review

Compare your solutions

    #| BEGIN (Введите свое решение) |#
(define (abs a)
  (if (< a 0) (- a) a))

(define (avg a b)
  (/ (+ a b) 2))

(define (square x) 
  (* x x))

(define (fast-expt-iter b n)
  (define (iter b n a)
    (cond ((= n 0) 1)
          ((even? n)  (iter (square b) (/ n 2) a))
          (else (* b (iter b (- n 1) (* b a))))))
  (iter b n 1))

(define tolerance 0.00001)

(define (close-enough? a b)
  (< (abs (- a b)) tolerance))

(define (fixed-point f first-guess)
  (define (close-enough? v1 v2)
    (< (abs (- v1 v2)) tolerance))
  (define (try guess)
    (let ((next (f guess)))
      (if (close-enough? guess next)
        next
        (try next))))
  (try first-guess))

(define (average-damp f)
  (lambda (x) (avg x (f x))))

(define (compose f g)
  (lambda (x) (f (g x))))

(define (repeated f count)
  (if (= count 1)
      f
      (compose f (repeated f (- count 1)))))

(define (nth-root n)
  (lambda (x) (fixed-point 
                  ((repeated average-damp (- n 1)) (lambda (y) (/ x (fast-expt-iter y (- n 1))))) 
                  1.0)))
#| END |#
    #| BEGIN (Введите свое решение) |#
(define (abs a)
  (if (< a 0) (- a) a))

(define (avg a b)
  (/ (+ a b) 2))

(define (square x) 
  (* x x))

(define (fast-expt-iter b n)
  (define (iter b n a)
    (cond ((= n 0) 1)
          ((even? n)  (iter (square b) (/ n 2) a))
          (else (* b (iter b (- n 1) (* b a))))))
  (iter b n 1))

(define tolerance 0.00001)

(define (close-enough? a b)
  (< (abs (- a b)) tolerance))

(define (fixed-point f first-guess)
  (define (close-enough? v1 v2)
    (< (abs (- v1 v2)) tolerance))
  (define (try guess)
    (let ((next (f guess)))
      (if (close-enough? guess next)
        next
        (try next))))
  (try first-guess))

(define (average-damp f)
  (lambda (x) (avg x (f x))))

(define (compose f g)
  (lambda (x) (f (g x))))

(define (repeated f count)
  (if (= count 1)
      f
      (compose f (repeated f (- count 1)))))

(define (nth-root n)
  (lambda (x) (fixed-point 
                  ((repeated average-damp (- n 1)) (lambda (y) (/ x (fast-expt-iter y (- n 1))))) 
                  1.0)))
#| END |#
    #| BEGIN (Введите свое решение) |#
(define (abs a)
  (if (< a 0) (- a) a))

(define (avg a b)
  (/ (+ a b) 2))

(define (square x) 
  (* x x))

(define (fast-expt-iter b n)
  (define (iter b n a)
    (cond ((= n 0) 1)
          ((even? n)  (iter (square b) (/ n 2) a))
          (else (* b (iter b (- n 1) (* b a))))))
  (iter b n 1))

(define tolerance 0.00001)

(define (close-enough? a b)
  (< (abs (- a b)) tolerance))

(define (fixed-point f first-guess)
  (define (close-enough? v1 v2)
    (< (abs (- v1 v2)) tolerance))
  (define (try guess)
    (let ((next (f guess)))
      (if (close-enough? guess next)
        next
        (try next))))
  (try first-guess))

(define (average-damp f)
  (lambda (x) (avg x (f x))))

(define (compose f g)
  (lambda (x) (f (g x))))

(define (repeated f count)
  (if (= count 1)
      f
      (compose f (repeated f (- count 1)))))

(define (nth-root n)
  (lambda (x) (fixed-point 
                  ((repeated average-damp (- n 1)) (lambda (y) (/ x (fast-expt-iter y (- n 1))))) 
                  1.0)))
#| END |#
    #| BEGIN (Введите свое решение) |#
(define (abs a)
  (if (< a 0) (- a) a))

(define (avg a b)
  (/ (+ a b) 2))

(define (square x) 
  (* x x))

(define (fast-expt-iter b n)
  (define (iter b n a)
    (cond ((= n 0) 1)
          ((even? n)  (iter (square b) (/ n 2) a))
          (else (* b (iter b (- n 1) (* b a))))))
  (iter b n 1))

(define tolerance 0.00001)

(define (close-enough? a b)
  (< (abs (- a b)) tolerance))

(define (fixed-point f first-guess)
  (define (close-enough? v1 v2)
    (< (abs (- v1 v2)) tolerance))
  (define (try guess)
    (let ((next (f guess)))
      (if (close-enough? guess next)
        next
        (try next))))
  (try first-guess))

(define (average-damp f)
  (lambda (x) (avg x (f x))))

(define (compose f g)
  (lambda (x) (f (g x))))

(define (repeated f count)
  (if (= count 1)
      f
      (compose f (repeated f (- count 1)))))

(define (nth-root n)
  (lambda (x) (fixed-point 
                  ((repeated average-damp (- n 1)) (lambda (y) (/ x (fast-expt-iter y (- n 1))))) 
                  1.0)))
#| END |#