[英]SICP Exercise 1.8 - Why doesn't my function terminate?
我正在嘗試為立方根實現牛頓法,但我的函數似乎掛起。 我的代碼與書中顯示的求平方根的代碼幾乎完全相同,只是對improve函數進行了適當的修改。 這是我的代碼...(define (cube-root x) (cube-root-iter 1.0 x)) (define (cube-root- ...
[英]SICP Exercise 1.8 - Why doesn't my function terminate?
我正在嘗試為立方根實現牛頓法,但我的函數似乎掛起。 我的代碼與書中顯示的求平方根的代碼幾乎完全相同,只是對improve函數進行了適當的修改。 這是我的代碼...(define (cube-root x) (cube-root-iter 1.0 x)) (define (cube-root- ...
[英]Why are <e> inside if and cond designed to be handled differently in Scheme?
if和cond之間的一個小區別是cond cond子句的 cond 的表達式部分可能是一系列表達式。 -- SICP 我想知道為什么方案語言的設計者將 if 和 cond 的表達方式不同。 這樣設計的目的是什么? ...
[英]Getting an wrong answer in scheme program
我正在嘗試使用牛頓法找到數字的立方根。 我寫的方案程序如下:(define (cbrt x) (cbrt-iter 1.0 x)) (define (cbrt-iter guess x) (if (good-enough? guess x) guess (cbrt-iter (im ...
[英]SICP Exercise 1.19 PQ transformation
T(p,q)根據a <-- bq + aq + ap和b <-- bp + aq變換(a,b)對。 有人可以解釋這種轉換是如何工作的嗎? ...
[英]Can we improve upon this primes sieve code from SICP
最近的問答條目展示了以下使用惰性流從 SICP 生成代碼的素數: 那里的答案表明,除其他可能性外, primes與以下內容等價: 似乎這里的過濾器流太多了——例如 7 是通過將輸入數字過濾為 2、3 和 5 產生的,而它實際上只需要單獨通過 2 進行測試——只有 9 以上的數字才需要真正測試除以 3 ...
[英]Need help to understand some of the SICP streams examples
我試圖了解這個 function 是如何工作的。 簡單地說,我使用 stream 生成從 2 開始的所有整數,並且根據本書,它過濾 stream 的 rest 的 Z65E8800B5C6800A62AFCZ 如何在不實際讀取所有整數的情況下過濾所有不能被當前元素整除的整數? ...
[英]SICP Streams (Scheme) - CDR into the implicit stream of ones
(define ones (cons-stream 1 ones)) (stream-cdr ones) 返回評估 1 的無限序列 - 即我得到;Value: #0={1 1 1 1 1 1 1等等... - 不是我期望的符號{1 1...} ... 另一方面,如果我在其中定義ints和cdr , ...
[英]Exercise 1.3 SICP why doesn't it work with 'when'?
我使用何時編碼我的答案,為什么它不起作用? 評論顯示了它不起作用的參數。 ...
[英]SICP exercise 1.15 Is operands evaluated prior to operators?
你可以在這里看到問題 使用的代碼是 所以我理解代碼在做什么,但我有一個關於 a 部分的問題。 當計算 (sine 12.15) 時,過程 p 應用了多少次? 我用谷歌搜索,大多數答案是這樣的: 我也明白答案在說什么,但我的問題是,為什么程序p沒有首先評估? 更具體地說,當解釋器到達第二行時, ...
[英]Apply function to arguments or Apply arguments to function
最近我在看書 SICP javascript。 ( https://sourceacademy.org/sicpjs/1.1.4 ) 在這本書(第 1.1.4 章)中,我有一個關於函數如何工作的問題。 函數表達式(參數表達式) 例如。 平方(2 + 5); 為了評估函數應用程序,解 ...
[英]Data-Directed Programming SICP
我一直在嘗試理解 SICP 中的數據導向編程,但到目前為止還不能。 我對此有一些疑問。 這是來自 SICP 的原始代碼: 首先,我不知道如何使用 make-from-real-imag 或 make-from-mag-ang 將條目放入表中 你能告訴我如何准確地調用這個程序來輸入一個條目嗎? ...
[英]Representing a queue as a procedure with local state
第 90 頁的第 2.1.3 節用一個非常清晰的例子解釋了語言中的一流函數使函數本身和數據從不同的角度來看是同一件事,或者,引用這本書: 將過程作為對象進行操作的能力自動提供了表示復合數據的能力。 在第 266 頁, 第 3.3.2 節中的練習 3.22 提出以下內容 我們可以將隊列 ...
[英]Improve debugging output of a recursive function
我有以下遞歸 function 來計算在給定各種硬幣面額的情況下可以返回零錢的方式的數量: function makeChange(amount, coins) { // Note: using Floats here will not work console.log(`Amount: ${a ...
[英]Regex to extract S expression?
我想知道是否可以使用單個正則表達式對 lisp 中的define表達式進行解析,例如使用以下輸入: 我想強調以下三個以define開頭的過程(沒有函數范圍的過程)。 我正在考慮的過程(如果我要迭代地進行)將是: 刪除評論。 用\(\s*define抓住定義的開始 使用平衡的括號直到完 ...
[英]How to step through this evaluation?
我想看看平方根的值是如何迭代改進的。 例如以下內容: 它獲取如下值: 作為我想要展示的示例,在 Javascript 中,我會做類似的事情: 我如何在 DrRacket/SICP 中打印或跟蹤這些中間值? 我嘗試做(trace sqrt)但它說找不到。 ...
[英]How to run DrRacket program from command line?
我有以下程序,通常從 DrRacket 中運行: 有沒有辦法直接將文件作為可執行文件運行,比如/path/to/racket/binary 1.scm ? 如果是這樣,我在哪里可以找到球拍的二進制文件(我在 Mac 上)。 ...
[英]SICP Exercise 2.5 - How to represent negative numbers?
我目前正在閱讀 SICP,並在練習 2.5: 練習 2.5。 .證明如果我們將a和b表示為乘積的整數,我們可以僅使用數字和算術運算來表示非負整數對。 給出過程cons 、 car和cdr的相應定義。 我找到了一個代碼: 我的問題是:如果需要將“非負整數”的要求更改為“接受負整數和非負 ...
[英]Is there a way to use for-each function in vectors as it is used in Lists in Scheme
在使用列表的方案中,可以輕松使用for-each 。 我在下面的代碼中使用了它。 output 是 我想對向量使用相同的類比,正在vector-for-each 這樣(vector-for-each display (vector "red" "orange")) 。 output 應該是"re ...
[英]Is there a way of summing two vectors with different lengths in Scheme?
我是 Scheme Lisp 方言的初學者,我正在嘗試實現一個 function sum-vector ,它將兩個數字向量作為 arguments 並返回一個向量,其中包含輸入向量的相應元素的總和。 我試過下面的代碼,但我不知道如何對兩個不同長度的向量求和。 這是我當前的代碼 當我運行上面的代碼時 ...
[英]SICP Exercise 1.16 ... what does "invariant quantity" hint mean?
我看到圍繞這個練習還有一些其他問題,但沒有人特別詢問提示中的含義......“定義 state 轉換,使產品ab n從 state 到狀態不變” 。 他們還提到,這種使用“不變量”的想法對於“迭代算法”來說是一個強大的想法。 順便說一句,這個問題需要設計一種空間復雜度為O(1)的“對數”指數算法。 ...