《FORTRAN程序設計權威指南》
基本信息
做者: 白海波
出版社:機械工業出版社
ISBN:9787111421146
上架時間:2013-7-23
出版日期:2013 年7月
開本:16開
頁碼:1
版次:1-1
所屬分類:計算機 > 軟件與程序設計 > 綜合 > 高級程序語言設計
內容簡介
計算機書籍
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