問1

何も変数や関数を宣言していない最初の状態から始めた場合の、次の一連の入力列に対する Scheme の出力(またはエラー)を予測せよ。ただし、エラーが起こった場合は,dでプロンプトを戻してから続きをすること。次に、実際に確かめて、わかる範囲で解説せよ。

> (* (+ 2 4) (- 1 4 6))
> (/ 6 4)
> (/ 6.0 4.0)
> (+)
> (*)
> (and)
> (or)
> (define b (+ a 1))
> (define a 3)
> (define b (+ a 1))
> (define c (+ c 1))
> (= (+ a b) (* a b))
> (cond ((and (= a b) (< a b)) "1st")
        ((or  (= a b) (< a b)) "2nd")
        (else                  "3rd"))
> (define (f a)
    (define b (+ a 10))
    b)
> (f b)
> b
> (define (times4 n) (times2 (times2 n)))
> (define (times2 n) (+ n n))
> (times4 5)

一覧 前へ 次へ