好久没更新blog了,上个星期高烧39度,上医院滴瓶,吃了3天药,烧是退下来了,人的精神也散了。天气越来越热,老婆在公司又受了委屈就叫她辞了职,昨天晚上又被拉过去喝了好多酒,哎,现在头昏脑胀的,不,是这两个星期都过的乱七八糟的,过去的生活节奏都被打乱了。工作没法专心,书也读不下去,身体感觉累的慌,天气又热的让人受不了,这两天上班办公室的空调又坏了,我是边扇着风边写着这篇blog。是需要好好调整下身体和精神状态了,今天下了八段锦的视频,过去上学时经常练,自从出了校门就没怎么锻炼了,要调整还是先从身体开始;sicp也要继续看了,习题也要继续做;欧洲联赛都收官了 ...
- 03:33
- 浏览 (344)
- 评论 (0)
昨天晚上读了2.1节,今天开始做下习题,这节相当有趣,数据抽象的概念解释的很清晰。习题2.1,make-rat能正确地处理正负数,加几个判断条件即可:
(define (make-rate n d) (let ((g (gcd n d))) (cond ((or (and (negative? n) (positive? d)) (and ( ...
- 03:57
- 浏览 (458)
- 评论 (0)
读的是wl95421的《wicket开发指南-简体中文版》,我之前没有接触过Tapestry,据说wicket借鉴了很多Tapestry的特性并做了相当的简化。上手几个demo后,感觉跟C/S的开发有点像,特别是类似delphi的组件型开发方式。一个页面有一个Page和markup组成,Page继承WebPage负责页面的输出,而markup文件描述界面,真正做到了html页面与java代码的分离,对网页编辑工具友好。wicket是通过在html中添加id来实现分离,比如:
<label wicket:id="name">这里输出名字 ...
- 08:16
- 浏览 (693)
- 评论 (0)
第一章两天前就读完了,因为工作上的事情拖到现在才来做最后这七道题,这些题目都是要求写一个过程返回另一个过程作为结果。习题1.40,显而易见,要求cubic过程返回的就是方程本身,照着定义来就行了:
(define (cubic a b c) (lambda(x) (+ (* x x x) (* a x x) (* b x) c)))
习题1.41,注意到了题目已经说明 ...
- 07:58
- 浏览 (375)
- 评论 (0)
JavaOne放出来的新东西,出来也有段时间了,看了论坛和blog上的讨论,叫好、不看好的各占一半。今天就去https://openjfx.dev.java.net/ 下载了netbean插件,按照getting startted做了一些例子。总体来说,JavaFx仍然是在awt/swing的基础上的包装,只不过用一层薄薄的性感语法包装了一把,而且这语法与javascript等脚本语言基本一致,特别是声明性的编程语法与json非常相似。据sun声称要退出一个消费者版本的jre,大概5M-9M大小,消息参见《桌面java的缺陷:面向消费者的jre》,这个恐怕 ...
- 03:05
- 浏览 (458)
- 评论 (0)
搞定了工作,继续做习题:) 题1.37:无穷连分式的过程描述,我发现这道题用迭代比递归反而更容易写出来,递归不是那么显而易见。递归版本:
(define (cont-frace n d k) (if (= k 1) (/ (n 1) (d 1)) (/& ...
- 03:34
- 浏览 (417)
- 评论 (0)
本节内容介绍了将高阶过程用于一般性过程,举了两个例子:区间折半查找方程根和找出函数不动点。习题也是围绕这两个问题展开。今天工作上遇到了比较郁闷的事情,这周末确定要加班,心情实在糟糕!-_-,先做两题吧,有空再继续。习题1.35,证明黄金分割率φ是变换x->x+1/x的不动点,并利用这个事实通过过程fixed-point计算出φ
值。这道题目很简单了,根据黄金分割的定义,φ满足方程:φ的平方=φ+1;两边同除以φ,得到方程:φ=φ+1/φ。根据函数不动点定义f(x ...
- 10:44
- 浏览 (351)
- 评论 (0)
此题与1.32、1.33是一个系列题,没什么难度,只不过把sum的加改成乘就可以了,递归与迭代版本相应修改即可:
;(define (product term a next b); (if (> a b); 1; (* (term a) (product term  ...
- 07:10
- 浏览 (380)
- 评论 (0)
这节开始介绍将用高阶函数做抽象的技术,比如将过程作为参数、返回值等等。习题1.30要求将书中的sum递归过程改造为迭代版本,解答如下:
(define (sum-iter a term b next result) (if (> a b) result (sum-iter (nex ...
- 03:57
- 浏览 (408)
- 评论 (0)
这一题不是我独立想出来的咯,比较遗憾,没有认真读书中的注解,通过google解决的,一搜索才发现网上已经有很多的scip习题的解答,我这个倒是画蛇添足了!-_-。想一想还是有写下去的必要,尽管牛人多如牛毛,自己还是潜下心来一步一步向前。 来自http://dev.csdn.net/develop/article/64/64485.shtm
; ======================================================================;; Structure and ...
- 09:38
- 浏览 (426)
- 评论 (0)
这两道题目没什么难度了,幂运算是连续乘,乘法运算就是连续加,改造一下书中的例子和习题1.16就可以了,还是分析一下。习题1.17:已知两个过程,double过程可以求出一个整数的两倍,而halve过程将一个偶数除以2;要求写出一个过程,只用对数个步骤计算两个整数的乘积。解答:计算a*b,考虑两种情况:1)当b是偶数时:a*b=2(a*(b/2))2)当b是奇数时:a*b=a*(b-1)+a通过递归直接得到lisp过程,很好理解了,预先定义了两个已知过程double和halve:
(define (double x) (*&nb ...
- 02:04
- 浏览 (343)
- 评论 (0)
此题充分展示了如何将递归转化为迭代的技巧:定义一个不变量,要求它在迭代状态之间保持不变!题目如下:写一个过程求平方,并且只用对数个步骤。解答:考虑一个附加状态a,如何保持ab**n(b**n表示b的n次方)在状态改变间保持不变.1)当n是偶数:a(b2)n/2 = abn
bn = (bn/2)2 = (b2)n/2
在这个过程中回溯状态的迁移:
a ← a b ← b2 &nb ...
- 00:51
- 浏览 (329)
- 评论 (0)
本小节主要介绍了阶的概念,与算法中计算时间和空间复杂度类似。给了一个过程:
(define (cube x)(* x x x))(define (p x) (- (* 3 x) (* 4 (cube x))))(define (sine angle) (if (not&nbs ...
- 06:58
- 浏览 (312)
- 评论 (0)
这个小节主要讲解了迭代与树形递归,递归比起迭代更易于理解和直观,而迭代相比于递归则效率更高,一般计算机的递归实现都是使用堆栈结构实现的,当递归层次太深的时候容易导致栈溢出,而迭代则没有这样的问题。习题1.11是这样的: 如果n<3,那么f(n)=n;如果n>=3,那么f(n)=f(n-1)+2f(n-2)+3f(n-3),请写一个采用递归计算过程f的过程,再改写一个采用迭代计算过程计算f的过程。解答:1.采用递归的话就很简单了,可以将条件直接描述为一个lisp过程,没什么好解释的:
(define ...
- 06:57
- 浏览 (353)
- 评论 (0)
综合了习题1.6提出的误差过大问题,采用相对误差进行求值,题目是要求使用牛顿近似求立方根公式写出scheme过程:
(define (square x) (* x x))(define (divided_by_3 x y)(/ (+ x y) 3))(define (improve guess x) (divided ...
- 09:08
- 浏览 (385)
- 评论 (0)
这是《计算机程序的构造与解释》中的一道习题,如何去判断一个scheme解释器是采用什么方式进行求值的?应用序 or 正则序。应用序是先对参数求值而后应用,而正则序则相反——完全展开而后归约求值。正则序相比于应用序,会部分存在重复求值的情况。习题是这样的: Ben Bitdiddle发明了一种检测方法,能够确定解释器究竟采用的哪种序求值,是采用正则序,还是采用应用序,他定义了下面两个过程:
(define (p) (p))(define (test x&nbs ...
- 07:11
- 浏览 (311)
- 评论 (0)
我的留言簿
-
你好,看过你关于自定义classloader的回帖,想问问几个问题:
  ...
-- by llp20_2000
最近加入圈子
最新评论
-
Ruby Tip——读文件
花花公子 写道IO.read("test.log")嗯,这个方法我是知道的,我前 ...
-- by dennis_zane -
Ruby Tip——读文件
IO.read("test.log")
-- by 花花公子 -
一封邮件
咋我没收到呢....
-- by yangzhihuan -
漂亮的代码
说得比较深.看的时候,觉得句句都正中心坎.看完之后,好像没啥收获.还是要自己试过 ...
-- by yangzhihuan -
广州opensource camp小记
貌似你那件open source camp的T-shirt背后很多广告滴说.
-- by yangzhihuan







评论排行榜