练习1.1这道题主要是关于简单的数字运算,我们看完之后可以在MIT-Scheme中进行验算。如果环境不熟悉,可以参见【Scheme归纳】的第一篇博文。如果发现在MIT-Scheme等环境上的运算结果和自己算的不一样,也应该再仔细看看在书写代码的时候有没有手误。练习1.2这是一道将表达式转换成前缀形式...
分类:
其他好文 时间:
2015-02-05 13:26:36
阅读次数:
122
如果对前面的内容理解透彻了,看到这个表达式就知道直接将y换成guess即可。博主写的函数如下:(define (improve guess x) (/(+ (* guess guess)) (* 2 guess)) 3))但是如果中写到这里就认为完成了那就错了,如果还是用书中的good-enough...
分类:
其他好文 时间:
2015-02-05 13:22:48
阅读次数:
117
练习1.6这道题通过由一个新版本的if来引出,主要讨论的还是应用序和正则序的问题。我看到“将if提供为一种特殊形式”时还满头雾水,并不太清楚什么特殊形式。当再返回看if的语法时才发现,这在第12页if的一般表达式下面一段。如果得到真值,解释器就去求值并返回其值。注意,在此处已经返回其值了,并没有进行...
分类:
其他好文 时间:
2015-02-05 13:22:04
阅读次数:
116
练习1.7这道题回应了第15页所说的good-enough?并不是一个很好的检测方法。我们首先来按照题目要求用4组最大或最小的数来检测原文中的good-enough?(sqrt-iter 1.0 0.00000081) 0.0009;Value: 0.3125863108711088(sqrt-it...
分类:
其他好文 时间:
2015-02-05 12:55:20
阅读次数:
148
最近在博客园做一些学习笔记。一个是看apple的swift官方书,另外一个是随学校课堂(SICP)学习scheme。 这两种语言都谈不上普及(或者说swift太新)。博客园原来的windows live writer代码高亮插件并不适用于这些语言。 于是我只好自己想办法。首先我找到了highligh...
分类:
编程语言 时间:
2015-01-27 09:14:08
阅读次数:
193
SICP 习题:
#lang scheme
( define ( variable? x )
( symbol? x ) )
( define ( same-variable? x y )
( and ( variable? x )
( variable? y )
( eq? x y ) ) )
( define ...
分类:
其他好文 时间:
2015-01-26 22:49:12
阅读次数:
156
通过Lambda表达式表示复合过程。 Code #lang racket(define(square x) (* x x));求和记法定义程序模式(define(sum term a next b) (if(> a b) 0 (+(term a) (sum term (next a) next...
分类:
其他好文 时间:
2015-01-23 20:01:20
阅读次数:
210
寻找素数因子要求用书中的smallest-divisor过程找出199, 1999, 19999的最小因子。Scheme Code:主要流程:定义寻找素数的过程如果2的平方即4,大于测试值,那么它肯定是素数如果n能和2整除,那么不是素数,最小因子是2如果不是,回到过程find-div,再试试能不能与...
分类:
编程语言 时间:
2015-01-23 17:50:51
阅读次数:
228
总结了 SICP 第一章学到的与抽象相关的内容,通过简单函数及高阶函数的例子,介绍了对抽象的理解。...
分类:
其他好文 时间:
2015-01-20 22:16:22
阅读次数:
318
使用Scheme的对数迭代法:#lang racket;;N是偶数:b^n = (b^(n/2))^2(define (square x) (* x x));定义乘积函数(define (fast-expt b n);筛选 (expt-iter b n 1))(define (expt-iter ....
分类:
其他好文 时间:
2015-01-20 19:52:28
阅读次数:
130