Write recursive Dr Racket functions to do the following. The functions should wo
ID: 3821410 • Letter: W
Question
Write recursive Dr Racket functions to do the following. The functions should work on all types of lists( not just simple lists of atoms). Document (via direct Dr Racket screens/outputs) both your code and the results of running the test cases.
a) Count how many times an item (atom) appears on a list.
Minimum test cases:
(count 3 '(1 5 6 7 8 3 2 3 )) returns 2
(count dog '(cat bird cat dog frog)) returns 1
(count a '(a(a b ) (c (b c)) ((a))b) returns 3
(count 3 '(1)) returns 0
(count none '()) returns 0
b) Check if a list has duplicate values.
Minimum test cases:
(duplicates '(1 5 6 7 8 3 2 3 )) returns true
(duplicates '(cat bird pony dog frog)) returns false
(duplicates '(a(a b) (c(b c)) (a b)) returns true
(duplicates '((a) (a b) (c (b c))a b)) returns false
(duplicates '(1)) returns false
Explanation / Answer
Ans 1:
;; A list is
;;either empty
;; cons any list
b)
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.