Lisp SICP的一个程序
来源:互联网 发布:c语言atan2函数 编辑:程序博客网 时间:2024/04/28 17:25
#lang racket(define (square x) (* x x))(define (good-enough? guess x) (< (abs (- (square guess) x)) 0.01))(good-enough? 0.11 0.01)(define (average x y) (/ (+ x y) 2))(define (improve guess x) (average guess (/ x guess)))(define (sqr guess x) (if (good-enough? guess x) guess (sqr (improve guess x) x)))(sqr 3 4)
关于平方开根的程序
#lang racket(define (pisum a b) (if (> a b) 0 (+ (/ (* a (+ a 2))) (pisum (+ a 1) b))))(pisum 9 11)
这是个求pi的LISP代码
Lisp中的lambda求值:
#lang racket(define (square x) (* x x))((lambda (x y z) (+ x y (square z))) 1 2 3)((lambda (x) (+ x 4)) 5)(define plus4 (lambda (x) (+ x 4)))(plus4 3)
看完以上例子基本上对Lisp的lambda求值有比较深刻的了解了。
#lang racket(define (sum term a next b) (if (> a b) 0 (+ (term a) (sum term (next a) next b))))(define (inc n) (+ n 1))(define (cube x) (* x x x) )(define (sum-cube a b) (sum cube a inc b))(sum-cube 1 10)
SICP上面的一个例子
#lang racket(define (plus4 a) (+ a 4))(define plus5 (lambda(x) (+ x 5)))(plus5 5)(plus4 6)
LISP的消息传递
#lang racket(define (make-amount balance) (define (withdraw amount) (if (>= balance amount) (begin (set! balance (- balance amount)) balance) "insufficient funds")) (define (deposit amount) (set! balance (+ balance amount))) (define (dispatch m) (cond ((eq? m 'withdraw) withdraw) ((eq? m 'deposit) deposit) (else (error "unknow request" m)))) dispatch)(define acc (make-amount 100))acc((acc 'withdraw) 50)
- Lisp SICP的一个程序
- SICP lec1a: # Lisp overview
- lisp 方言sechme圣经 -- SICP
- 关于Lisp的一个网站
- 使用lisp实现SICP约束系统
- lisp实现自动递归---SICP不确定性计算
- 计算机程序的构造和解释(SICP)
- 计算机程序的构造与解释(SICP)
- 使用DrRacket进行SICP程序的编写
- 一个介绍emacs lisp的个人主页
- 玩耍 - SICP第一站之使用lisp写个平方根
- lisp小程序,useless
- 比较大小lisp程序
- Lisp运行程序
- 测量lisp小程序
- SICP-计算机程序的构造和解释-目录+书评
- 在autocad中计算曲线要素的lisp程序。
- 属性文字转TEXT文本的lisp程序
- 外部表(二)相关实验
- QQ旋风 v4.3
- 算法导论(一)——基础知识
- MyEclipse设置JSP页面默认编码方式以及设置在Java文件中作者、日期等操作说明
- 如何学习系统的学习linux http://robertleejesus.javaeye.com/blog/230759
- Lisp SICP的一个程序
- Java的输入问题
- 嵌入式相关的推荐书籍
- alfresco 4.2.c 在Windows+Mysql 安装图解
- 第三次C程序设计上机报告
- Java开发环境的搭建
- windows编程一日一练(2)
- 用Ping命令快速检测网络故障
- 养生