好久没更新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)
dennis_zane
搜索本博客
我的留言簿
  • 你好,看过你关于自定义classloader的回帖,想问问几个问题:   ...
    -- by llp20_2000
存档
最新评论