8.4.1 3. Evaluate the following expression step by step: (cond [(= 2 0) false] [(> 2 1)(symbol=? 'a 'a)] [else (= (/ 1 2) 9)]) ==> (cond [false false] [(> 2 1)(symbol=? 'a 'a)] [else (= (/ 1 2) 9)]) ==> (cond [(> 2 1)(symbol=? 'a 'a)] [else (= (/ 1 2) 9)]) ==> (cond [true (symbol=? 'a 'a)] [else (= (/ 1 2) 9)]) ==> (cond [(symbol=? 'a 'a)] [else (= (/ 1 2) 9)]) ==> (cond [true] [else (= (/ 1 2) 9)]) ==> All definitions successfully evaluated. 8.4.2 3. Evaluate the following expressions step by step: ;; f: number number -> number (define (f x y) (+ (* 3 x)(* y y))) (f (f 1 (* 2 3)) 19) ==> (f (f 1 6) 19) ==> (f (+ (* 3 1)(* 6 6)) 19) ==> (f (+ 3 (* 6 6)) 19) ==> (f (+ 3 36) 19) ==> (f 39 19) ==> (+ (* 3 39)(* 19 19)) ==> (+ 117 361) ==> 478 ==> All definitions successfully evaluated. 8.8.3 2. Evaluate the following expressions step by step: (define-struct ball (x y speed-x speed-y)) (ball-speed-y (make-ball (+ 1 2)(+ 3 3) 2 3)) ==> (ball-speed-y (make-ball 3 (+ 3 3) 2 3)) ==> (ball-speed-y (make-ball 3 6 2 3)) ==> 3 ==> All definitions successfully evaluated. Evaluate program completely in a step-by-step fashion: (define n 6) (define m 2) (and (= n (* (+ 1 m) m)) (not (= 0 (- n 6))) (= 10 (/ 2 (- m 2)))) ==> (and (= 6 (* (+ 1 m) m)) (not (= 0 (- n 6))) (= 10 (/ 2 (- m 2)))) ==> (and (= 6 (* (+ 1 2) m)) (not (= 0 (- n 6))) (= 10 (/ 2 (- m 2)))) ==> (and (= 6 (* 3 m)) (not (= 0 (- n 6))) (= 10 (/ 2 (- m 2)))) ==> (and (= 6 (* 3 2)) (not (= 0 (- n 6))) (= 10 (/ 2 (- m 2)))) ==> (and (= 6 6) (not (= 0 (- n 6))) (= 10 (/ 2 (- m 2)))) ==> (and (true) (not (= 0 (- n 6))) (= 10 (/ 2 (- m 2)))) ==> (and (true) (not (= 0 (- 6 6))) (= 10 (/ 2 (- m 2)))) ==> (and (true) (not (= 0 0)) (= 10 (/ 2 (- m 2)))) ==> (and (true) (not true) (= 10 (/ 2 (- m 2)))) ==> (and (true) (false) (= 10 (/ 2 (- m 2)))) ==> false