《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 可选参数optional229
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编程风格的coarray530
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