;; Student 1 name ;; Student 2 name ;; Data Models and Examples of Data ;; A boa is a (make-boa symbol number symbol) (define-struct boa (name length eats)) (make-boa 'Slinky 30 'pets) (make-boa 'Slim 20 'mice) ;; A dillo is a (make-dillo number boolean) (define-struct dillo (length dead?)) (make-dillo 15 true) (make-dillo 12 false) ;; An animal is either ;; - a boa, or ;; - a dillo ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; portable? : animal number -> boolean ;; determine whether animal shorter than given length (define (portable? an-ani len) (cond [(boa? an-ani) (>= len (boa-length an-ani))] [(dillo? an-ani) (>= len (dillo-length an-ani))])) ;; Test Cases (check-expect (portable? (make-boa 'Slinky 30 'pets) 15) false) (check-expect (portable? (make-boa 'Slinky 30 'pets) 30) true) (check-expect (portable? (make-dillo 15 true) 10) false) (check-expect (portable? (make-dillo 15 true) 20) true)