第一篇 计算机技术基础 1
第一章 计算机系统概论 1
1.1 计算机中的数和编码系统 1
1.1.1 进位计数制 1
1.1.2 数在不同计数制之间的转换 3
1.1.3 二进制编码 7
1.1.4 二进制数运算 9
1.1.5 带符号数的表示法 11
1.2 计算机基础 14
1.2.1 计算机的基本结构 14
1.2.2 指令、程序和指令系统 15
1.2.3 初级计算机 17
1.2.4 简单程序举例 19
1.2.5 寻址方式 23
1.2.6 分支 28
1.3 计算机软件 32
1.3.1 系统软件 33
1.3.2 应用软件 33
1.3.3 数据库及数据库管理系统 33
1.4 微型计算机的结构特点 34
1.4.1 微型机的外部结构特点 34
1.4.2 微型机的内部结构特点 34
参考文献 37
第二章 数据结构 37
2.1 导言 37
2.1.1 什么是数据结构 37
2.1.2 数据的逻辑结构 37
2.1.3 数据的存贮结构 40
2.1.4 数据运算与计算机算法 42
2.2 线性结构 45
2.2.1 顺序表 45
2.2.2 链表 60
2.2.3 内排序 69
2.2.4 线性表的检索 86
2.3 树形结构 98
2.3.1 树形结构的概念 98
2.3.2 树形结构的存贮 103
2.3.3 二叉树的周游算法 109
2.3.4 树形结构的应用 112
2.4 复杂结构——图 118
2.4.1 图的概念 118
2.4.2 图的存贮表示法 121
2.4.3 图的周游和生成树 123
2.4.4 最短路径 127
2.4.5 拓扑排序 130
2.4.6 关键路径 133
习题 141
参考文献 141
第三章 程序设计技术 141
3.1 导言 141
3.2 顺序结构 141
3.3 分支结构 142
3.4 迭代结构 143
3.5 结构化程序设计 149
3.6 子程序概念 150
3.7 递归与递归消去技术 152
3.8 回溯 159
3.9 程序设计风格 165
3.10 专家系统简介 167
3.11 并行算法概述 172
习题 180
参考文献 180
第四章 软件工程 180
4.1 导言 180
4.1.1 软件工程学 180
4.1.2 软件和软件生命期 181
4.1.3 软件质量 182
4.1.4 软件开发的组织结构 184
4.2 软件计划 185
4.2.1 初步软件计划 185
4.2.2 成本估算与估算技术 188
4.3 软件需求分析 191
4.3.1 需求子任务 192
4.3.2 数据流图 195
4.3.3 信息结构及其表示法 196
4.3.4 软件需求规范书 197
4.4 软件设计 199
4.4.1 设计步骤 199
4.4.2 软件概念 200
4.4.3 结构化设计 204
4.4.4 概要设计交付文档 209
4.4.5 概要设计复审 210
4.4.6 详细设计 211
4.4.7 详细设计交付文档 218
4.4.8 详细设计复查DDR 218
4.5 结构化编码 219
4.5.1 程序的结构 219
4.5.2 代码文档 222
4.5.3 编码效率 223
4.5.4 程序设计语言的特性 224
4.5.5 交付文档和复审 225
4.6 软件测试 225
4.6.1 测试目的与定义 226
4.6.2 测试顺序 226
4.6.3 单元测试 227
4.6.4 组装测试 228
4.6.5 确认测试 230
4.6.6 测试小组 231
4.6.7 测试原则与测试技求 231
4.7 软件维护 237
4.7.1 维护的分类 237
4.7.2 易维护性 238
4.7.3 维护过程 239
习题 246
参考文献 246
第二篇 数学模型与数值算法设计 246
第五章 数学模型 246
5.1 数学模型基本概念 246
5.1.1 模型与现实 246
5.1.2 建立数学模型的步骤 247
5.1.3 模型的分类 247
5.2 初等方法 248
5.2.1 量纲分析 248
5.2.2 最优化方法基础 251
5.3 高等方法 252
5.3.1 解析解的局限性 254
5.3.2 近似方法 254
5.3.3 计算机仿真 254
第六章 数值计算的误差与算法的稳定性 254
习题 256
参考文献 256
6.1 基本概念 256
6.1.1 误差 256
6.1.2 绝对误差和相对误差 257
6.1.3 有效数字和机器数系 258
6.2 误差的传播 261
6.2.1 近似数的算术运算 261
6.2.2 浮点运算 264
6.2.3 误差估计 265
6.2.4 条件数 266
6.3 算法分析 267
6.3.1 算法的数值稳定性 267
6.3.2 算法分析规则 268
习题 271
参考文献 271
第七章 数值计算的算法设计 271
7.1 线性代数方程组的解法 271
7.1.1 高斯(Gauss)消去法 271
7.1.2 矩阵的三角分解法 277
7.1.3 三对角方程组的解法 281
7.1.4 迭代法 282
7.1.5 方法述评 288
7.1.6 逆矩阵的计算 289
7.1.7 误差分析 290
7.1.8 矩阵的特征值和特征向量 294
7.2 插值法 298
7.2.1 Lagrange插值 298
7.2.2 Newton插值公式,均差 304
7.2.3 Hermite插值法 311
7.2.4 样条插值法 313
7.2.5 最小二乘拟合 315
7.3 数值积分法 317
7.3.1 等距节点求积公式 318
7.3.2 Gauss型求积公式 326
7.3.3 重积分的近似计算 332
7.3.4 反常积分的计算 333
7.4 常微分方程的数值解法 335
7.4.1 Euler法 336
7.4.2 隆哥——库塔方法 339
7.4.3 线性多步法 340
7.4.4 常微分方程组及高阶微分方程的数值解法 345
7.4.5 边值问题的解法 347
习题 355
参考文献 355
第八章 曲线与曲面拟合方法 355
8.1 插值法与样条函数 355
8.1.1 牛顿插值法 355
8.1.2 拉格朗日插值法 356
8.1.3 三次样条曲线 357
8.1.4 三次空间参数样条曲线 358
8.1.5 三角样条函数 358
8.1.6 张力样条函数 359
8.1.7 圆弧样条曲线 360
8.1.8 二维样条函数 363
8.2 用逼近法构造曲线曲面 365
8.2.1 最小二乘法 365
8.2.2 Beta样条曲线与曲面 367
习题 369
参考文献 369
第九章 有限元法简介 369
9.1 有限元分析方法的基本原理和杆系结构分析 369
9.1.1 杆件的刚度矩阵 370
9.1.2 局部坐标系与结构坐标系的坐标变换 371
9.1.3 结构整体刚度矩阵与结构整体刚度方程式 372
9.2 连续介质的离散化及网络自动划分 375
9.2.1 连续介质的离散化 375
9.2.2 网格自动划分 378
9.3 应用举例 380
9.3.1 电力网络导纳矩阵的计算 380
9.3.2 供水系统网络 381
9.4 结构动力分析的动态有限元法 381
9.4.1 动态有限元法的基本原理 382
9.4.2 构造动态形函数的基本方法 383
9.4.3 建立二维平面单元的动态刚度和质量矩阵的方法 387
习题 391
参考文献 391
第十章 数学模型的应用 391
10.1 工程元件及系统数学模型举例 391
10.1.1 能量元件 391
10.1.2 系统的数学模型 392
10.2 系统传递函数 393
10.2.1 传递函数的基本概念 394
10.2.2 工程中常用的传递函数 395
10.2.3 传递函数的方块图 397
10.2.4 传递矩阵 399
习题 401
参考文献 401
附录A 关于书写算法的若干规定 401
附录B 软件工程中的文档格式 402