;; Number 1: (define j (cons 'john 'lennon)) (define x j) (set-car! x 20) j --> (20 . lennon) ;; Number 2: (define j (cons 'john 'lennon)) (define x (car j)) (set! x 20) j --> (john . lennon) ;; Number 3: (define j (cons 'john 'lennon)) (define x j) (set! (car x) 20) j --> ??? ERROR!!!! ;; Number 4: (define j 'john) (define l 'lennon) (define (swap x y) (let ((temp x)) (set! x y) (set! y temp))) (swap j l) j --> 'john ;; Number 5 (define j (cons 'john 'lennon)) (define (change x) (set! x 20)) (change (car j)) j --> (john . lennon) ;; Number 6 (define j (cons 'john (cons 'lennon nil))) (def (change x) (let ((y (cadr x))) (set! y 20))) (change j) j --> (john lennon) ;; Number 7 (define j (cons 'john (cons 'lennon nil))) (define (change x) (let ((y (cdr x))) (set-car! y 20))) (change j) j --> (john 20) ;; Problem 8: (define j (cons 'john 'lennon)) (define a (cons j j)) (set-car! j 20) a --> ((20 . lennon) 20 . lennon) ;; Problem 9: (define l 'lennon) (define j (cons 'john l)) (set! l 20) j --> (john . lennon)