rendered paste body8.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