平方根の値の計算

平叙文(数学)と命令文(プログラム)の確認問題
じょじょに値を近づけていく方法で平方根の値を算出している


(defun abs (x) (cond ((> x 0) x)
((= x 0) 0)
((< x 0) (- x))))
abs

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

(defun improve (guess x)
(average guess (/ x guess)))
improve

(defun square (x) (* x x))
square

(defun good-enough? (guess x)
(< (abs (- (square guess) x)) 0.001))
good-enough?

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

(sqrt-iter 1 2)
577/408