This assignment gives you your first chance to write and use higher-order functions in Racket. Download the file homework03.rkt and use it as a template for your submission. Please use the name homework03.rkt for your file!
This file again requires the rackunit package for unit testing. The template file includes space for you to write your test cases.
You do not need any Racket features to solve these problems beyond things we have learned in class and things discussed in this assignment.In particular, do not use explicit recursion or looping in any function. Your solutions to Problems 3, 4, and 5 should use higher-order functions such as map and apply to do their jobs.
- Do not use a let expression in any function.
- Do not use an internal define in any function.
> (map + '(1 3) '(2 7)) ; computes (+ 1 2) and (+ 3 7) '(3 10)
> ((candy-temperature-at 5280) 302) 291.44 > (define temp-in-cf (candy-temperature-at 959)) > (temp-in-cf 240) ;; fudge! 238.082I have provided check-equal? expressions for these examples. Write at least two more check-equal? expressions to test your solution.
> ((in-range-of 0.1) 4.95 5.0) #t > ((in-range-of 0.1) 5.0 4.95) ;; works both ways #t > (define within-0.01? (in-range-of 0.01)) > (within-0.01? 4.95 5.0) ;; not anymore! #f > (within-0.01? 5.0 4.99) #tI have provided check-equal? expressions for these examples. You do not have to write any more tests for this problem.
( (76 . 195) (81 . 212) (79 . 225) (78 . 206) ... )We would like to know the average weight of the people in the group.
> (average-weight '((79 . 225))) 225.0 > (average-weight '((70 . 150) (62 . 100))) 125.0Assume that we have already written a variable-arity function named average. You may write other helper functions if you like, but you do not have to.
( (2 -7) (-4 -20) (7 8) (-13 2) ... )The first item in this list says that his program predicted Team 1 would win by 2 points, but Team 2 won by 7 points. For that game, his program was off by abs(2 - (-7)) == abs(9) == 9 points. The third item says that his program predicted that Team 1 would win by 7 points and that it won by 8 points, so his program was off by abs(7 - 8) == abs(-1) == 1 point. The list can contain any number of these pairs.
> (define example '((2 -7) (-4 -20) (7 8) (-13 2))) > (total-error example) 41I have provided a check-equal? expression for this example. Write at least three more check-equal? expressions to test your solution.
'(("Dept" "Number" "Section" "Class Nbr" "Capacity" "Enrollment") ("CS" "1000" "1" "11546" "30" "30") ("CS" "1025" "1" "11547" "30" "30") ("CS" "1120" "1" "11557" "30" "15") ("CS" "1130" "1" "11548" "30" "18") ... )The dean and provost frequently ask me for various summary data, such as total enrollments or remaining capacity.
> (define example '(...)) ; the data shown above > (max-open-seats example) 15CS 1120 has 30-15 = 15 open seats. The other classes have 0, 0, and 12 open seats each.
By the due time and date, submit electronically the following file:
Be sure that your submission follows the submission requirements.