My solutions to the scheme text "How to Design Programs 2nd ed". (Or htdp2e) I aim to complete as many as these as I can - please feel free to comment on my solutions/answers!
Tuesday, 6 March 2012
Exercise 157: On some occasions lists are formed with cons and list. Reformulate the following lists using cons and empty exclusively
Exercise 157: On some occasions lists are formed with cons and list. Reformulate the following lists using cons and empty exclusively
;(cons "a" (list 0 false))
;
;(list (cons 1 (cons 13 empty)))
;
;(cons (list 1 (list 13 empty)) empty)
;
;(list empty empty (cons 1 empty))
;
;(cons "a" (cons (list 1) (list false empty)))
This exercise was pretty straight forward. I just built up the lists from scratch only using cons.
;1 Reformulate: (cons "a" (list 0 false))
(check-expect (cons "a" (cons 0 (cons false empty)))
(cons "a" (list 0 false)))
;2 Reformulate: (list (cons 1 (cons 13 empty)))
(check-expect (list (cons 1 (cons 13 empty)))
(cons (cons 1 (cons 13 empty)) empty) )
;3 Reformulate (cons (list 1 (list 13 empty)) empty)
; this one is a little more interesting - we are making
; a list of empty lists - easy enough to do though with
; a (cons empty empty)
(check-expect (cons (list 1 (list 13 empty)) empty)
(cons (cons 1 (cons (cons 13
(cons empty empty)) empty)) empty))
;4 Reformulate: (list empty empty (cons 1 empty))
(check-expect (list empty empty (cons 1 empty))
(cons empty (cons empty (cons
(cons 1 empty) empty))))
;5 Reformulate: (cons "a" (cons (list 1) (list false empty)))
(check-expect (cons "a" (cons (list 1) (list false empty)))
(list "a" (list 1) false empty))
Labels:
htpd 157 scheme
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment