練習2.4
直接運用對比的技巧就可以猜測出相應的cdr表示如下:
(define (cdr z)
(z (lambda (p q) q)))
但我們還是要按照題中要求用代換模型來檢驗。先來檢驗car的。
(car (cons 0 1))
(car (lambda (m) (0 1)))
((lambda (z) (z (lambda (p q) p)))
(lambda (m) (0 1)))
((lambda (m) (0 1)) (lambda (p q) p))
((lambda (p q) p) 0 1)
0接下來是cdr的。
(cdr (cons 0 1))
(cdr (lambda (m) (0 1)))
((lambda (z) (z (lambda (p q) q)))
(lambda (m) (0 1)))
((lambda (m) (0 1)) (lambda (p q) q))
((lambda (p q) q) 0 1)
1大家可以在edwin中測試一下。
SICP練習 45 練習2 4
練習2.4 直接運用對比的技巧就可以猜測出相應的cdr表示如下 define cdr z z lambda p q q 但我們還是要按照題中要求用代換模型來檢驗。先來檢驗car的。car cons 0 1 car lambda m 0 1 lambda z z lambda p q p lambda...
SICP練習 7 練習1 11
這種題目太像是數學題目了,不過拿到程式設計上又有一些的難度。我們先根據題目中的條件,寫出類似於第 25頁最下面的變換規則。我們先列出如下內容 a f n 1 f 2 f 3 f 4 f 5 b f n 2 f 1 f 2 f 3 f 4 c f n 3 f 0 f 1 f 2 f 3 於是繼而得出下...
SICP練習 12 練習1 18
練習1.8 和前兩題一樣,依舊是只能用對數步數。而且這個迭代過程要基於加 加倍和折半運算。這乙個習題要用到前面的函式,因此最好的做法是,每次都將寫好的 儲存起來。load test1.18.scm 這行 可以用來載入 而儲存可以用c x,c w。以下是該題的 這次我們寫成塊結構 define x y...