Fortran权威指南

Fortran权威指南
作 者: 奇弗斯 斯莱索尔姆 陈宝国
出版社: 人民邮电出版社
丛编项: 图灵程序设计丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: FORTRAN
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Ian Chivers和Jane Sleightholme 国际知名的Fortran权威。多年来,除了在Fortran标准制定方面做出了巨大贡献之外,两人一直在全球共同推广Fortran应用。

内容简介

Fortran语言在科学和工程计算领域的应用非常广泛。本书共31章,全面讲述Fortran编程的相关概念和知识,包括Fortran语言概述、计算机系统及其使用、Fortran的数值编程特性、Fortran的输入/输出和文件处理函数、控制结构和数据类型、子例程、模块及现代Fortran标准语言的高级特性。这是一本系统而全面的Fortran编程经典图书,既适合于初学者学习,也适合资深Fortran编程人员作为参考。

图书目录

第1章 概述 1

第2章 计算机系统概述 5

2.1 计算机系统的核心 5

2.2 计算机系统的其他组件 6

2.3 软件 7

2.4 思考题 7

2.5 参考书目 8

第3章 操作系统概述 9

3.1 操作系统的历史 9

3.2 连网 10

3.3 思考题 11

3.4 参考书目 11

第4章 计算机系统的使用 12

4.1 文件 12

4.2 编辑器 12

4.3 单用户系统 12

4.4 网络系统 13

4.5 多用户系统 13

4.6 其他有用知识 13

4.7 使用计算机系统开发Fortran程序的常用方法 14

4.8 参考书目 14

第5章 解决问题 15

5.1 自然语言 16

5.2 人工语言 16

5.3 小结 17

5.4 算法 17

5.5 系统分析与设计 18

5.6 小结 20

5.7 思考题 20

5.8 参考书目 21

第6章 编程语言简介 23

6.1 早期的理论工作 23

6.2 什么是编程语言 23

6.3 编程语言的发展与工程技术 23

6.4 早期 24

6.5 乔姆斯基与编程语言的发展 25

6.6 Lisp 26

6.7 Snobol 26

6.8 第二代语言 26

6.9 程序语言发展的其他标准 28

6.10 Ada 28

6.11 Modula 29

6.12 Modula 2 29

6.13 其他语言的发展 29

6.14 OOP 30

6.15 Fortran 90 33

6.16 Fortran 1995 34

6.17 ISO技术报告TR15580和TR 15581 34

6.18 Fortran 2003 35

6.19 DTR 19767增强模块工具 35

6.20 因特网资源 36

6.21 小结 37

6.22 参考书目 37

第7章 编程概述 42

7.1 Fortran语言的优点和缺点 42

7.2 编程语言的元素 43

7.3 变量——名称、类型和值 45

7.4 说明 46

7.5 更多Fortran规则 46

7.6 Fortran字符集 47

7.7 良好的编程指导 48

7.8 编译器 48

7.9 程序开发 48

7.10 思考题 49

第8章 运算 50

8.1 舍入和截断 53

8.2 计算光从太阳传播到地球需要的时间 54

8.3 PARAMETER语句 55

8.4 数值的范围、精度和大小 55

8.5 高级主题 57

8.6 变量的状态 66

8.7 小结 66

8.8 思考题 67

8.9 参考书目 69

第9章 数组一:基本原理 70

9.1 数据表 70

9.2 Fortran中的数组 72

9.3 DIMENSION属性 72

9.4 索引 72

9.5 控制结构 73

9.6 月降雨量 73

9.7 体重 74

9.8 小结 75

9.9 思考题 76

第10章 数组二:更多示例 78

10.1 运行时改变数组大小 78

10.2 多维数组 79

10.3 DIMENSION属性和DO循环语句的其他形式 83

10.4 DO循环和直接重复 84

10.5 小结 85

10.6 思考题 86

第11章 整个数组和数组片段的特性 88

11.1 术语 88

11.2 操作整个数组 89

11.3 数组片段 91

11.4 数组构造函数 93

11.5 屏蔽的数组赋值和WHERE语句 97

11.6 FORALL语句和FORALL构造 98

11.7 小结 99

11.8 思考题 99

11.9 参考书目 99

第12章 结果输出 100

12.1 整数:I格式或编辑描述符 100

12.2 实数:F格式或编辑描述符 102

12.3 实数:E格式或编辑描述符 105

12.4 空格 106

12.5 字符:A格式或编辑描述符 106

12.6 在FORMAT语句中混用多种输出类型 107

12.7 常见错误 107

12.8 OPEN(和CLOSE) 108

12.9 重复 109

12.10 其他例子 111

12.11 数组输出中隐式的DO循环和数组片段 112

12.12 针对行式打印机的格式化 113

12.13 输出有格式文件所需的时间 115

12.14 输出无格式文件所需的时间 116

12.15 小结 117

12.16 思考题 117

第13章 读取数据 119

13.1 从终端或键盘读取内容与从文件读取内容 119

13.2 固定字段的输入 119

13.3 空格、null和零 123

13.4 字符 124

13.5 跳过空格和多行内容 124

13.6 读取 125

13.7 再次操作文件 125

13.8 使用数组片段进行读取 126

13.9 读取有格式文件使用的时间 127

13.10 读取无格式文件使用的时间 128

13.11 读取时出现错误 128

13.12 小结 129

13.13 思考题 129

第14章 文件 130

14.1 Fortran中的数据文件 130

14.2 OPEN选项小结 132

14.3 更简单的I/O 133

14.4 小结 134

14.5 思考题 134

第15章 函数 135

15.1 预定义函数及其应用 136

15.2 泛型函数 137

15.3 基本函数 137

15.4 转换函数 137

15.5 关于函数使用的注意事项 138

15.6 示例6:计算指定年份的复活节日期 138

15.7 完整的预定义函数列表 140

15.8 提供用户定义函数 141

15.9 变量的作用域和局部变量 142

15.10 递归函数 143

15.11 示例9:GCD函数的递归形式 144

15.12 示例10:移除递归 145

15.13 纯函数 145

15.14 基本函数 145

15.15 内部函数 145

15.16 小结 146

15.17 函数语法 146

15.18 规则和限制 147

15.19 思考题 147

15.20 参考书目 148

第16章 控制结构 149

16.1 选择操作过程 150

16.2 DO语句的3种形式 155

16.3 小结 159

16.4 思考题 160

16.5 参考书目 161

第17章 字符 162

17.1 输入字符 163

17.2 字符运算符 163

17.3 字符子串 164

17.4 字符函数 165

17.5 排序序列 166

17.6 小结 167

17.7 思考题 168

第18章 复数 169

18.1 示例 170

18.2 复数和种类类型 171

18.3 小结 171

18.4 思考题 171

第19章 逻辑型 172

19.1 I/O 174

19.2 小结 174

19.3 思考题 175

第20章 用户定义的类型 176

20.1 示例1:日期 176

20.2 类型定义 177

20.3 变量定义 177

20.4 示例2:地址列表 177

20.5 示例3:嵌套用户定义的类型 178

20.6 思考题 179

20.7 参考书目 179

第21章 指针概述 180

21.1 指针的基本概念 180

21.2 ASSOCIATED内置函数 181

21.3 在赋值前引用A和B 182

21.4 NULL内置函数 184

21.5 用等号赋值 184

21.6 单链表 186

21.7 读入任意数量的数值数据 187

21.8 指针数组 190

21.9 指针数组和变长数据集:1 190

21.10 指针数组和变长数据集:2 191

21.11 内存泄漏示例 191

21.12 非标准指针的示例 193

21.13 思考题 197

第22章 子例程概述 198

22.1 示例1 199

22.2 示例2 202

22.3 示例3:使用接口块的二次方程示例 202

22.4 示例4:二次方程示例与CONTAINS语句 204

22.5 将一个问题分解成多个小问题 206

22.6 小结 206

22.7 思考题 206

第23章 深入理解子例程 208

23.1 传递参数 208

23.2 公共代码示例 209

23.3 显式形状数组示例 209

23.4 假定形状数组示例 210

23.5 字符参数和假定长度哑元 212

23.6 将秩不小于2的数组作为参数 213

23.7 自动数组与中值的计算 217

23.8 两种中值计算算法 221

23.9 递归子例程:Quicksort 224

23.10 小结 228

23.11 思考题 228

23.12 参考书目 229

23.13 商用数值和统计子例程库 230

第24章 模块概述 231

24.1 全局数据模块 232

24.2 精度规范和常量定义模块 232

24.3 共享数组模块 233

24.4 派生数据类型模块 234

24.5 包含过程的模块:快速排序示例 236

24.6 包含过程的模块:统计示例 239

24.7 使用高斯消元法求解线性方程 241

24.8 模块使用和编译过程的说明 245

24.9 小结 245

24.10 思考题 245

24.11 参考书目 246

第25章 实现从Fortran 77的转换 247

25.1 删减的特性 247

25.2 废弃的特性 247

25.3 改善的替代方法 248

25.4 示例1 249

25.5 示例2 255

25.6 商业转换工具 256

25.7 小结 277

25.8 思考题 277

第26章 案例分析 278

26.1 使用链表求解稀疏矩阵 278

26.2 利用Runga-Kutta-Merson方法求解一阶常微分方程组 282

26.3 泛型过程 289

26.4 返回变长数组的函数 294

26.5 运算符和赋值重载 295

26.6 将矩阵对角元素开方的子例程 296

26.7 完全平衡二叉树 298

26.8 纯函数示例 299

26.9 基本函数示例 300

26.10 基本子例程示例 302

26.11 日期类 302

26.12 图形示例 314

26.13 思考题 319

26.14 参考书目 320

第27章 ISO TR 15580 IEEE算术 321

27.1 历史 321

27.2 IEEE 754规范 323

27.3 小结 326

27.4 ISO TR 15580 326

27.5 小结 332

27.6 参考书目 332

第28章 ISO TR 15581可分配增强功能 335

28.1 可分配哑数组示例 335

28.2 可分配函数结果示例 337

28.3 可分配结构组件示例 339

28.4 小结 339

28.5 注意事项 339

第29章 Fortran 2003和增强的模块特性 340

29.1 派生类型增强功能 340

29.2 面向对象的编程支持 340

29.3 数据操作增强功能 340

29.4 输入/输出增强功能 341

29.5 与C编程语言的互操作性 341

29.6 过程指针 341

29.7 作用域增强功能 341

29.8 支持IEC 60559(IEEE 754)异常和运算 342

29.9 支持国际使用:(ISO 10646) 342

29.10 与主机操作系统的增强集成功能 342

29.11 ASSOCIATE结构 342

29.12 增强的模块特性 343

29.13 小结 343

第30章 并行编程 344

30.1 消息传递接口 344

30.2 Co-array Fortran 344

30.3 Openmp 344

30.4 PVM 345

30.5 HPF 345

30.6 并行编程和高性能计算 345

30.7 小结 346

第31章 杂项 347

31.1 程序开发和软件工程 347

31.2 数据结构 349

31.3 算法 349

31.4 递归 349

31.5 结构化编程和GOTO语句 349

31.6 效率、时间和空间的平衡 350

31.7 程序测试 350

31.8 简单的调试技术 350

31.9 软件工具 351

31.10 数值软件资源 351

31.11 尾声 352

31.12 参考书目 352

附录A 词汇表 354

附录B 样本程序示例 359

附录C ASCII字符集 362

附录D 内置函数和过程 363

附录E 英语和拉丁语文本 387

附录F 编码文本摘录 388

附录G 正式语法 389

附录H 编译器选项 393