sinの近似と増加量の計算
(define (cube x) (* x x x)) (define (p x) (- (* 3 x) (* 4 (cube x)))) (define (sine angle) (if (not (> (abs angle) 0.1)) angle (p (sine (/ angle 3.0)))))
a. (sine 12.5) の評価で、手続きpは何回作用させられたか?
5回
(define (p x) (display "1") (- (* 3 x) (* 4 (cube x))))
出力された'1'の数で作用回数が分かる。
計算でも求められる。
guile> (/ 12.5 3) 4.16666666666667 guile> (/ 4.16666666666667 3) 1.38888888888889 guile> (/ 1.38888888888889 3) 0.462962962962963 guile> (/ 0.462962962962963 3) 0.154320987654321 guile> (/ 0.154320987654321 3) 0.051440329218107
b. sine(a) のスペースとステップの増加の程度を求めよ
いまひとつ増加の程度の計算方法がピンときてないなあ。
ステップ : θ(log a)
スペース : θ(log a)