Exercise 2.18. Define a procedure reverse that takes a list as argument and returns a list of the same elements in reverse order: (reverse (list 1 4 9 16 25)) (25 16 9 4 1) SOLUTION The code and tests are here .
Exercise 1.45. We saw in section 1.3.3 that attempting to compute square roots by naively finding a fixed point of y x / y does not converge, and that this can be fixed by average damping. The same method works for finding cube roots as fixed points of the average-damped y x / y 2 . Unfortunately, the process does not work for fourth roots -- a single average damp is not enough to make a fixed-point search for y x / y 3 converge. On the other hand, if we average damp twice (i.e., use the average damp of the average damp of y x / y 3 ) the fixed-point search does converge. Do some experiments to determine how many average damps are required to compute n th roots as a fixed-point search based upon repeated average damping of y x / y n -1 . Use this to implement a simple procedure for computing n th roots using fixed-point , averag...
Exercise 2.35. Redefine count-leaves from section 2.2.2 as an accumulation: (define (count-leaves t) (accumulate < ?? > < ?? > (map < ?? > < ?? >))) SOLUTION The code and tests are here .
Comments
Post a Comment