Structure and interpretation of computer programs
PDF 英文版本的书籍:https://github.com/penguiner/sicp-pdf
中文翻译过来自行搜索吧,一大把
不过这里给出中文版的勘误. 译者很有责任心!
http://www.math.pku.edu.cn/teachers/q...
分类:
其他好文 时间:
2014-12-12 19:09:49
阅读次数:
156
题目要求是,修改练习2.18所做的reverse过程,得到一个deep-reverse过程。它以一个表为参数,返回另一个表作为值,结果表中的元素反转过来,其中的子树也反转。例如:(define x (list (list 1 2) (list 3 4)))x((1 2) (3 4))(reverse...
分类:
其他好文 时间:
2014-12-10 17:45:27
阅读次数:
131
来自练习2.18请定义出过程reverse,它以一个表为参数,返回的表中所包含的元素与参数表相同,但排列顺序与参数表相反:(reverse (list 1 4 9 16 25))(25 16 9 4 1) 有几个难点:0、不能采用(cons (reverse (cdr lst) ) (car ls....
分类:
其他好文 时间:
2014-12-10 12:16:44
阅读次数:
150
首先,让我们来看几个内建函数(cons x y),作用是把x和y绑定成一个序对(car z),作用是提取z序对的第一个元素(cdr z),作用是提取z序对的第二个元素容易看出,这个东西有点类似OO语言里的类,car和cdr是get方法,x和y是成员变量。但是,但是!函数式的编程方式,居然可以利用过程...
分类:
其他好文 时间:
2014-12-09 12:07:25
阅读次数:
185
scheme解释器有两种实现方式,一种是应用序,先对每个参数求值,再以首过程对所有求得的参数求值。第二种是正则序,会“完全展开然后归约”(书中原文)SICP中的练习1.5,让我困惑了一下。原题如下:Ben Bitdiddle发明了一种检测方法,能够确定解释器究竟采用何种序求值,是采用应用序,还是采用...
分类:
其他好文 时间:
2014-12-06 15:13:47
阅读次数:
143
杂类:在线LaTeX公式编辑器题解:SICP结题集 byhuangzSICP学习笔记和习题解答 by Kevlin
分类:
Web程序 时间:
2014-12-04 19:46:15
阅读次数:
149
2.2.2层次性结构计算叶节点(leaves tree) = (leaves (car tree)) + (leaves (cdr tree)),(leaves leave) = 1;; 计算tree中叶节点数量(define (leaves tree) (cond ((null? tree) 0....
分类:
其他好文 时间:
2014-12-03 13:57:09
阅读次数:
187
SICP一直有,但没看。偶然的机会在YouTube上看到了MIT新版的教学视频,一下子就来了兴趣。现在的SICP是用Python来教学的,但是SICP第二版里面使用的还是Scheme。所以在学习的时候不知道选哪个版本好。原书不看又不行,新版的教学资源也是非常丰富,Python也是必学的课程。所以还是...
分类:
其他好文 时间:
2014-12-01 22:20:44
阅读次数:
186
想在技术的道路上走得远,必须有扎实的计算机基础。下面按照学习的先后顺序给出一些推荐的好书:编程语言《C程序设计语言》、离散数学《离散数学及其应用》、数据结构《数据结构与算法分析 C语言实现》、组成原理《深入理解计算机系统》(CSAPP)、操作系统《现代操作系统》、编译原理《编译原理》(龙书)、软件工程《计算机程序的构造和解释》(SICP)...
分类:
其他好文 时间:
2014-11-25 14:33:26
阅读次数:
263
SICP 习题 2.13 又像是一道数学证明题,和编程关系不大,不过这不能阻挡我们去完成它。题目要求我们证明,当误差百分比很小的时候,可以使用一个简单的公式,根据被乘区间的误差去计算乘积的误差。同时,为了简化问题,题目允许我们只计算所有数为正的情况,因为涉及到负数时,乘积的正负变化比较多样,不容易统一处理。我看到题目后最直接的反应不是去证明它,而是通过程序去找到这个简单的公式,典型的程序员心理。要...
分类:
其他好文 时间:
2014-11-23 16:01:04
阅读次数:
216