[racket] HTDP Help -- 9.5.4
On Jul 13, 2011, at 1:08 PM, H Bakkum wrote:
> "Develop the function check-range1?, which consumes a list of
> temperature measurements (represented as numbers) and checks whether
> all measurements are between 5*C and 95*C."
> ...
> Everything works as it should, except when testing the program against
> an empty list...it returns true, naturally. However, logically I feel
> that an empty list should produce false, as it doesn't contain any
> temperatures between 5*C and 95*C.
The question wasn't "are there any temperatures between 5 and 95?", it was "are there NO temperatures OUTSIDE the range of 5 to 95?" Which is clearly true of the empty list: it has no temperatures at all, hence certainly none outside that range.
This is one of my favorite problems. A closely related problem is
"Develop the function multiply-all, which consumes a list of numbers and returns the result of multiplying them all together."
As with check-range1, the interesting question is "what's the right answer to the empty case?".
Stephen Bloch
sbloch at adelphi.edu