FORTRAN程序设计权威指南
《FORTRAN程序设计权威指南》
基本信息
作者: 白海波
出版社:机械工业出版社
ISBN:9787111421146
上架时间:2013-7-23
出版日期:2013 年7月
开本:16开
页码:1
版次:1-1
所属分类:计算机 > 软件与程序设计 > 综合 > 高级程序语言设计
更多关于 》》》《
FORTRAN程序设计权威指南》
内容简介
计算机书籍
fortran语言作为一门专门用于科学计算的程序设计语言,始终在科学计算领域中占据着举足轻重的位置。本书以fortran 2003标准作为编写依据,同时对fortran 2008标准中的新特性也进行了相应的介绍。
全书共分为18章,主要包括fortran语言简介、fortran编译器的安装及使用、程序设计方法与程序算法、fortran语言的基础知识、输入输出及声明、选择结构设计、循环结构设计、数组、过程、文件、结构体及指针、fortran模块及面向对象程序设计、fortran数据结构及算法、常用的数值计算方法和coarray与并行计算等fortran语言的基础及高级内容。本书使用大量的实例来进行内容的讲解,并且还专门用4章的篇幅讲解fortran语言常用的数值计算方法,读者在实际编程中可以直接使用。
《fortran程序设计权威指南》通过实例进行知识点的讲解,语言平实易懂,方便读者快速掌握fortran语言。本书可以作为各大、中专院校进行fortran语言教学的教材,也可以作为fortran程序开发人员进行实际开发时的参考用书。
目录
《fortran程序设计权威指南》
前言
第1章 fortran语言简介
1
1.1 fortran的发展历史
1
1.2 fortran的新发展
3
1.3 fortran语言的特点
4
第2章 fortran编译器的安装及使用
5
2.1 编译器简介
5
2.1.1 compaq visual fortran编译器
5
2.1.2 intel visual fortran编译器
6
2.2 visual fortran的安装
7
2.2.1 visual studio 2010安装
7
2.2.2 intel visual fortran xe 2011安装
10
2.3 visual fortran的使用
11
2.3.1 初次使用配置
11
2.3.2 用visual fortran
编写、编译运行程序
12
2.3.3 用visual fortran调试程序
15
2.3.4 利用intel visual fortran移植compaq visual fortran的工程
18
2.4 本章小结
19
.第3章 程序设计方法及程序算法
20
3.1 程序设计方法简介
20
3.2 算法的概念及特性
21
3.2.1 算法的概念
21
3.2.2 简单算法举例
22
3.2.3 算法的特性
26
3.3 算法的表示方法
27
3.3.1 用自然语言表示算法
27
3.3.2 用流程图表示算法
28
3.3.3 三种基本结构
31
3.3.4 用n-s流程图表示算法
34
3.3.5 用伪代码表示算法
36
3.3.6 用计算机语言表示算法
38
3.4 本章小结
39
第4章 二进制及fortran 程序设计基础
40
4.1 计算机中数据的表示方法
40
4.1.1 计算机中的进位数制
40
4.1.2 机器数和码制
42
4.2 fortran字符集
44
4.2.1 英文字母
45
4.2.2 数字
45
4.2.3 下划线
45
4.2.4 特殊字符
45
4.2.5 fortran中的关键字
45
4.3 fortran书写格式
46
4.3.1 固定格式
46
4.3.2 自由格式
48
4.3.3 兼容源程序格式
49
4.4 fortran程序结构
50
4.4.1 fortran程序单元
50
4.4.2 fortran语句顺序
52
4.4.3 空格的使用
53
4.4.4 注释的书写
54
4.5 fortran数值型常量及其类型
55
4.5.1 整型常量
55
4.5.2 实型常量
55
4.5.3 复型常量
56
4.5.4 字符型常量
56
4.5.5 符号常量
56
4.6 fortran变量
57
4.6.1 变量的命名规则
57
4.6.2 变量的声明
58
4.6.3 整型变量
59
4.6.4 实型变量
61
4.6.5 复型变量
63
4.6.6 字符及字符串
64
4.6.7 逻辑型变量
66
4.6.8 变量的初始化
67
4.7 运算符及表达式
68
4.7.1 算术运算符及表达式
69
4.7.2 关系运算符及表达式
71
4.7.3 逻辑运算符及表达式
73
4.8 运算符优先级
76
4.9 语句
76
4.9.1 赋值语句
77
4.9.2 include语句
79
4.9.3 程序控制语句
80
4.10 本章小结
81
第5章 输入输出及声明
82
5.1 输入输出概述
82
5.2 简单输入语句
82
5.2.1 read语句输入形式一
83
5.2.2 read语句输入形式二
84
5.2.3 read语句使用注意事项
84
5.3 简单输出语句
86
5.3.1 print输出语句
86
5.3.2 write输出语句
87
5.3.3 表控输出语句注意事项
88
5.4 格式化输入输出命令
89
5.4.1 格式化输入输出语句概述
89
5.4.2 数据格式编辑符
92
5.4.3 控制格式编辑符
103
5.4.4 字符串编辑符
108
5.5 有名i/o列表
108
5.5.1 namelist语句
108
5.5.2 namelist语句示例
109
5.5.3 i/o实体
110
5.6 程序举例
110
5.7 本章小结
112
第6章 选择结构程序设计
113
6.1 if语句
114
6.1.1 单分支if语句
114
6.1.2 双分支if语句
115
6.1.3 多分支if语句
117
6.1.4 逻辑if语句
119
6.2 select case控制语句
120
6.3 选择语句的嵌套
122
6.4 其他程序流程控制语句
123
6.4.1 goto语句*
124
6.4.2 pause、continue、stop语句
125
6.5 程序举例
126
6.6 本章小结
131
第7章 循环结构程序设计
132
7.1 循环结构控制程序设计概述
132
7.2 带循环变量的do语句
133
7.2.1 do语句循环简介
133
7.2.2 带循环变量的do循环结构
133
7.2.3 带循环变量的do循环细节说明
135
7.2.4 do循环的执行过程
138
7.2.5 带循环变量的do语句程序举例
138
7.3 do while语句
141
7.3.1 do while语句基本格式
141
7.3.2 do while语句的执行过程
141
7.3.3 do while语句使用举例
142
7.4 循环流程控制语句
143
7.4.1 exit语句
143
7.4.2 cycle语句
145
7.5 无循环变量的do语句
146
7.6 使用goto语句进行循环设计
147
7.7 循环语句的嵌套
148
7.7.1 循环嵌套的语法结构
148
7.7.2 循环嵌套的执行过程
149
7.7.3 循环嵌套的使用说明
150
7.8 不同循环语句的区别与联系
153
7.9 程序举例
154
7.10 本章小结
159
第8章 数组
161
8.1 数组概述
161
8.2 数组的定义
163
8.2.1 用类型说明语句定义数组
163
8.2.2 用dimension语句定义数组
164
8.2.3 用类型说明语句和dimension语句定义数组
165
8.3 数组的引用
165
8.3.1 数组整体引用
166
8.3.2 单个元素的引用
166
8.3.3 片段法引用多个数组元素
167
8.4 数组元素的存储结构
169
8.4.1 数组元素的存储结构
169
8.4.2 数组存储结构的应用
171
8.5 数组的赋值
172
8.5.1 数组赋值语句
172
8.5.2 data语句*
173
8.5.3 数组构造器
176
8.6 数组的输入输出
178
8.6.1 一维数组的输入输出
178
8.6.2 二维数组的输入输出
180
8.6.3 多维数组的输入输出
183
8.7 动态数组
183
8.7.1 动态数组的定义
184
8.7.2 动态数组空间的分配及释放
184
8.7.3 动态数组的应用举例
185
8.8 数组的运算
187
8.8.1 数组的算术运算
188
8.8.2 数组的逻辑运算
190
8.9 数组的常用内在函数
192
8.9.1 矩阵相乘函数
192
8.9.2 向量点乘函数
193
8.9.3 元素求积函数
193
8.9.4 元素求和函数
194
8.9.5 数组大小查询函数
194
8.9.6 数组形状查询函数
194
8.9.7 数组合并函数
195
8.9.8 数组压缩函数
195
8.9.9 数组转置函数
195
8.9.10 数组最大值最小值函数
196
8.9.11 数组最大值最小值定位函数
196
8.10 数组操作语句
197
8.10.1 where语句
198
8.10.2 forall语句
200
8.11 数组应用举例
201
8.12 本章小结
204
第9章 fortran过程
205
9.1 fortran程序单元概述
205
9.2 语句函数*
206
9.2.1 语句函数的定义及引用
206
9.2.2 语句函数使用注意事项
208
9.3 函数子程序(function)
209
9.3.1 函数子程序的定义
209
9.3.2 函数子程序的调用
210
9.4 子例行子程序(subroutine)
211
9.4.1 子例行子程序的定义
212
9.4.2 子例行子程序的调用
212
9.5 实参和形参之间的数据传递方式
214
9.5.1 变量作为形参
215
9.5.2 数组作为形参
217
9.5.3 子程序名作为形参
221
9.5.4 星号(*)作为形参
224
9.6 特殊的参数属性
225
9.6.1 intent属性
225
9.6.2 接口(interface)
227
9.6.3 可选参数optional
229
9.6.4 改变参数位置的方法
231
9.7 局部变量与save属性
233
9.7.1 变量的作用范围
233
9.7.2 变量的save属性
234
9.8 公用存储单元与数据块程序单元*
236
9.8.1 公用语句(common)
236
9.8.2 数据块子程序 (block data)
239
9.9 特殊数组及可分配数组做子程序参数
240
9.9.1 自动数组(automatic arrays)
241
9.9.2 可分配数组做形参
241
9.9.3 可分配函数子程序
243
9.9.4 自动数组和可分配数组的比较
244
9.10 特殊的过程类型
244
9.10.1 递归过程(recursive)
244
9.10.2 纯过程(pure procedures)
247
9.10.3 逐元过程(elemental procedures)
248
9.11 内部过程
249
9.12 过程中的其他功能*
251
9.12.1 entry语句
251
9.12.2 另一个子程序的返回点
253
9.12.3 内在函数做参数
254
9.13 本章小结
255
第10章 文件及高级i/o应用
256
10.1 文件基本概念
256
10.1.1 设备号
257
10.1.2 文件分类
257
10.1.3 文件的构成——记录
258
10.1.4 文件的存取方式
258
10.1.5 文件的结构
258
10.1.6 文件的定位
259
10.2 文件基本操作语句
260
10.2.1 open语句
260
10.2.2 close语句
264
10.2.3 read语句
265
10.2.4 write语句
267
10.2.5 inquire语句
267
10.2.6 rewind语句
269
10.2.7 backspace语句
270
10.2.8 endfile语句
270
10.2.9 flush语句
270
10.2.10 wait语句
270
10.2.11 eof函数
270
10.3 文件的使用
271
10.3.1 有格式顺序存取文件
271
10.3.2 有格式直接存取文件
275
10.3.3 无格式顺序存取文件
277
10.3.4 无格式直接存取文件
279
10.3.5 二进制顺序存取文件
281
10.3.6 二进制直接存取文件
285
10.4 流访问模式
286
10.5 异步输入输出
286
10.6 与操作系统相关的i/o信息
287
10.7 本章小结
287
第11章 结构体及指针
288
11.1 派生类数据类型概述
288
11.2 结构体的定义和引用
290
11.2.1 结构体变量和结构体数组的定义
290
11.2.2 结构体成员的引用
293
11.3 结构体的初始化和使用
294
11.3.1 在结构体声明中进行初始化
294
11.3.2 使用赋值语句进行初始化
295
11.3.3 使用输入语句进行初始化
295
11.3.4 使用data语句进行初始化
296
11.3.5 结构体数据输入与输出
298
11.3.6 结构体数组的使用举例
299
11.4 指针的概念和指针变量的定义
304
11.4.1 指针的概念
304
11.4.2 指针变量的定义
305
11.4.3 指针变量的引用*
305
11.4.4 悬空指针和无法访问的内存
310
11.5 指针与数组
310
11.5.1 指向数组的指针
310
11.5.2 指针数组
312
11.6 指针与链表
313
11.6.1 链表的概念
314
11.6.2 建立链表
314
11.6.3 插入结点
316
11.6.4 删除结点
317
11.7 本章小结
318
第12章 fortran模块及面向对象程序设计
320
12.1 模块概述
320
12.2 模块的组成和使用
322
12.2.1 模块的组成
322
12.2.2 模块中的变量
322
12.2.3 模块的公有属性和私有属性
324
12.2.4 模块的使用
326
12.3 面向对象的程序设计概述
328
12.3.1 对象简述
328
12.3.2 面向对象程序设计的特点
329
12.4 模块的重载性应用
329
12.4.1 子程序重载
330
12.4.2 操作符重载
331
12.4.3 赋值号重载
333
12.5 继承性和多态性
334
12.5.1 继承性
334
12.5.2 多态性
337
12.6 本章小结
337
第13章 fortran数据结构及算法
338
13.1 概述
338
13.1.1 什么是数据结构
338
13.1.2 基本概念和术语
340
13.1.3 逻辑结构和物理结构
341
13.1.4 抽象数据类型
343
13.1.5 fortran算法和算法特性
344
13.2 排序
347
13.2.1 冒泡排序
348
13.2.2 选择排序
350
13.2.3 插入排序
351
13.2.4 希尔排序
353
13.2.5 快速排序
354
13.3 查找
356
13.3.1 查找概述
357
13.3.2 顺序表查找
358
13.3.3 有序表查找
360
13.4 本章小结
366
第14章 矩阵分解及特殊函数
367
14.1 矩阵分解
367
14.1.1 crout分解
367
14.1.2 doolittle分解
370
14.1.3 cholesky分解
372
14.2 矩阵的特征值与特征向量
374
14.2.1 乘幂法计算主特征值及其特征向量
374
14.2.2 乘幂法2范数单位化方法
376
14.2.3 rayleigh加速方法
378
14.2.4 修正的rayleigh加速方法
380
14.2.5 qr分解法
383
14.3 bessel函数、beta函数和gamma函数
385
14.3.1 第一类整数阶bessel函数
385
14.3.2 第二类整数阶bessel函数
391
14.3.3 gamma函数
397
14.3.4 不完全gamma函数
399
14.3.5 beta函数与χ2分布函数
402
14.4 fortran 2008新增的内部函数
406
14.4.1 bessel函数
406
14.4.2 误差函数
406
14.4.3 距离函数
406
14.4.4 gamma函数
406
14.4.5 欧式向量范数
407
14.5 本章小结
407
第15章 解方程及方程组
408
15.1 解线性方程组
408
15.1.1 gauss消元法
408
15.1.2 选主元消元法
410
15.1.3 lu分解法
413
15.1.4 追赶法
415
15.1.5 jacobi迭代法
418
15.1.6 gauss-seidel迭代法
420
15.1.7 逐次超松弛迭代法
423
15.1.8 最速下降法
425
15.1.9 共轭梯度法
428
15.2 非线性方程求根
431
15.3 非线性方程组的数值解法
433
15.4 本章小结
437
第16章 数值分析
438
16.1 最小二乘与数据拟合
438
16.1.1 cholesky分解法计算最小二乘
438
16.1.2 householder镜像变换之qr分解
442
16.1.3 qr分解法计算最小二乘问题
445
16.1.4 最小二乘曲线拟合
448
16.2 多项式插值
452
16.2.1 多项式插值之
lagrange插值
452
16.2.2 多项式插值之newton插值
454
16.2.3 多项式插值之hermite插值
456
16.2.4 多项式插值之反插值
458
16.3 数值微分
460
16.3.1 中点公式
460
16.3.2 richardson外推法
463
16.4 数值积分
465
16.4.1 复化梯形公式
465
16.4.2 复化simpson公式
467
16.4.3 romberg积分
468
16.5 三次样条插值
470
16.5.1 三次样条插值之第一边界条件
471
16.5.2 三次样条插值之第二边界条件
476
16.5.3 三次样条插值之第三边界条件
480
16.6 本章小结
486
第17章 常微分方程及方程组
487
17.1 四阶runge-kutta法
487
17.2 gill方法
492
17.3 runge-kutta法计算微分方程组
494
17.4 adams-bashforth三步三阶法
499
17.5 adams-bashforth四步四阶法
505
17.6 三阶预测校正方法
510
17.7 四阶预测校正方法
517
17.8 本章小结
523
第18章 coarray与并行计算
524
18.1 什么是并行计算
524
18.1.1 并行计算机
524
18.1.2 并行编程模式
525
18.1.3 并行语言
526
18.2 coarray的历史
527
18.3 coarray简介
527
18.4 支持spmd编程风格的coarray
530
18.4.1 程序镜像
530
18.4.2 coarray数据声明与访问
530
18.4.3 固有过程
531
18.5 coarray fortran简单实例
532
18.5.1 一个实例
532
18.5.2 设置镜像数目
533
18.6 coarray fortran高级实例
535
18.6.1 基础知识
535
18.6.2 镜像的引用
536
18.6.3 高级实例——矩阵相乘
539
18.7 本章小结
541
附录 fortran内置函数
542
参考文献
548