You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sicp-all-tasks/sicp/1_002e15

75 lines
1.0 KiB

Exercise 1.15: The sine of an angle (specified
in radians) can be computed by making use of the approximation
sin
x
x
if
x
is sufficiently small, and the trigonometric
identity
sin
x
=
3
sin
x
3
4
sin
3
x
3
to reduce the size of the argument of sin. (For purposes of this
exercise an angle is considered “sufficiently small” if its magnitude is not
greater than 0.1 radians.) These ideas are incorporated in the following
procedures:
(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)))))
How many times is the procedure p applied when (sine 12.15) is
evaluated?
What is the order of growth in space and number of steps (as a function of
a
) used by the process generated by the sine procedure when
(sine a) is evaluated?