如果對前面的內容理解透徹了,看到這個表示式就知道直接將y換成
guess
即可。(define (improve guess x)
(/(+ (* guess guess)) (* 2 guess)) 3))
但是如果中寫到這裡就認為完成了那就錯了,如果還是用書中的
good-enough?
的話,那也應該將
guess
的平方變成立方。
在學習這一部分的過程中,我們可能要經常使用這些函式,而函式當然不用每次都去敲**的,可以在
edwin
中直接load
。具體操作在【
scheme
歸納】1
使用edwin
中有介紹。
我們繼續往後看,塊結構是將
improve
等函式巢狀進最終的
sqrt
,使用者只用理會
sqrt
即可。而且在大程式中也不用擔心
improve
有很多個而產生的同名衝突問題。
SICP練習 18 練習1 24
練習1.24 我們先將書中已給出的 寫入edwin中。define fermat test n define try it a expmod a n n a try it 1 random n 1 define fast prime?n times cond times 0 true fermat ...
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...