Skip to main content.
-->
March 13th, 2005

Solution to SICP Exercise 1.1

Structure and Interpretation of Computer Programs

This morning I began my third attempt at reading the programming classic Structure and Interpretation of Computer Programs, otherwise known as SICP. My earlier attempts stalled for various reasons, but this time I hope to get through the entire book. As an incentive to finish, I’m publicly promising to post my solutions to all the exercises in the book on this blog, starting with Exercise 1.1:

>10
10

>(+ 5 3 4)
12

>(- 9 1)
8

>(/ 6 2)
3

>(+ (* 2 4) (- 4 6))
6

>(define a 3)

>(define b (+ a 1))

>(+ a b (* a b))
19

>(= a b)
#f

>(if (and (> b a) (< b (* a b))) b a)
4

>(cond ((= a 4) 6)
       ((= b 4) (+ 6 7 a))
       (else 25))
16

>(+ 2 (if (> b a) b a))
6

>(* (cond ((> a b) a)
          ((< a b) b)
          (else -1))
    (+ a 1))
16

Posted by Ken Dyck in Programming

No Comments »

This entry was posted on Sunday, March 13th, 2005 at 10:48 am and is filed under Programming. You can follow any responses to this entry through the comments RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>