SICP 1.01-1.05

来源:互联网 发布:淘宝代销店铺发货地址 编辑:程序博客网 时间:2024/06/06 00:27

习题1.1

10=> 10(+ 5 3 4) => 12(- 9 1) => 8(/ 6 2) => 3(+ (* 2 4) (- 4 6)) => 6 (define a 3)a=> 3(define b (+ a 1)) b=> 4(+ 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

习题1.2

(/ (+ 5      4      (- 2         (- 3            (+ 6               (/ 4 5)))))   (* 3      (- 6 2)      (- 2 7)))=> -37/150

习题1.3

;方法1(define (sum-bigger-two-num1 n1 n2 n3)        (- (+ n1 n2 n3)           (min n1 n2 n3)));方法2(define (sum-bigger-two-num2 n1 n2 n3)        (define (little x y)                (if (< x y) x y))        (- (+ n1 n2 n3)           (little n1                  (little n2 n3))))

习题1.4

(define (a-plus-abs-b a b)  ((if (< b 0) - +) a b))

习题1.5

(define (p) (p))(define (test x y)  (if (= x 0)      0      y))(test 0 (p));正则序 完全展开而后规约(test 0 (p))(if (= 0 0)    0    (p))=> 0;应用序 先求参数值而后应用(test 0 (p))(test 0 (p))(test 0 (p))...
0 0
原创粉丝点击