练习1.6
应用序会对
(define (sqrt-iter guess x)
(new-if (good-enough guess x)
guess
(sqrt-iter (improve guess x) x)))
的new-if中的else-clause(即(sqrt-iter (improve guess x) x))进行展开,而sqrt-iter使用了递归,因此将进入死循环
练习1.7
在被求值的数很小或很大时,因为变化程度很小会导致程序进入死循环
修改后的程序如下:
- (define (square x)
- (* x x))
- (define (myabs x)
- (if (< x 0) (- x) x))
- (define (good-enough oguess nguess)
- (< (/ (myabs (- (square oguess) (square nguess))) (square oguess)) 0.001))
- (define (average x y)
- (/ (+ x y) 2))
- (define (improve guess x)
- (average guess (/ x guess)))
- (define (sqrt-iter oguess nguess x)
- (if (good-enough oguess nguess)
- nguess
- (sqrt-iter nguess (improve nguess x) x)))
- (define (sqrt x)
- (sqrt-iter x 1.0 x))
练习1.8
- (define (square x) (* x x))
- (define (cube x) (* x x x))
- (define (myabs x)
- (if (< x 0) (- x) x))
- (define (good-enough oguess nguess)
- (< (/ (myabs (- (cube oguess) (cube nguess))) (cube oguess)) 0.001))
- (define (improve guess x)
- (/ (+ (/ x (square guess)) (* 2 guess)) 3))
- (define (cube-root-iter oguess nguess x)
- (if (good-enough oguess nguess)
- nguess
- (cube-root-iter nguess (cube-improve nguess x) x)))
- (define (cube-root x)
分享到:
相关推荐
sicp-py-zh:【译】UCB CS61a SICP Python
sicp备忘录 包含 SICP 每个部分的注释和答案。 请参考那些正在学习SICP的人。 笔记 如果你想在 gauch 中使用随机函数 ...顺便说一下,在学习 SICP 时,我使用了一个名为Petite Chez Scheme的处理系统。
UCB CS61a SICP Python 描述 原文: 译者: 协议: 前面是山,我们就爬山;前面是海,我们就渡海;前面是皇宫,我们就开炮!——《龙族前传》 下载 Docker docker pull apachecn0/sicp-py-zh docker run -tid -p ...
资源名称:sicp 和 操作系统:精髓与设计原理第七版资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
NUS CS1101s SICP JavaScript 描述原文:协议:如果你交给某人一个程序,你将折磨他一整天;如果你教某人如何编写程序,你将折磨他一辈子。——David Leinweber贡献指南本项目需要校对,欢迎大家提交 Pull Request。...
在SICP上进行试用-> WASM编译演示:SICP如何将机器代码注册为WASM 为阶乘翻译LISP代码(define (factorial n) (define (iter product counter) (if (> counter n) product (iter (* counter product) (+ counter 1)))...
1-1-7 ::例子:牛顿法求平方根 1-1-8 ::过程作为黑盒抽象 1-2-1 ::线性递归和迭代 1-2-2 ::树递归 1-2-3 ::增长顺序 1-2-4 ::求幂 1-2-5 ::最大公约数 1-2-6 ::示例:测试素数 1-3-1 ::过程作为参数 1-3-2...
sicp 和 操作系统:精髓与设计原理第七版 文档打包。
最终目标是完全支持SICP指令集,然后使用此编译器将Scheme编译为Z80,或直接将Scheme编写为Z80。 无论哪种方式,该项目对我来说也意味着可以在TI-84(不是最好的语言)上探索Z80装配中的编程。特征显示字符串和数字...
sicp视频中的例子和自己的尝试 环境检查方案9.5
干燥剂 SCIP,但在Clojure中。 检查./resources文件夹中不同章节的笔记本: 更多示例代码和练习解决方案位于./src文件夹中。
SICP研究组 一个研究计算机程序结构和解释(SICP)的研究小组
sicp_notes SICP笔记和练习 资源 笔记 使用第一版,最高为ex 1.24。 从ex 1.31开始切换到第二版。
SICP 使用的scheme解释器 以前叫DrScheme
sicp in python 中文版 sicp in python 中文版 sicp in python 中文版 !!!download>>>https://github.com/wizardforcel/sicp-py-zh
sicp in python 中文版 sicp in python 中文版 sicp in python 中文版 download : https://github.com/wizardforcel/sicp-py-zh
Learn_sicp 学习sicp的一些代码
SICP中文第二版SICP中文第二版SICP中文第二版SICP中文第二版SICP中文第二版
sicp 2.2.4节图形语言的racket程序包,配置路径,C:\Users\Administrator\AppData\Roaming\Racket