반응형
연습문제1.8
(define (cuberoot-iter guess x)
(if (good-enough? guess x)
guess
(cuberoot-iter (improve guess x)
x)))
(define (improve guess x)
(/ (+ (* 2 guess guess guess) x) (* 3 guess guess) ))
(define (good-enough? guess x)
(< (abs (- (* guess guess guess) x)) 0.001))
(define (cuberoot x)
(cuberoot-iter 1.0 x))
연습문제1.9
위
(+ 4 5)
(inc (+ (dec 4) 5))
(inc (+ 3 5))
(inc (inc (+ (dec 3) 5)))
(inc (inc (+ 2 5)))
(inc (inc (inc (+ (dec 2) 5))))
(inc (inc (inc (+ 1 5))))
(inc (inc (inc (inc (+ (dec 1) 5)))))
(inc (inc (inc (inc (+ 0 5)))))
(inc (inc (inc (inc (5)))))
(inc (inc (inc (6))))
(inc (inc (7)))
(inc (8))
(9)
아래
(+ 4 5)
(+ (dec 4) (inc 5))
(+ 3 6)
(+ (dec 3) (inc 6))
(+ 2 7)
(+ (dec 2) (inc 7))
(+ 1 8)
(+ (dec 1) (inc 8))
(+ 0 9)
(9)
위 프로시저의 프로세스는 되돌고, 아래 프로시저의 프로세스는 반복한다.
(define (cuberoot-iter guess x)
(if (good-enough? guess x)
guess
(cuberoot-iter (improve guess x)
x)))
(define (improve guess x)
(/ (+ (* 2 guess guess guess) x) (* 3 guess guess) ))
(define (good-enough? guess x)
(< (abs (- (* guess guess guess) x)) 0.001))
(define (cuberoot x)
(cuberoot-iter 1.0 x))
연습문제1.9
위
(+ 4 5)
(inc (+ (dec 4) 5))
(inc (+ 3 5))
(inc (inc (+ (dec 3) 5)))
(inc (inc (+ 2 5)))
(inc (inc (inc (+ (dec 2) 5))))
(inc (inc (inc (+ 1 5))))
(inc (inc (inc (inc (+ (dec 1) 5)))))
(inc (inc (inc (inc (+ 0 5)))))
(inc (inc (inc (inc (5)))))
(inc (inc (inc (6))))
(inc (inc (7)))
(inc (8))
(9)
아래
(+ 4 5)
(+ (dec 4) (inc 5))
(+ 3 6)
(+ (dec 3) (inc 6))
(+ 2 7)
(+ (dec 2) (inc 7))
(+ 1 8)
(+ (dec 1) (inc 8))
(+ 0 9)
(9)
위 프로시저의 프로세스는 되돌고, 아래 프로시저의 프로세스는 반복한다.
반응형