加载中
【SICP练习】45 练习2.4

 练习2.4 直接运用对比的技巧就可以猜测出相应的cdr表示如下: (define (cdr z) (z (lambda (p q) q))) 但我们还是要按照题中要求用代换模型来检验。先来检验car的。 (car (cons 0 1)) (...

2015/09/08 21:51
2
【SICP练习】28 练习1.34

 练习1.34 这道题我一开始不用Edwin的时候觉得是会陷入无限循环之中。后来在Edwin上试了一下才发现会报错,输出如下: (f f) ;The object 2 is notapplicable. ;To continue, call RESTA...

2015/09/08 21:45
2
【SICP练习】37 练习1.42

 练习1.42 这道题让我彻底爱上了lambda。 复合这一概念早在数学中便已经学过了,我们先来根据题目的意思写出能够平方和能够加一这两个过程。可能是因为我看书不认真吧,写了很多次才完成...

2015/09/08 21:48
0
【SICP练习】38 练习1.43

 练习1.43 我不想一开始就将结果贴出啦,而是通过叙述自己的思考来完成这篇博客。上一题中我在纸上写下“传入2个过程并返回1个过程”,事实证明挺有效的,于是这次我也依旧这么做了。 re...

2015/09/08 21:47
8
【SICP练习】47 练习2.6

练习2.6 如果这道题还没有做的请务必要先自己思考并检验。如果没有能够求出来,也可以在看完我推导的one之后自己再来推导two。 一开始我也不懂题目中的两个式子是什么意思,甚至连怎么用都不...

2015/09/08 21:47
2
【SICP练习】27 练习1.33

 练习1.33 题目第二行描述,只组合起由给定范围得到的项里的那些满足特定条件的项,因此我们需要在这一版本的accumulate中添加一个need-filter?,这个新的谓词可以用来传递下面就要用到的...

【SICP练习】40 练习1.45

 练习1.45 如果看到前面的文章,应该知道我喜欢将某个变量n先设成一个固定的数比如3、4什么的。这里我们依旧如此,先来看看如何写出开四次方根的过程。这道题的目的旨在让我们好好回顾前...

2015/09/08 21:46
1
【SICP练习】62 练习2.33

 练习2.33 既然要用到accumulate,那么我们先来回顾一下这个函数好了。其有三个参数,一个操作符,一个用来作为初始化的值,一个是需要运算的序列。题目中的map已有的定义如下: (defin...

2015/09/08 21:47
0
【SICP练习】39 练习1.44

 练习1.44 相信如果大家认真做了前面的几道习题,这一题就比较简单了。smooth过程几乎可以直接写出: (define smooth (lambda (f) (lambda (x) (/ (+ (f (- x dx)) (f x) (f (+ x dx))) ...

2015/09/08 21:45
1
【SICP练习】150 练习4.6

练习4-6 原文 Exercise 4.6. Let expressions are derived expressions, because (let (( ) … ( )) ) is equivalent to ((lambda ( … ) ) ) Implement a syntactic transformation let->co...

【Scheme归纳】4 高阶函数

高阶函数的介绍 高阶函数的英文名称是Higher Order Function,它们是以函数为参数的函数。主要用于映射(mapping)、过滤(filtering)、归档(folding)和排序(sorting)表。高阶函数让程序...

2015/09/08 21:47
14
【SICP练习】25 练习1.31

 练习1.31 题目中已经说的很清楚了,product用来返回在给定范围中各点的某个函数值的乘积。我们惊奇的发现这和前面的sum有着很大的相似,无非是将加法换成了乘法: (define (product ter...

2015/09/08 21:47
3
【SICP练习】70 练习2.41

 练习2.41 这道题其实就是书中素数示例的变种,其本质是一样的。因此我们也按照同样的次序来完成这个过程。首先第一步,我们来完成生成3个相异整数构成的三元组。但在上一题中我们已经写...

2015/09/08 21:47
2
【SICP练习】69 练习2.40

 练习2.40 这道题要我们写一个传入一个整数n然后返回一个序对(i, j)的过程unique-pairs,然后用于上一页的prime-sum-pairs的定义。此时我们要注意在prime-sum-pairs中哪一段代码表达的是...

2015/09/08 21:51
0
【SICP练习】107 练习3.8

练习3-8 原文 Exercise 3.8. When we defined the evaluation model in section 1.1.3, we said that the first step in evaluating an expression is to evaluate its subexpressions. But ...

【SICP练习】79 练习2.51

 练习 2.51 通过书中前面的内容,我们知道below中来将框架分成上下两部分,而beside将框架分成左右两部分。因此,below定义如下: (define (below painter1 painter2) (let ((split-poi...

2015/09/08 21:52
1
【SICP练习】64 练习2.35

 练习2.35 这道题中已经给定了accumulate和map,根据accumulate的参数可以很容易的知道题目中的2处需要我们补充的:(accumulate + 0 (map ...... 因为我们是要累加所有的树叶,这里就需要...

2015/09/08 21:47
10
【SICP练习】63 练习2.34

 练习2.34 书中一开始有2个式子,一个是原式,一个根据Horner规则构造出的式子。而我们同样也可以将待求得式子写成这种方式,而且可以更进一步——那就是写成Lisp的前序表示: (+ 1 (* ...

2015/09/08 21:49
1
【SICP练习】68 练习2.39

 练习2.39 通过前一习题的类比相信已经知道了fold-left和fold-right的内在意义,本题中要求的逆序数可以用cons来构造。具体为,先将list的第一个元素取出用(cons (car list) ‘() )构造,...

2015/09/08 21:47
1
【SICP练习】35 练习1.40

 练习1.40 首先根据公式x^3+ax^2+bx+c写出相应的cubic过程,它的返回值是一个接受参数x的过程: (define (cubic a b c) (lambda (x) (+ (cube x) (* a (square x)) (* b x) c))) (newto...

2015/09/08 21:45
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部