??
练习1.46
这道题要求我们写一个过程iterative-improve,其接受两个过程为参数,一个是判断检测是否足够好的good-enough?和另一个改进猜测的improve。其有一个猜测的数字作为参数,然后返回的是一个过程。
我们先来写出这个iterative-improve过程。
(define (iterative-improveclose-enough? ...
分类:
其他好文 时间:
2015-02-17 22:26:49
阅读次数:
126
??
练习2.3
我们并不必急于写出点什么,先来回过头看看书吧。第56页说到了一种称为按愿望思维的强有力的综合策略。在这道题里,我们就可以假设已经写好了能够表示矩形的代码,以及能够求矩形长和宽的函数。
于是像先定义出add-rat一样,我们先定义出求矩形的周长和面机的函数。
(define(get-perimeter x)
(let ((length (rectang...
分类:
其他好文 时间:
2015-02-17 22:24:03
阅读次数:
191
??
练习1.39
没想到最后一道题如此简单,n和d的过程可以如下定义:
(define (n i)
(if (= i 1)
i
(- (* i i))))
(define (d i)
(- (* 2 i) 1))
这里我们就不再重复写成块结构了。
(define (tan-cf x k)
...
分类:
其他好文 时间:
2015-02-17 21:09:44
阅读次数:
167
??
练习1.38
我最喜欢做数学上的观察题了,这里也有一个Di,其依次为1,2,1,1,4,1,1,6,1,1,8……我最先看到的是除了一开始的2个之外,每三个数字的规律是前面是两个1,后面是个递增的偶数。于是我们便可轻而易举的写出这个函数了。
(define (d i)
(if (= (remainder (- i 2) 3) 0)
(* (...
分类:
其他好文 时间:
2015-02-17 21:09:38
阅读次数:
199
??
练习2.4
直接运用对比的技巧就可以猜测出相应的cdr表示如下:
(define (cdr z)
(z (lambda (p q) q)))
但我们还是要按照题中要求用代换模型来检验。先来检验car的。
(car (cons 0 1))
(car (lambda (m) (0 1)))
((lambda (z) (z (lambda (p...
分类:
其他好文 时间:
2015-02-17 21:06:55
阅读次数:
144
练习1.40(未看懂题目意思)
首先根据公式x^3+ax^2+bx+c写出相应的cubic过程,它的返回值是一个接受参数x的过程:
(define (cubic a b c)
(lambda (x)
(+ (cube x)
(* a (square x))...
分类:
其他好文 时间:
2015-02-17 21:06:37
阅读次数:
174
练习1.41
对于这道题一开始我的做法是在lambda内嵌套一个lambda,如下:
(define (double a)
(lambda (x)
(lambda (x)
(+ x 1))))
错误原因未知。
对于一个接受单个参数x的函数f来说,要将它应用多一次的办法是执行以下表达式:
(f (f a))...
分类:
其他好文 时间:
2015-02-17 21:06:27
阅读次数:
146
??
练习1.34
这道题我一开始不用Edwin的时候觉得是会陷入无限循环之中。后来在Edwin上试了一下才发现会报错,输出如下:
(f f)
;The object 2 is notapplicable.
;To continue, call RESTARTwith an option number:
;
(RESTART 2) => Specify a ...
分类:
其他好文 时间:
2015-02-07 14:35:11
阅读次数:
171
练习1.34这道题我一开始不用Edwin的时候觉得是会陷入无限循环之中。后来在Edwin上试了一下才发现会报错,输出如下:(f f);The object 2 is not applicable.;To continue, call RESTART with an option number:; (...
分类:
其他好文 时间:
2015-02-07 14:22:18
阅读次数:
183
练习1.29
这道题的数学气息比较浓厚。像变量h和函数y在书中已经有了定义,并且n是偶数。另外通过观察我们发现当k等于0或者n时,y的系数为1;当k为偶数时,y的系数为2;当k为奇数时(在函数中直接用else也可以),y的系数为4。根据书中前面的讲解,需要有一个term作用在a上,还要有一个next来产生下一个a值。下面我们依次来完成这5个部分。
(define h (/...
分类:
其他好文 时间:
2015-02-07 11:51:21
阅读次数:
96