注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计程序设计综合程序设计方法

程序设计方法

程序设计方法

定 价:¥49.00

作 者: (美)Matthias Felleisen[等]著;黄林鹏,朱崇恺译;黄林鹏译
出版社: 人民邮电出版社
丛编项: 国外著名高等院校信息科学与技术优秀教材
标 签: 高级程序语言设计

ISBN: 9787115115560 出版时间: 2003-12-01 包装: 精装
开本: 26cm 页数: 480 字数:  

内容简介

  《程序设计方法》以Scheme语言为基础介绍计算和程序设计的一般理论和实践。《程序设计方法》由8个部分和7个独立的章节(第8、13、18、24、29、33、38章)组成。8个部分主要讨论程序设计,独立章节则介绍一些与程序设计和计算相关的话题。《程序设计方法》第1至第3部分介绍了基于数据驱动的程序设计基础。第4部分介绍了程序设计中的抽象问题。第5部分和第6部分是与递归及累积相关的内容。《程序设计方法》的最后两部分说明了设计程序的意义,阐述了如何应用前6个部分所描述的程序设计诀窍,以及使用赋值语句必须特别小心的一些问题。《程序设计方法》可作为高等院校计算机科学与技术专业“程序设计导论”和“计算导论”的教材和教学参考书,也可作为函数式语言和Scheme语言的入门教材。

作者简介

  \t\t

图书目录

第一部分  简单数据的处理
第1章  学生.教师和计算机 3
第2章  数.表达式和简单程序 5
  2.1  数和算术运算 5
  2.2  变量和程序 6
  2.3  字处理问题 9
  2.4  错误 10
  2.5  设计程序 12
第3章  程序就是函数加上变量定义 15
  3.1  函数复合 15
  3.2  变量定义 17
  3.3  函数复合练习 18
第4章  条件表达式和函数 20
  4.1  布尔类型和关系 20
  4.2  函数和条件测试 22
  4.3  条件和条件函数 25
  4.4  条件函数的设计 27
第5章  符号信息 31
第6章  复合数据之一:结构体 34
  6.1  结构体 34
  6.2  补充练习:绘制简单图形 36
  6.3  结构体定义 38
  6.4  数据定义 41
  6.5  设计处理复合数据的函数 43
  6.6  补充练习:圆和长方形的移动 46
  6.7  补充练习:刽子手游戏 49
第7章  数据的多样性 52
  7.1  数据混合与区分 52
  7.2  设计处理混合数据的函数 55
  7.3  再论函数复合 58
  7.4  补充练习:图形的移动 60
  7.5  输入错误 61
第8章  语法和语义 63
  8.1  Scheme的词汇 63
  8.2  Scheme的文法 64
  8.3  Scheme的含义 65
  8.4  错误 68
  8.5  布尔值表达式 70
  8.6  变量定义 71
  8.7  结构体的定义 72
第二部分  任意数目数据的处理
第9章  复合数据类型之二:表 77
  9.1  表 77
  9.2  任意长的表的数据定义 80
  9.3  处理任意长的表 82
  9.4  设计自引用数据定义的函数 84
  9.5  更多关于简单表的例子 86
第10章  表的进一步处理 90
  10.1  返回表的函数 90
  10.2  包含结构体的表 93
  10.3  补充练习:移动图片 98
第11章  自然数 100
  11.1  定义自然数 100
  11.2  处理任意大的自然数 101
  11.3  补充练习:创建表,  测试函数 103
  11.4  自然数的另一种数据定义 104
  11.5  更多与自然数有关的性质 108
第12章  三论函数复合 110
  12.1  设计复杂的程序 110
  12.2  递归的辅助函数 111
  12.3  问题泛化与函数泛化 114
  12.4  补充练习:字母的重新排列 117
第13章  用list构造表 119
第三部分  再论任意大数据的处理
第14章  再论自引用数据定义 125
  14.1  结构体中的结构体 125
  14.2  补充练习:二叉搜索树 131
  14.3  表中的表 135
  14.4  补充练习:Scheme求值 137
第15章  相互引用的数据定义 139
  15.1  由结构体组成的表与结构体中的表 139
  15.2  为相互引用的定义设计函数 144
  15.3  补充练习:网页再谈 145
第16章  反复精化设计 147
  16.1  数据分析 147
  16.2  定义数据类型,  再改进它们 148
  16.3  改进函数和程序 150
第17章  处理两种复杂数据片段 152
  17.1  同时处理两个表:第一种情况 152
  17.2  同时处理两个表:第二种情况 154
  17.3  同时处理两个表:第三种情况 156
  17.4  函数的简化 159
  17.5  设计读入两个复杂输入的函数 160
  17.6  处理两个复杂输入的练习 161
  17.7  补充练习:Scheme求值之二 164
  17.8  相等与测试 165
第18章  局部定义和辖域 172
  18.1  用local组织程序 172
  18.2  辖域和块结构 183
第四部分  抽  象  设  计
第19章  定义的相似性 189
  19.1  函数的类似之处 189
  19.2  数据定义的类似之处 195
第20章  函数也是值 199
  20.1  语法和语义 199
  20.2  抽象函数和多态函数的合约 200
第21章  抽象设计的例子 204
  21.1  从实例中抽象 204
  21.2  抽象表处理函数的练习 208
  21.3  抽象与惟一控制点 209
  21.4  补充练习:再论图片移动 210
  21.5  注意:由模板设计抽象 211
第22章  使用函数进行抽象设计 213
  22.1  返回函数的函数 213
  22.2  把函数当成值来进行抽象设计 214
  22.3  图形用户界面初探 216
第23章  数学方面的例子 223
  23.1  数列和级数 223
  23.2  等差数列和等差级数 225
  23.3  等比数列和等比级数 225
  23.4  函数曲线下方的面积 228
  23.5  函数的斜率 229
第24章  定义匿名函数 234
  24.1  lambda表达式的语法 234
  24.2  lambda表达式的辖域和语义 235
  24.3  lambda表达式的语用 237
第五部分  生  成  递  归
第25章  一种新的递归形式 241
  25.1  为桌上的一个球建立模型 242
  25.2  快速排序 244
第26章  设计算法 248
  26.1  终止 249
  26.2  结构递归与生成递归的比较 251
  26.3  做出选择 252
第27章  主题的变更 256
  27.1  分形 256
  27.2  从文件到行,  从表到表的表 260
  27.3  二分查找 263
  27.4  牛顿法 267
  27.5  补充练习:高斯消去法 269
第28章  回溯算法 273
  28.1  图的遍历 273
  28.2  补充练习:皇后之间的相互攻击 277
第29章  计算的代价和向量 280
  29.1  具体的时间和抽象的时间 280
  29.2  “阶”的定义 284
  29.3  向量初探 286
第六部分  知  识  累  积
第30章  知识的丢失 297
  30.1  一个与结构处理相关的问题 297
  30.2  一个关于生成递归的问题 300
第31章  设计带累积器的函数 304
  31.1  认识累积器的必要性 304
  31.2  带累积器的函数 305
  31.3  把函数转换成带累积器的变体 306
第32章  使用累积器的更多例子 315
  32.1  补充练习:有关树的累积器 315
  32.2  补充练习:传教士和食人者问题 319
  32.3  补充练习:单人跳棋 321
第33章  非精确数的本质 323
  33.1  固定长度的数的算术运算 323
  33.2  上溢出 327
  33.3  下溢出 328
  33.4  DrScheme数 328
第七部分  改变变量的状态
第34章  函数的记忆 333
第35章  对变量赋值 337
  35.1  简单的.能工作的赋值 337
  35.2  顺序计算表达式 339
  35.3  赋值和函数 340
  35.4  第一个有用的例子 342
第36章  设计有记忆的函数 346
  36.1  对记忆的需求 346
  36.2  记忆与状态变量 347
  36.3  初始化记忆的函数 348
  36.4  改变记忆的函数 349
第37章  使用记忆的例子 354
  37.1  状态的初始化 354
  37.2  与用户交互并改变状态 356
  37.3  在递归中改变状态 362
  37.4  状态变量的练习 367
  37.5  补充练习:探险 368
第38章  最终的语法和语义 371
  38.1  Advanced  Scheme的词汇 371
  38.2  Advanced  Scheme的文法 371
  38.3  Advanced  Scheme的含义 373
  38.4  Advanced  Scheme中的错误 383
第八部分  复合值的改变
第39章  封装 389
  39.1  状态变量的抽象 389
  39.2  封装练习 397
第40章  可改变的结构体 399
  40.1  由函数得出结构体 399
  40.2  可变的函数结构体 401
  40.3  可变的结构体 403
  40.4  可变的向量 409
  40.5  改变变量与改变结构体 410
第41章  设计改变结构体的函数 414
  41.1  为什么改变结构体 414
  41.2  结构体的设计诀窍与变化器之一 414
  41.3  结构体的设计诀窍与变化器之二 423
  41.4  补充练习:最后一次移动图片 431
第42章  相等 433
  42.1  外延相等 433
  42.2  内涵相等 434
第43章  修改结构体.向量和对象 437
  43.1  关于向量的更多练习 437
  43.2  带循环的结构体集合 448
  43.3  状态的回溯 455
结束语 458
计算 458
程序设计 458
继续学习 459

本目录推荐