加载中
【音乐分享】Let Me Go

LET ME GO Breathe it in Hold my breath I don’t have the heart To live without it It’s my fault It’s your fault If you don’t give a damn Forget about it I won’t call it bad...

2015/09/08 21:48
24
【Scheme归纳】3 比较do, let, loop

对象的比较 eq? 这个函数用来比较2个对象的地址,如果相同的话就返回#t。在Scheme中真用#t表示,假则用#f。 例如,(eq? str str)返回#t,因为str本身的地址的是一样的,但是”scheme”和”s...

【SICP练习】152 练习4.8

练习4-8 原文 Exercise 4.8. “Named let” is a variant of let that has the form (let <var> <bindings> <body>) The and are just as in ordinary let, except that is bound within to ...

【SICP练习】151 练习4.7

练习4-7 原文 Exercise 4.7. Let* is similar to let, except that the bindings of the let variables are performed sequentially from left to right, and each binding is made in an en...

【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...

【SICP练习】44 练习2.3

 练习2.3 我们并不必急于写出点什么,先来回过头看看书吧。第56页说到了一种称为按愿望思维的强有力的综合策略。在这道题里,我们就可以假设已经写好了能够表示矩形的代码,以及能够求矩...

2015/09/08 21:49
16
【SICP练习】80 练习2.52

 练习2.52 在这道题上面的文字中就说到了用segments->painter提供线段表,这里的a小题的代码如下: (segments->painter (list(make-segment (make-vect 0.0 0.0) (make-vect 1.0 1.0)) (...

2015/09/08 21:50
1
【SICP练习】79 练习2.51

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

2015/09/08 21:52
1
【C++注意事项】6 Library string Type

Processing Every Character? Use Range-Based for If we want to do something to every character in a string, by far the best approach is to use a statement introduced by the new s...

【SICP练习】22 练习1.28

 练习1.28 这道题主要分为三个部分: 1、非平凡平方根,并添加到expmod函数中 2、类似于fermat-test的过程 3、通过已知的素数和非素数来检验 下面我们首先来写出能够在遇到非平凡平方根的...

2015/09/08 21:50
23
【SICP练习】42 练习2.1

 练习2.1 我们已经进入了新的一章,这本书还是蛮会循序渐进的嘛,第一题挺简单的。 (define(make-rat n d) (let ((g (gcd n d))) (if (< d 0) (cons (- (/ n g)) (- (/ d g))) (cons n ...

2015/09/08 21:48
2
【SICP练习】73 练习2.44

 练习2.44 这一小节的内容真是太抽象了。这道题就是要我们来类比前面的right-split函数了。 (define (up-split painter n) (if (= n 0) painter (let ((smaller (up-split painter (- n...

2015/09/08 21:51
1
【SICP练习】74 练习2.45

 练习2.45 我们先将right-split和up-split抽象出一个split来。 (define (split big-combinersmall-combiner) (lambda (painter n) (if (= n 0) painter (let ((smaller ((split big-comb...

2015/09/08 21:47
26
【SICP练习】43 练习2.2

 练习2.2 (define(make-segment start-point end-point) (cons start-point end-point)) (define(start-segment seg) (car seg)) (define(start-segment seg) (cdr seg)) (define(make-...

2015/09/08 21:47
0
【SICP练习】125 练习3.56

练习3-56 原文 Exercise 3.56. A famous problem, first raised by R. Hamming, is to enumerate, in ascending order with no repetitions, all positive integers with no prime factors ...

【SICP练习】145 练习4.1

练习4-1 原文 Exercise 4.1. Notice that we cannot tell whether the metacircular evaluator evaluates operands from left to right or from right to left. Its evaluation order is inh...

2015/09/08 21:48
1
【Scheme归纳】6 赋值

赋值 因为Scheme是函数式语言,通常来说,你可以编写不使用赋值的语句。然后如果使用赋值的话,有些算法就可以轻易实现了。尤其是内部状态和继续(continuations)需要赋值。 R5RS中规定的用...

2015/09/08 21:45
96
【SICP练习】16 练习1.22

 练习1.22 这道题中需要判断素数的部分书中都已经列出来了,但要求是要找出多个素数,因此我们要有一个能够不断求素数的函数。在C等语言中我们可以通过一个for循环来轻易地求出来,在Sch...

【SICP练习】41 练习1.46

 练习1.46 这道题要求我们写一个过程iterative-improve,其接受两个过程为参数,一个是判断检测是否足够好的good-enough?和另一个改进猜测的improve。其有一个猜测的数字作为参数,然后返...

2015/09/08 21:45
2
【SICP练习】71 练习2.42

 练习2.42 这道题曾经在C#中写过,但是写出来的代码却没有Lisp中的朴素。用了一大堆的数组和for循环。但是在这里,用car、cdr来构造就行了。 我们按书中给出的步骤来一步一步求解这个问题...

2015/09/08 21:51
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部