問題1.40、問題1.41 – SICP(計算機プログラムの構造と解釈)その21
2008年11月25日
問題1.40
(define tolerance 0.00001)
(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 dx 0.00001)
(define (deriv g)
(lambda (x)
(/ (- (g (+ x dx)) (g x))
dx)))
(define (newton-transform g)
(lambda (x)
(- x (/ (g x) ((deriv g) x)))))
(define (newtons-method g guess)
(fixed-point (newton-transform g) guess))
(define (cubic a b c)
(lambda (x) (+
(cube x)
(* a (square x))
(* b x)
c)))
(newtons-method (cubic 2 3 4) 1.0)
gosh> -1.6506291914330982
問題1.41
(define (double f)
(lambda (x) (f (f x))))
((double inc) 1)
gosh> 3
((double square) 2)
gosh> 16
(((double (double double)) inc) 5)
gosh> 21
計算機プログラムの構造と解釈
posted with amazlet at 08.11.07
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
ピアソンエデュケーション
売り上げランキング: 6542