Упражнение из SICP (2).
[code=scheme][code] (define (sqrt-iter guess x) (if (good-enough? guess x) guess (sqrt-iter (improve guess x) x)) (define (improve guess x) (average guess (/ x guess))) (define (average x y) (/ (+ x y) 2 (define (good-enough? guess x) (< (abs (- (square guess) x)) 0.001)) (define (sqrt x) (sqrt-iter 1.0 x)) (define (square x) (* x x)) [/code]
Так вот, что мне смущает. [code=scheme][code](if (good-enough? guess x) guess (sqrt-iter (improve guess x) x))[/code]
Разве не идёт всё в порядке (if [предикат] [следствие] [альтернатива])?
Так где тут следствие, а где альтернатива? Я завис и не могу понять это уже очень долго.