Exercise 1.1.

Below is a sequence of expressions. What is the result printed by the interpreter in response to each expression? Assume that the sequence is to be evaluated in the order in which it is presented.

10
(+ 5 3 4)
(- 9 1)
(/ 6 2)
(+ (* 2 4) (- 4 6))
(define a 3)
(define b (+ a 1))
(+ a b (* a b))
(= a b)
(if (and (> b a) (< b (* a b)))
    b
    a)
(cond ((= a 4) 6)
      ((= b 4) (+ 6 7 a))
      (else 25))
(+ 2 (if (> b a) b a))
(* (cond ((> a b) a)
         ((< a b) b)
         (else -1))
   (+ a 1))

Solution

N.B. you can check your answers by typing the expressions into an interpreter (if you are using one). Depending on the interpreter, the actual output may vary in some details (e.g. you may see ”#t” and ”#f” instead of “true” and “false”).

10
10
 
(+ 5 3 4)
12
 
(- 9 1)
8
 
(/ 6 2)
3
 
(+ (* 2 4) (- 4 6))
6
 
(define a 3)
a
 
(define b (+ a 1))
b
 
(+ a b (* a b))
19
 
(= a b)
false
 
(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
 
exercise_1.1.txt · Last modified: 2009/02/23 23:42 by 76.25.166.213
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki