2.4 Lists and Trees
You must complete this assignment by yourself.
You must submit this in an archive named "lists.zip".
You must submit this in a file named "lists.ss".
Develop the following functions and datatypes in the Beginning Student language.
| (check-range1 temps) → boolean? |
| temps : (listof number?) |
Consumes a list of temperature measures and checks whether all measurements are between 5 and 95 degrees celsius (inclusively.)
Consumes a list of temperature measures and checks whether all measurements are between low and high degrees celsius (inclusively.)
Consumes a list of digits (numbers between 0 and 9) and produces the corresponding number.
The first digit is the least significant, and so on.
For example, (convert (cons 1 (cons 2 (cons 3 empty)))) should result in 321.
| (average-price prices) → number? |
| prices : (listof number?) |
Consumes a list of toy prices and computes the average price of a toy. The average is total of all prices divided by the number of toys.
Converts
a list of of Fahrenheit measurements to a list of Celsius measurements.
Eliminates from lotp all toys whose price is greater than ua.
Produces a list of a suffixes of l.
For example, (suffixes (list 'a 'b 'c 'd)) produces (list (list 'a 'b 'c 'd) (list 'b 'c 'd) (list 'c 'd) (list 'd) empty).
| (struct unknown ()) |
Represents an unknown ancestor.
| (struct person (name birthyear eyecolor father mother)) |
| name : string? |
| birthyear : number? |
| eyecolor : symbol? |
| father : (or/c unknown? person?) |
| mother : (or/c unknown? person?) |
Represents a person.
| (count-persons ftree) → number? |
| ftree : (or/c unknown? person?) |
Returns the number of people in a family tree.
| (average-age ftree) → number? |
| ftree : (or/c unknown? person?) |
Returns the average age of all the people in the family tree. (Assume it is the current year is 2009.)
Produces a list of all eye colors in family tree. (An eye color may occur more than once in the list.)
Hint. Use append.