摘要: 除前文介绍的通用型构建方式,数据导向的构建方式,本节介绍了新的消息传递风格的构建。 点击查看代码 (define (make-from-real-imag x y) (define (dispatch op) (cond ((eq? op 'real-part) x) ((eq? op 'imag- 阅读全文
posted @ 2026-01-14 17:55 檐上落白luckin 阅读(0) 评论(0) 推荐(0)
摘要: 当遇上有多种数据类型(计算方式)的过程时,如果挨个定义其计算方式,则面临整个过程需要重构的问题,在定义关键词和过程名称时也会受到较多限制。 通过构建复数系统的过程,我们可以进行观察。 复数我们可以采用直角坐标系或者极坐标系进行表达,因此在构建复数过程的时我们就面临区分两种坐标系的困难。 点击查看代码 阅读全文
posted @ 2026-01-13 18:19 檐上落白luckin 阅读(2) 评论(0) 推荐(0)
摘要: 集合,就是一些不同形象的汇集,或者说,通过一组可以作用于“集合”的操作来定义他们。 集合的一种表示方式是用其元素的表,其中任何一种元素都不超过一次。对于这种表达形式,可以通过一种操作保证集合元素不是符号。 (define (element-of-set? x set) (cond ((null? s 阅读全文
posted @ 2026-01-12 16:03 檐上落白luckin 阅读(1) 评论(0) 推荐(0)
摘要: 练习2.57 扩充求导程序,使其能处理任意项的和与乘积 点击查看代码 ;原求导程序 (define (deriv exp var) (cond ((number? exp) 0) ((variable? exp) (if (same-variable? exp var) 1 0)) ((sum? e 阅读全文
posted @ 2025-12-27 16:07 檐上落白luckin 阅读(3) 评论(0) 推荐(0)
摘要: 为了阐释符号操作,下面计划设计一个执行代数表达式求导的符号求导过程。 (define (deriv exp var) (cond ((number? exp) 0) ((variable? exp) (if (same-variable? exp var) 1 0)) ((sum? exp) (ma 阅读全文
posted @ 2025-12-26 21:13 檐上落白luckin 阅读(3) 评论(0) 推荐(0)
摘要: 本节是一个语言实例,通过一种图形语言展示数据抽象和闭包。 我们对一副图像(或者说画)的操作很难涉及到图像内部的东西,因此我们可以将这副图像视作一个过程,我们在不对该过程本身进行操作情况下也可以影响该过程。 练习2.44 点击查看代码 ;在原有图像上方生成两个一样的图像 (define (up-spl 阅读全文
posted @ 2025-12-25 12:39 檐上落白luckin 阅读(4) 评论(0) 推荐(0)
摘要: 此前描述了一个枚举、过滤、重组的过程,通过这一过程也能解决嵌套循环的问题。 练习2.40 请定义过程unique-pairs,给它整数n,它能产生序对(i,j),其中1≤j≤i≤n 点击查看代码 (define nil '()) (define (enumerate-interval low hig 阅读全文
posted @ 2025-12-25 10:44 檐上落白luckin 阅读(6) 评论(0) 推荐(0)
摘要: 练习2.35 将2.2.2节的count-leave重新定义为一个累积 点击查看代码 (define (count-leave t) (accumulate + 0 (map (lambda (sub-tree) (if (pair? sub-tree) (count-leave sub-tree) 阅读全文
posted @ 2025-12-18 17:49 檐上落白luckin 阅读(7) 评论(0) 推荐(0)
摘要: 本节对序列操作进行总的抽象介绍。 从两个程序入手: (define (sum-odd-square tree) (cond ((null? tree) 0) ((not (pair? tree)) (if (odd? tree) (square tree) 0)) (else (+ (sum-odd 阅读全文
posted @ 2025-12-17 20:48 檐上落白luckin 阅读(5) 评论(0) 推荐(0)
摘要: 这一节对之前提到的map概念又进行了扩展,map与递归的结合是一种处理树的强有力抽象。 练习2.30 请定义一个与练习2.21中square-list过程类似的square-tree过程。要求定义一个传统过程和一个使用map的过程。 点击查看代码 (define nil '()) (define ( 阅读全文
posted @ 2025-12-15 22:08 檐上落白luckin 阅读(6) 评论(0) 推荐(0)