《程序设计方法教程》求取 ⇩

第一章 引言1

1 软件的研制与程序设计方法学1

1.1 软件的研制1

1.2 大规模程序设计与软件危机3

1.3 程序设计方法学的意义、目标与内容4

2 程序与程序设计的概念6

2.1 程序与程序设计语言6

2.2 程序设计风格7

2.2.1 冯·诺伊曼型程序设计7

2.2.2 函数型程序设计8

2.2.3 逻辑型程序设计11

2.3 程序的设计表示法16

2.3.1 流程图16

2.3.2 程序之设计语言PDL19

2.4 程序设计的基本手段21

习题22

第二章 程序结构分析23

1 程序的数据结构23

1.1 数据类型抽象23

1.2 类型扩充手段24

1.3 数据类型概念的进一步抽象28

2 程序的控制结构30

2.1 基本控制成份的抽象30

2.2 基本控制结构30

2.3 其他的控制结构32

3 程序的复杂性34

3.1 量度程序复杂性的必要性34

3.2 程序复杂性的若干量度技术35

3.2.1 控制结构复杂性35

3.2.2 整体复杂性37

3.2.3 程序复杂性量度的进一步改进39

3.3 简评41

4 结构化程序41

4.1 结构化程序及其特征41

4.2 结构化程序的阅读与书写46

4.2.1 结构化程序的阅读46

4.2.2 结构化程序的书写48

习题50

第三章 程序的功能描述51

1 概况51

1.1 程序功能描述的需要51

1.2 若干概念52

2 程序功能描述技术54

2.1 代数功能描述54

2.1.1 例54

2.1.2 名称的由来57

2.1.3 代数技术中要注意的几个问题58

2.1.4 代数功能描述之书写指导60

2.2 状态机功能描述61

2.2.1 例61

2.2.2 状态机功能描述与安全性的确认63

2.2.3 状态机技术的几个问题65

2.2.4 状态机功能描述之书写指导65

2.3 比较67

习题68

第四章 程序的正确性证明69

1 前言69

1.1 程序正确性证明的概念69

1.2 广义归纳法71

2 程序正确性证明方法71

2.1 归纳断语法71

2.2 结构归纳法75

3 程序完全正确性的证明78

4 讨论80

习题81

第五章 程序设计的基本策略84

1 大型程序之设计84

2 程序的逐步精化84

2.1 设计方法与原则84

2.2 逐步精化之例89

2.3 讨论90

3 模块程序设计93

3.1 概况93

3.2 模块程序设计之例94

3.3 与模块程序设计相关的一些问题99

3.3.1 模块定义好坏的衡量标准99

3.3.2 分块编译问题100

3.3.3 现有非模块化程序设计语言与模块程序设计101

3.3.4 模块库的建设102

4 关于结构程序设计102

4.1 概况102

4.2 关于goto语句的讨论104

4.2.1 程序易读性与结构清晰性104

4.2.2 功效105

4.2.3 讨论106

习题107

第六章 程序的设计技术108

1 递归程序设计技术108

1.1 递归的概念108

1.2 递归数据结构110

1.3 递归程序的设计及其正确性113

1.3.1 递归程序的设计113

1.3.2 递归程序设计的正确性113

1.4 化递归为迭代117

2 其他设计技术——面向对象的设计技术119

2.1 基本思想与步骤119

2.2 例120

习题124

第七章 程序的形式推导125

1 自然演绎系统125

1.1 命题125

1.2 推理规则128

1.3 自然演绎系统129

1.4 自然演绎系统证明之开发134

2 最弱前置条件135

2.1 谓词135

2.2 WP(S,R)的引进及其某些性质137

2.3 WP(S,R)之计算139

2.3.1 正文替换139

2.3.2 若干简单情形WP(S,R)的计算139

3 程序设计语言控制成分的形式定义142

3.1 警卫与警卫命令142

3.2 选择结构的形式定义145

3.3 迭代结构的形式定义147

4 程序的形式推导151

4.1 简单程序推导之例151

4.2 循环程序的推导153

4.2.1 基于循环不变式与界函数的程序推导153

4.2.2 循环不变式的研制155

4.2.3 循环界函数的确定158

习题159

第八章 程序的功效160

1 概述160

1.1 功效考虑160

1.2 实现高功效的途径160

2 编译时刻优化161

2.1 合并常量运算162

2.2 消去公共子表达式162

2.3 外提不变表达式163

2.4 强度削减163

3 化递归为迭代164

3.1 尾调用及其消去164

3.2 尾递归及其消去165

3.3 一般递归167

4 其他方面的优化169

4.1 测试结构的简化处理169

4.2 应用于说明的优化172

第九章 程序设计工具173

1 引言173

1.1 程序设计工具与程序设计方法学173

1.2 程序设计工具的种类174

2 程序设计工具简介175

2.1 设计描述工具175

2.2 编辑工具176

2.2.1 编辑程序176

2.2.2 语法制导的正文编辑程序176

2.3 格式化工具177

2.4 重构造工具177

2.5 翻译工具177

2.5.1 语言预处理程序178

2.5.2 翻译程序178

2.5.3 转换工具179

2.6 调试工具180

2.7 程序复杂性量度工具180

2.8 程序验证工具180

2.9 变换工具180

总复习思考题181

参考文献183

1992《程序设计方法教程》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由张幸儿等编 1992 南京:南京大学出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

编译程序设计方法(1998 PDF版)
编译程序设计方法
1998 青岛:青岛出版社
PASCAL程序设计教程(1995年8月第1版 PDF版)
PASCAL程序设计教程
1995年8月第1版 东南大学出版社
程序设计教程  下(1986 PDF版)
程序设计教程 下
1986 南京工学院出版社
程序设计教程  上(1986 PDF版)
程序设计教程 上
1986 南京工学院出版社
程序设计方法学教程(1992 PDF版)
程序设计方法学教程
1992 北京:机械工业出版社
程序设计方法学(1987 PDF版)
程序设计方法学
1987 西安:西北工业大学出版社
设计程序和方法(1993 PDF版)
设计程序和方法
1993 北京:中国轻工业出版社
BASIC程序设计教程(1987 PDF版)
BASIC程序设计教程
1987 成都:四川大学出版社
QBASIC程序设计教程(1999 PDF版)
QBASIC程序设计教程
1999 西安:西安电子科技大学出版社
QBasic程序设计教程(1997 PDF版)
QBasic程序设计教程
1997 北京:清华大学出版社
程序设计方法学(1988 PDF版)
程序设计方法学
1988 上海:上海交通大学出版社
FoxPro程序设计教程(1998 PDF版)
FoxPro程序设计教程
1998 成都:电子科技大学出版社
C程序设计教程(1998 PDF版)
C程序设计教程
1998 天津:天津大学出版社
Java程序设计教程(1997 PDF版)
Java程序设计教程
1997 北京:科学出版社
C++程序设计教程  下(1995 PDF版)
C++程序设计教程 下
1995 北京:中国科学技术出版社