Structure and Interpretation of Computer Programs
副标题:无
分类号:
ISBN:9787111135104
微信扫一扫,移动浏览光盘
简介
[style type="text/css"]
[!--
.unnamed1 { font-size: 12px}
--]
[/style]
本书1984年出版,成型于美国麻省理工学院(mit)多年使用的一本教材,1996年修订为第2版。在过去的二十多年里,本书对于计算机科学的教育计划产生了深刻的影响。
第2版中大部分重要程序设计系统都重新修改并做过测试,包括各种解释器和编译器。作者根据其后十余年的教学实践,还对其他许多细节做了相应的修改。
本书自出版以来,世界各地已有100多所院校采用本书做教材,其中包括美国斯坦福大学、美国普林斯顿大学、英国牛津大学、日本东京大学等。
相关网站有本书源代码及其他教辅资料,网址为:[a href="http://www-mitpress.mit.edu/sicp/"]www-mitpress.mit.edu/sicp/[/a]
作者简介:
harold abelson是mit1992年度macvicarfacultyfellow。gerald jaysussman是matsushita电子工程教授。他们都在mit电子工程和计算机科学系工作.都得到过最重要的计算机科学教育奖:如abelson得到了ieee计算机学会的booth奖。sussman得到了acm的karlstrom奖。
julie sussman是作家和编辑,同时使用自然语言和计算机语言写作。
每一位严肃的计算机科学家都应该阅读这本书。由于本书清晰、简洁和富于才智,我们强烈推荐本书,它适合所有希望深刻理解计算机科学的人们。
——mitchell wand[dr]
《美国科学家》杂志
[font color="#ff0000"]译者的相关作品:
[/font]
[table width="398" border="0" align="center" cellpadding="5" cellspacing="5" bgcolor="#ffffff"]
[tr bgcolor="#dec4fb"] [td width="271" class="unnamed1" height="14" bgcolor="#dec4fb"][a href="http://www.china-pub.com/computers/common/info.asp?id=6591" target="_blank"]《c++程序设计语言(特别版)》[/a] [/td]
[td width="219" class="unnamed1" height="14"] [a href="http://www.china-pub.com/computers/common/info.asp?id=5451" target="_blank"]《程序设计语言:概念......》[/a] [/td]
[/tr]
[tr bgcolor="#dec4fb"] [td width="271" class="unnamed1" height="10"] [a href="http://www.china-pub.com/computers/common/info.asp?id=5217" target="_blank"]《c++语言的设计和演化 》[/a][/td]
[td width="219" class="unnamed1" height="10"][a href="http://www.china-pub.com/computers/common/info.asp?id=8134" target="_blank"]《从规范出发的程序设计....》[/a][/td]
[/tr]
[tr bgcolor="#dec4fb"] [td width="271" class="unnamed1" height="12"][a href="http://www.china-pub.com/computers/common/info.asp?id=664" target="_blank"]《程序设计实践 》[/a][/td]
[td width="219" class="unnamed1" height="12"][a href="http://www.china-pub.com/computers/common/info.asp?id=6159"]《从规范出发的程序设计》[/a][/td]
[/tr]
[tr bgcolor="#dec4fb"] [td width="271" class="unnamed1"][a href="http://www.china-pub.com/computers/common/info.asp?id=8224" target="_blank"]《c++程序设计语言题解》[/a] [/td]
[td width="219" class="unnamed1"][a href="http://www.china-pub.com/computers/common/info.asp?id=16989" target="_blank"]《科学程序设计引论——用mathematica和c求解计算问题》[/a] [/td]
[/tr]
[/table]
[dr]
目录
第1章 构造过程抽象
1.1程序设计的基本元素
1.1.1表达式
1.1.2命名和环境
1.1.3组合式的求值
1.1.4复合过程
1.1.5过程应用的代换模型
1.1.6条件表达式和谓词
1.1.7实例:采用牛顿法求平方根
1.1.8过程作为黑箱抽象
1.2过程与它们所产生的计算
1.2.1线性的递归和迭代
1.2.2树形递归
1.2.3增长的阶
1.2.4求幂
1.2.5最大公约数
1.2.6实例:素数检测
1.3用高阶函数做抽象
1.3.1过程作为参数
1.3.2用lambda构造过程
.1.3.3过程作为一般性的方法
1.3.4过程作为返回值
笫2章 构造数据抽象
2.1数据抽象导引
2.1.1实例:有理数的算术运算
2.1.2抽象屏障
2.1.3数据意味着什么
2.1.4扩展练习:区间算术
2.2层次性数据和闭包性质
2.2.1序列的表示
2.2.2层次性结构
2.2.3序列作为一种约定的界面
2.2.4实例:一个图形语言
2.3符号数据
2.3.1引号
2.3.2实例:符号求导
2.3.3实例:集合的表示
2.3.4实例:huffman编码树
2.4抽象数据的多重表示
2.4.1复数的表示
2.4.2带标志数据
2.4.3数据导向的程序设计和可加性
2.5带有通用型操作的系统
2.5.1通用型算术运算
2.5.2不同类型数据的组合
2.5.3实例:符号代数
第3章 模块化、对象和状态
3.1赋值和局部状态
3.1.1局部状态变量
3.1.2引进赋值带来的利益
3.1.3引进赋值的代价
3.2求值的环境模型
3.2.1求值规则
3.2.2简单过程的应用
3.2.3将框架看作局部状态的展台
3.2.4内部定义
3.3用变动数据做模拟
3.3.1变动的表结构
3.3.2队列的表示
3.3.3表格的表示
3.3.4数字电路的模拟器
3.3.5约束的传播
3.4并发:时间是一个本质问题
3.4.1并发系统中时间的性质
3.4.2控制并发的机制
3.5流
3.5.1流作为延时的表
3.5.2无穷流
3.5.3流计算模式的使用
3.5.4流和延时求值
3.5.5 函数式程序的模块化和对象的模块化
第4章 元语言抽象
4.1元循环求值器
4.1.1求值器的内核
4.1.2表达式的表示
4.1.3求值器数据结构
4.1.4作为程序运行这个求值器
4.1.5将数据作为程序
4.1.6内部定义
4.1.7将语法分析与执行分离
4.2scheme的变形--惰性求值
4.2.1正则序和应用序
4.2.2一个采用惰性求值的解释器
4.2.3将流作为惰性的表
4.3scheme的变形--非确定性计算
4.3.1amb和搜索
4.3.2非确定性程序的实例
4.3.3实现arab求值器
4.4逻辑程序设计
4.4.1演绎信息检索
4.4.2查询系统如何工作
4.4.3逻辑程序设计是数理逻辑吗
4.4.4查询系统的实现
第5章 寄存器机器里的计算
5.1寄存器机器的设计
5.1.1一种描述寄存器机器的语言
5. 1.2机器设计的抽象
5.1.3子程序
5.1.4采用堆栈实现递归
5.1.5指令总结
5.2一个寄存器机器模拟器
5.2.1机器模型
5.2.2汇编程序
5.2.3为指令生成执行过程
5.2.4监视机器执行
5.3存储分配和废料收集
5.3.1将存储看作向量
5.3.2维持一种无穷存储的假象
5.4显式控制的求值器
5.4.1显式控制求值器的内核
5.4.2序列的求值和尾递归
5.4.3条件、赋值和定义
5.4.4求值器的运行
5.5 编译
5.5.1编译器的结构
5.5.2表达式的编译
5.5.3组合式的编译
5.5.4指令序列的组合
5.5.5编译代码的实例
5.5.6词法地址
5.5.7编译代码与求值器的互连
参考文献
练习表
索引
1.1程序设计的基本元素
1.1.1表达式
1.1.2命名和环境
1.1.3组合式的求值
1.1.4复合过程
1.1.5过程应用的代换模型
1.1.6条件表达式和谓词
1.1.7实例:采用牛顿法求平方根
1.1.8过程作为黑箱抽象
1.2过程与它们所产生的计算
1.2.1线性的递归和迭代
1.2.2树形递归
1.2.3增长的阶
1.2.4求幂
1.2.5最大公约数
1.2.6实例:素数检测
1.3用高阶函数做抽象
1.3.1过程作为参数
1.3.2用lambda构造过程
.1.3.3过程作为一般性的方法
1.3.4过程作为返回值
笫2章 构造数据抽象
2.1数据抽象导引
2.1.1实例:有理数的算术运算
2.1.2抽象屏障
2.1.3数据意味着什么
2.1.4扩展练习:区间算术
2.2层次性数据和闭包性质
2.2.1序列的表示
2.2.2层次性结构
2.2.3序列作为一种约定的界面
2.2.4实例:一个图形语言
2.3符号数据
2.3.1引号
2.3.2实例:符号求导
2.3.3实例:集合的表示
2.3.4实例:huffman编码树
2.4抽象数据的多重表示
2.4.1复数的表示
2.4.2带标志数据
2.4.3数据导向的程序设计和可加性
2.5带有通用型操作的系统
2.5.1通用型算术运算
2.5.2不同类型数据的组合
2.5.3实例:符号代数
第3章 模块化、对象和状态
3.1赋值和局部状态
3.1.1局部状态变量
3.1.2引进赋值带来的利益
3.1.3引进赋值的代价
3.2求值的环境模型
3.2.1求值规则
3.2.2简单过程的应用
3.2.3将框架看作局部状态的展台
3.2.4内部定义
3.3用变动数据做模拟
3.3.1变动的表结构
3.3.2队列的表示
3.3.3表格的表示
3.3.4数字电路的模拟器
3.3.5约束的传播
3.4并发:时间是一个本质问题
3.4.1并发系统中时间的性质
3.4.2控制并发的机制
3.5流
3.5.1流作为延时的表
3.5.2无穷流
3.5.3流计算模式的使用
3.5.4流和延时求值
3.5.5 函数式程序的模块化和对象的模块化
第4章 元语言抽象
4.1元循环求值器
4.1.1求值器的内核
4.1.2表达式的表示
4.1.3求值器数据结构
4.1.4作为程序运行这个求值器
4.1.5将数据作为程序
4.1.6内部定义
4.1.7将语法分析与执行分离
4.2scheme的变形--惰性求值
4.2.1正则序和应用序
4.2.2一个采用惰性求值的解释器
4.2.3将流作为惰性的表
4.3scheme的变形--非确定性计算
4.3.1amb和搜索
4.3.2非确定性程序的实例
4.3.3实现arab求值器
4.4逻辑程序设计
4.4.1演绎信息检索
4.4.2查询系统如何工作
4.4.3逻辑程序设计是数理逻辑吗
4.4.4查询系统的实现
第5章 寄存器机器里的计算
5.1寄存器机器的设计
5.1.1一种描述寄存器机器的语言
5. 1.2机器设计的抽象
5.1.3子程序
5.1.4采用堆栈实现递归
5.1.5指令总结
5.2一个寄存器机器模拟器
5.2.1机器模型
5.2.2汇编程序
5.2.3为指令生成执行过程
5.2.4监视机器执行
5.3存储分配和废料收集
5.3.1将存储看作向量
5.3.2维持一种无穷存储的假象
5.4显式控制的求值器
5.4.1显式控制求值器的内核
5.4.2序列的求值和尾递归
5.4.3条件、赋值和定义
5.4.4求值器的运行
5.5 编译
5.5.1编译器的结构
5.5.2表达式的编译
5.5.3组合式的编译
5.5.4指令序列的组合
5.5.5编译代码的实例
5.5.6词法地址
5.5.7编译代码与求值器的互连
参考文献
练习表
索引
Structure and Interpretation of Computer Programs
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×