問題1.7

僕の解答

あんまり大きい/小さい数だと、2乗したときに精度外の値になるから…かな?
あたらしいsqrtはこんな感じ。

(define (average x y)
	(/ (+ x y) 2))

(define (improve guess x)
	(average guess (/ x guess)))

(define (good-enough? pre-guess guess)
	(< (abs (- pre-guess guess)) 0.001))

(define (sqrt-iter pre-guess guess x)
	(if (good-enough? pre-guess guess)
		guess
		(sqrt-iter guess (improve guess x)
			   x)))

(define (sqrt x)
	(sqrt-iter 0 1.0 x))

(display (sqrt 2))
(newline)

所感

last-〜のほうが正確な英語っぽい。
初期値は、やっぱりxなのかー。
変化の度合いは完全に間違い。地頭が悪いな…。