lt;计算机程序的构造和解释gt;第二版中文参考答案.pdfVIP

lt;计算机程序的构造和解释gt;第二版中文参考答案.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
lt;计算机程序的构造和解释gt;第二版中文参考答案,建筑构造与识图第二版,ltgt,gtlt大于小于,ltbrgt,ltgteq,jquerygtlt,ltpgt,thinkphpgtlt,shellltgt

第一章:构造过程抽象 心智的活动, 除了尽力产生各种简单的认识之外,主要表现在如下三个方面: 1)将若干简单的认识组合为一个复合认识, 由此产生出各种复杂的知识. 2)将两个认识放在一起对照,不管它们如何简单或者复杂,在这样做时并不将它们合二为一. 由此得到有关它们的相互关系的认识. 3)将有关认识与那些在实际中和它们所同在的有关其它认识隔离开,这就是抽象,所有具有普 遍性的认识都是这样得到的. John Locke 有关人类理解的随笔 1690 这一章是开篇,主要介绍的是 Scheme 语言的部分语法,并且通过使用简单的语法去达到一些 不那么简单的数学问题. 注意:在第三章以前都不会用到赋值,所以并没有大家习惯中的循环,更多地通过递归来实 现. 练习: 1.1 略 1.2 略 1.3 CODEBOX (define (max a b c) (if ( a b) (if ( a c) a c) (if ( b c) b c))) 1.4 这题为读者模糊地提供了一个高阶函数的概念,还有过程和数据的统一结合. 1.5 本题的知识点是正则序和应用序的区别. 考虑 (define (p) (p)) 一旦(p)被求值,这个程序就会死掉. 在正则序中,对函数的求值是这样的: 先展开到只剩基本过程,再对其中需要求值的部分进行求值. 在应用序中,函数的求值会先对每一个参数进行求值,然后把参数的值代入函数 体中. 所以,如果对(test 0 (p))使用应用序,那么(p)就会被求值,然后死循环. 如果是正则序,那么先展开,之后做if条件判断,然后求值 0 ,因为(p) 没有需要, 所以没有求值,可以正确返回. 1.6 本题和1.5 的关注点是相同的.如果使用new-if 的话,它的三个参数都会被求值 (注意,Scheme 默认工作在应用序下).而它的第三个参数会对自己进行递归调用. 所以会死循环. 1.7 原始的good-enough?是检测两次的差的方式.对于很大的数,它的差可能根本无 法精确到good-enough?要求的精度.而对于很小的数,可能它发生了相对于自己 来说很大的改变,但是却比good-enough?要求的来得小. 用比率的方法写good-enough?是可以的,但是要注意除以0 这个问题. 1.8 略 1.2 节: 它 开始讲解递归和迭代之异同(大魔王有言迭代者为人,递归者为神).实际上, 迭代是递归的一种特殊情况,既f(x) = f(x),且f(x)比f(x)规模更小之时,递 归可以化为迭代.递归的空间是线性增长的,而迭代始终为常数.这节主要掌握的 是:函数的递归和迭代两 种写法,还有对程序的分析. 1.9 第一个是递归的. 第二个是迭代的. 1.10 略... 1.11 CODEBOX (define (f n) (if ( n 3) n (+ (f (- n 1)) (* 2 (f (- n 2))) (* 3 (f (- n 3)))))) (define (f2 n) (f2-iter 2 1 0 n)) (define (f2-iter a b c count) (if (= count 0) c (f2-iter (+ a (* 2 b) (* 3 c)) a b (- count 1)))) ;f是递归的,f2 是迭代的,其中用到了f2-iter 1.12 CODEBOX (define (combination x y) (cond ((= x y) 1) ((= y 0) 1) (else (+ (combination (- x 1) (- y 1)) (combination (- x 1) y))))) 1.13 先证明Fib(n) = (a^n + b^n) / sqrt(5); 其中 a = (1 + sqrt(5)) / 2 b = (1 - sqrt(5)) / 2 可以使用归纳法,当然也可以通过解特征根方程解出来...似乎还可以用幂级 数?(等等我去复习下离散数学) 然后发现|b / sqrt(5)| 0.5,所以命题得证. 1.14 空间线性增长 步数是指数级的.因为其本质是一个线性递归方程. 1.15 SICP 这种细节题也很有意思. a) 5 次. 我是用这个程序算的... CODEBOX (define (f x) (if ( (abs

文档评论(0)

tianma2015 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档