自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 SICP 习题 (2.6) 解题总结:丘奇计数

SICP 习题 2.6 讲的是丘奇计数,是习题2.4 和 2.5的延续。 这里大师们想提醒我们思考的是“数”到底是什么,在计算机系统里可以如何实现“数”,准备好开始脑洞大开吧:题目先讲到下面的定义,首先是0的定义:(define zero (lambda (f) (lambda (x) x)))然后是操作+ 1的定义:(define (add-1 n) (lambda (f) (lambda

2014-09-29 00:33:09 5968 1

原创 SICP 习题 (2.5) 解题总结:复合数据的指数表示

SICP 习题 2.5 有点像是道数学题,首先要求我们证明可以将a和b的序对表示为2^a * 3^b,然后通过非负整数和算术运算表示序对。最后要求我们实现对应的cons, car 和cdr过程。这道题的根本就是复合数据的构成方式和解析方式。其实,对于所有复合数据来讲,我们都在处理同样一件事情,就是如何把复合数据的组成部分构建在一起,同时可以通过特定的方法将它们拆解出来。就好像我们要存放乒乓球和网球

2014-09-28 00:40:25 4691

原创 SICP 习题 (2.4) 解题总结:序对的过程性表示

SICP 习题 2.4 是一道很有意思的题目,它在一定程度上会改变你对数据结构的认识。按题目的说法,这里讲到的是“序对的过程性表示”。序对大家应该熟悉了,前面几道题都和序对有关系,那序对的“过程性表示”是什么意思呢?简单一点说就是用一种过程(或者说函数啦)来实现序对。在此之前,对于很多程序员来讲,数据是数据,过程是过程,两者是单独存在的,过程一般是用来访问数据的。像这里讲到的使用一个过程来实现数据

2014-09-26 00:59:36 3980

原创 SICP 习题 (2.3) 解题总结:用复合数据表示矩形

SICP 习题 2.3 要求我们实现一种平面矩形的表示,定义获取数据的相关选择函数。然后定义几个过程来计算矩形的周长和面积。接着题目还要求我们实现矩形的另一种表示方式,要求这个新的矩形表示方式同样适用于以上定义的周长和面积计算过程。有关这道题我们可以通过由上而下的方式进行实现,实现过程也不算复杂,原因是这道题涉及到的数学概念还是比较简单,就是矩形的面积和周长,差不多是我们小学的知识吧。不过题目后面

2014-09-24 00:16:46 3925

原创 SICP 习题 (2.2) 解题总结:用复合数据表示点和线段

SICP 习题 2.2要求我们使用这一节的数据抽象方法定义几何里“点”的概念,还要定义“线段”的概念,最后还要求我们定义midpoint-segment过程,这个过程根据参数中的线段进行计算,返回该线段的中点。题目还给出了一个print-point过程,用于输出一个点,代码如下:(define (print-piont p) (newline) (display "(") (displ

2014-09-23 00:10:16 3969

原创 SICP 习题 (2.1) 解题总结:用复合数据表示有理数

SICP 习题 2.1 要求我们做一个可以正确处理正数和负数的make-rat过程,用于生成一个有理数。条件是分母必须是正数。完成这道题本身比较简单,就是简单修改一下书中的make-rat过程就可以了。书中原本的make-rat过程如下:(define (make-rat n d) (cons n d))可以发现,原来的make-rat就是简单地将n和d组成一个序对,然后返回这个序对,并没有对

2014-09-22 00:16:40 4743

原创 SICP 习题 (1.46)解题总结:第一章的收官题

SICP 习题 1.46 要求我们写一个过程iterative-improve,它以两个过程为参数,其中一个参数用来检测猜测是否足够好,另一个参数用来改进猜测。过程iterative-improve应该返回另一个过程,所返回的过程接收一个参数作为初始猜测,然后不断改进猜测直到结果足够好。题目还要求我们使用iterative-improve重写1.1.7的sqrt过程和1.3.3节的fixed-po

2014-09-20 22:41:37 4234 1

原创 SICP 习题 (1.45)解题总结

SICP 习题 1.45是对前面很多关于不动点的习题的总结。题目回顾了我们之前在1.3.3节使用的不动点寻找方法,当寻找y -> x/y 的不动点的时候,这个变换本身不收敛,需要做一次平均阻尼才可以。对于y -> x/(y^2)这个变换也可以通过一次平均阻尼使它变得收敛。不过一次平均阻尼对于四次方程是不够的,就是说,对y -> x/(y^3)这样的变换,一次平均阻尼不足以使它收敛,需要做两次平均阻

2014-09-18 23:32:15 2757

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除