- 浏览: 222007 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
andy1015:
请教下楼主rtx问题 ,可以么
用HttpClient实现同步RTX -
cgp17:
请教:Chukwa支持Push数据吗?目前看到的都是Polli ...
基于Hadoo的日志收集框架---Chukwa的源码分析(适配器、代理) -
jimmee:
尼玛, 现在iteye的质量下降到何种水准了.
Mahout协同过滤框架Taste的源码分析 -
aubdiy:
aubdiy 写道我擦。。。。 这你叫分析才看到, 还有个 “ ...
Mahout协同过滤框架Taste的源码分析 -
aubdiy:
我擦。。。。 这你叫分析
Mahout协同过滤框架Taste的源码分析
练习1.29
(define (sum term a next b) (if (> a b) 0 (+ (term a) (sum term (next a) next b)))) (define (integral f a b dx) (define (add-dx x) (+ x dx)) (* (sum f (+ a (/ dx 2.0)) add-dx b) dx)) (define (simpson f a b n) (define (add-kh k) (* k (/ (- b a) n))) (define (inc n) (+ n 1)) (define (term k) (cond ((= k 0) (f a)) ((= k n) (f b)) ((= (remainder k 2) 0) (* 2.0 (f (+ a (add-kh k))))) (else (* 4.0 (f (+ a (add-kh k))))))) (* (/ (/ (- b a) n) 3) (sum term 0 inc n)))
> (integral cube 0 1 0.01)
0.24998750000000042
> (integral cube 0 1 0.001)
0.249999875000001
> (simpson cube 0 1 100)
0.24999999999999992
> (simpson cube 0 1 1000)
0.2500000000000002
可见使用辛普森数值积分法确实能得到更为精确的结果
练习1.30
;; sum过程的迭代实现 (define (sum-iter term a next b) (define (iter a result) (if (> a b) result (iter (next a) (+ (term a) result)))) (iter a 0))
练习1.31
a. ;; product过程的迭代实现 (define (product term a next b) (define (iter a result) (if (> a b) result (iter (next a) (* (term a) result)))) (iter a 1)) ;; factorial过程的实现 (define (factorial n) (define (inc n) (+ n 1)) (define (identity x) x) (product identity 1 inc n)) ;; 基于product过程计算pi值 (define (pi-product n) (define (square x) (* x x)) (define (term k) (/ (* 4.0 k (+ k 1)) (square (+ (* 2.0 k) 1)))) (product-new term 1 inc n)) > (* 4 (pi-product 100)) 3.1493784731686008 > (* 4 (pi-product 1000)) 3.142377365093882 > (* 4 (pi-product 10000)) 3.1416711865344946 b. ;; product过程的递归实现 (define (product term a next b) (if (> a b) 1 (* (term a) (product term (next a) next b))))
练习1.32
;; accumulate过程的递归实现 (define (accumulate combiner null-value term a next b) (if (> a b) null-value (combiner (term a) (accumulate combiner null-value term (next a) next b)))) ;; accumulate过程的迭代实现 (define (accumulate combiner null-value term a next b) (define (iter a result) (if (> a b) result (iter (next a) (combiner (term a) result)))) (iter a null-value)) ;; 定义sum和product, 则需要实现其对应的combiner过程 ;; combiner过程需要两个参数:当前项和前面各项累计结果, 则对sum和product分别实现如下combiner过程 (define (add x y) (+ x y)) (define (pro x y) (* x y)) ;; 对应的sum和product过程为 (accumulate add 0 term a next b) (accumulate pro 1 term a next b)
练习1.33
;; filtered-accumulate过程的迭代实现 (define (filtered-accumulate filtered combiner null-value term a next b) (define (iter a result) (if (> a b) result (if (filtered a) (iter (next a) (combiner (term a) result)) (iter (next a) result)))) (iter a null-value)) a) (define (sum-prime a b) (define (inc n) (+ n 1)) (define (identity x) x) (filtered-accumulate prime? add 0 identity a inc b)) b) (define (pro-gcd i n) (define (inc n) (+ n 1)) (define (identity x) x) (filtered-accumulate gcd? pro 1 identity i inc n))
发表评论
-
SICP学习笔记 2.3.2 实例:符号求导
2012-12-12 09:59 1370练习2.56 (define (deriv ... -
SICP学习笔记 2.2.4 实例:一个图形语言
2012-12-11 21:49 1359练习2.44 (define (up-spl ... -
SICP学习笔记 2.2.3 序列作为一种约定的接口
2012-09-14 17:48 1105练习2.33 ;; map过程即为使用过程p ... -
SICP学习笔记 2.2.2 层次性结构
2012-09-05 15:54 1289练习2.24 ;; 嵌套结构的list 1 ... -
SICP学习笔记 2.2.1 序列的表示
2012-08-31 17:31 1226练习2.17 ;; 直接利用已经实现的lis ... -
SICP学习笔记 2.1.4 扩展练习:区间算术
2012-08-28 17:12 1385练习2.7 ;; 抽象对象"区间& ... -
SICP学习笔记 2.1.3 数据意味着什么
2012-08-26 11:07 1145练习2.4 (define (new-con ... -
SICP学习笔记 2.1.2 抽象屏障
2012-08-18 22:05 929练习2.2 (define (make-poin ... -
SICP学习笔记 2.1.1 实例: 有理数的算术运算
2012-08-18 21:44 918练习 2.1 (define (make-r ... -
SICP学习笔记 1.3.4 过程作为返回值
2012-08-12 11:44 1035练习 1.40 (define (cubic ... -
SICP学习笔记 1.3.3 过程作为一般性的方法
2012-08-12 11:38 913练习 1.35 φ^2 = φ+1 == ... -
SICP学习笔记 1.3.2 用lambda构造过程
2012-07-13 08:50 801练习 1.34 > (d ... -
SICP学习笔记 1.2.6 实例:素数检测
2012-06-04 11:08 1087练习1.22 ;; runtime函数在stk、ra ... -
SICP学习笔记 1.2.5 最大公约数
2012-05-17 17:35 867练习 1.20 (define (gcd a ... -
SICP学习笔记 1.2.4 求幂
2012-05-11 18:03 927练习1.16 根 ... -
SICP学习笔记 1.2.3 增长的阶
2012-05-09 21:06 1515练习1.14 (define (count-chan ... -
SICP学习笔记 1.1.7 实例:使用牛顿法求平方根
2012-04-25 18:02 1340练习1.6 应用序会对 (def ... -
SICP学习笔记 1.2.2 树形递归
2012-04-25 18:18 961练习1.11 递归过程 (defin ... -
SICP学习笔记 1.2.1 线性的递归和迭代
2012-04-24 17:22 892练习1.9 对于过程 (define ... -
SICP学习笔记 1.1.6 条件表达式和谓词
2012-04-24 17:18 861练习1.1 10 12 8 3 6 ...
相关推荐
- **高阶函数**:能够接受函数作为参数或返回函数的函数,例如map、filter和reduce等。 - **递归**:函数调用自身的技术,常用于解决可重叠子问题,如斐波那契数列的计算。 3. **数据结构**: - **列表**:SICP...
- **1.3.1 作为参数的过程**: 如何将过程作为其他过程的参数。 - **1.3.2 使用lambda构造过程**: 学习lambda表达式的基础知识。 - **1.3.3 作为通用方法的过程**: 探讨过程如何作为问题解决的通用工具。 - **...
- **作为参数的过程 (Procedures as Arguments)**:展示如何将过程作为参数传递给其他过程。 - **使用 lambda 构建过程 (Constructing Procedures Using lambda)**:介绍了 lambda 表达式的使用。 - **过程作为...
在Python中实现SICP的挑战在于,Python的语法和Lisp有很大区别,但这也为学习者提供了思考不同编程范式的机会。例如,Python的面向对象特性可以用来模拟SICP中的一些过程抽象,而Lisp中的动态作用域在Python中需要...
6. 高阶函数的应用:高阶函数是那些可以接受其他函数作为参数或者返回一个函数的函数。这种抽象是函数式编程的核心特征之一,它在Python中也被广泛支持,并可以用来编写更加灵活和可重用的代码。 7. 计算机程序的...
sicp in python 中文版 sicp in python 中文版 sicp in python 中文版 !!!download>>>https://github.com/wizardforcel/sicp-py-zh
SICP中文第二版SICP中文第二版SICP中文第二版SICP中文第二版SICP中文第二版
《SICP 2.2.4 节:图形语言》是计算机科学经典教材《结构与解释程序》(Structure and Interpretation of Computer Programs)中的一个重要章节,它深入介绍了如何利用编程来创建图形,以及如何设计和理解复杂的计算...
SICP不仅在MIT内部被广泛用作教学材料,而且在全球范围内也享有极高的声誉,被视为学习计算机科学理论基础的必读之作。 #### 二、书籍内容概览 SICP的内容涵盖了程序设计的基本概念、过程抽象、数据抽象、模块化...
1. **过程和数据**:书中首先介绍了过程(函数)作为基本的抽象机制,以及如何将数据结构视为可组合的过程。这种观点改变了我们看待计算问题的方式,强调了将复杂问题分解为简单过程的重要性。 2. **环境模型**:...
通过学习SICP,读者可以掌握如何用基本的构建块来构造复杂的计算系统,并理解这些系统的行为。书中的习题设计巧妙,旨在引导读者深入思考编程语言的内部机制以及如何设计和实现自己的编程环境。 《SICP解题集》中...
《SICP笔记和练习》是一份详尽的资源,主要涵盖了由MIT教授们编写的经典计算机科学教材《Structure and Interpretation of Computer Programs》(简称SICP)的学习笔记和练习解答。这份资料以HTML格式呈现,便于在线...
它以Lisp语言作为教学工具,因为Lisp的简洁性和表达力强,非常适合用来展示程序的构造和解释过程。通过学习SICP,学生将能够理解如何设计、分析和实现复杂的程序系统,培养出强大的抽象思维能力。 课程内容涵盖了...
5. **过程**:SICP讲解了过程作为“计算的封装”的概念,使得过程可以作为值传递,从而实现了高阶函数。 6. **元编程**:SICP还涉及元编程,即编写操作代码的代码。通过这种方式,读者可以理解编程语言是如何工作的...
本资料集包含了对SICP第一章习题的解答,旨在帮助学习者巩固基础,深化对函数式编程的理解。 首先,让我们关注一下习题解答中的几个关键部分: 1. **1.6.ss**: 这部分可能涉及到函数定义、递归和过程抽象。SICP的...
SICP-Python版本
Python SICP epub版本,很适合学习抽象的思想,用Python版本比lisp更实用
SICP 使用的scheme解释器 以前叫DrScheme
在学习SICP的过程中,你将接触到以下核心知识点: 1. **数据作为抽象**:SICP强调数据结构和操作数据的函数是分离的,这种思想被称为“数据抽象”。通过定义数据类型和操作这些数据的函数,可以隐藏实现细节,提高...