




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、FORTRAN 筆記2014.10.07目錄第七講 _FORTRAN 的基本知識.ppt 2FORTRAN 語言程序設(shè)計初步 2FORTRAN 源程序的書寫格式(以77 為例) 2變量 2變量類型 2算術(shù)運算符和運算優(yōu)先級 3賦值語句 3參數(shù)語句(PARAMETER 語句) 3END 語句 3PAUSE 語句 3邏輯運算和選擇結(jié)構(gòu) 4關(guān)系表達式 4FORTRAN 中數(shù)組的定義及使用 4其他 51. fortran 語言定義CHARACTER*6 TTL(14,3),CNAM(400) 是什么意思? 52. fortran 里character*10 是什么意思 53. Fortran 中kin
2、d是什么函數(shù)? 5第七講 _FORTRAN 的基本知識.pptFORTRAN 語言程序設(shè)計初步FORTRAN 是 Formula Translation 的縮寫,意為“公式翻譯”,它是為科學、工程問題或企事業(yè)管理中的那些能夠用數(shù)學公式表達的問題而設(shè)計的,其數(shù)值計算的功能較強。常用的是FORTRAN77 和 FORTRAN90 兩種標準。1、一個程序由若干個程序單位組成。主程序和每一個子程序分別是一個獨立的程序單位。2、每一個程序單位都是以“END ”結(jié)束的。3、一個程序單位包括若干行。1) 語句行 。由一個FORTRAN 語句組成。2) 非語句行,即 注釋行 。4、 FORTRAN 程序中的語
3、句可以沒有標號,也可以有標號,根據(jù)需要而定。標號的作用是標志一個語句以便被其他語句引用。5、一個程序單位中各類語句的位置是有一定規(guī)定的。6、 FORTRAN 源程序必須按一定的格式書寫。FORTRAN 源程序的書寫格式(以77 為例)每一行有80 列,分別如下:1、第 1-5 列為標號區(qū)。一行中第一列為“C”或“*”,該行即被認為是注釋行。2、第6 列為“續(xù)行標志區(qū) ”,如果在一行的第 6 列上寫一個非空格和非零的字符,則該行作為其上一行的續(xù)行。3、第7-72 列為語句區(qū)。4、第73-80 列,注釋區(qū)。變量變量名:一個變量需要用一個名字(變量名)來識別。在同一個程序單位中不能用同一個變量名代表
4、兩個不同的變量。FORTRAN 的變量名按以下規(guī)則選定:1)第一個字符必須是字母,即變量名必須以字母開頭;2)在一個字母后面可以跟1-5 為數(shù)字或字母。如果選定的變量名超過6 個字符,則只有前面6 個字符有效。注:在變量名中大寫與小寫字母是等價的。變量類型整型變量Integer、實型變量Real、雙精度變量Double Precision 、復型變量Complex、邏輯型變量Logical 和字符型變量Character。1、 隱含約定(I-N 規(guī)則)FORTRAN 規(guī)定:在程序中的變量名,凡以字母I, J, K, L, M, N 六個字母開頭的,即認為該變量為整型變量。在程序中,凡是變量名以
5、字母I,J,K,L,M,N,i,j,k,l,m,n 開頭的變量被默認為整型變量,以其他字母開頭的變量被默認為實型變量。2、用類型說明語句確定變量類型1) INTEGER 語句(整型說明語句)2) REAL 語句(實型說明語句)3) DOUBLE PRECISION 語句(雙精度說明語句)4) COMPLEX 語句(復型說明語句)5) LOGICAL 語句(邏輯型說明語句)6) CHARACTER 語句(字符型說明語句) 內(nèi)部數(shù)據(jù)類型分為兩類:數(shù)值型(整型、實型和復型)和非數(shù)值型(字符型和邏輯型)3、用IMPLICIT 語句(隱含說明語句)指定變量類型例: IMPLICIT INTEGER(A,
6、C,T -V)以上三種方法中,以類型說明語句最優(yōu)先,IMPLICIT 語句次之,“ I-N 規(guī)則”的隱含約定級別最低。類型說明只在本程序單位內(nèi)有效。IMPLICIT 語句和類型說明語句應該出現(xiàn)在本程序單位中的所有執(zhí)行語句的前面,其中, IMPLICIT 語句又應在所有的類型說明語句的前面。算術(shù)運算符和運算優(yōu)先級算術(shù)運算符和運算優(yōu)先級:+表示“加”(或正號)* 表示“減”(或負號)* 表示“乘”/表示“除”* * 表示“乘方” 優(yōu)先級次序:* * 最高* , /次之+, -最低注:同類型的算術(shù)量之間運算的結(jié)果仍保持原類型。如果參加運算的兩個算術(shù)量為不同類型,則編譯系統(tǒng)會自動將它們轉(zhuǎn)換成同一類型然
7、后進行運算。轉(zhuǎn)換的規(guī)律是:將低級類型轉(zhuǎn)成高級類型。賦值語句賦值語句的作用是將一個確定的值賦給一個變量。其一般格式為:V=e* 代表一個變量名,e 代表一個表達式。參數(shù)語句(PARAMETER 語句)PARAMETER 語句與賦值語句不同,它是非執(zhí)行語句,在程序定義一個符號常量后,不能再改變它的值。它應寫在所有執(zhí)行語句之前,符號常量的定名規(guī)則與定變量名相同。在一個參數(shù)語句中可以定義多個符號常量。優(yōu)點:如果需要改變某一常數(shù)時,不需一一改變這個常數(shù),只需改變參數(shù)語句中符號常量的值即可。END 語句作用: 1)結(jié)束本程序單位的運行;2)作為一個程序單位的結(jié)束標志。PAUSE 語句暫停語句,在程序中假如
8、幾個PAUSE 語句,即設(shè)幾個“斷點”,把程序分成幾段,調(diào)試程序時一段一段地檢查,在調(diào)試完成后再將所有的PAUSE 刪去。一般形式:PAUSE( n)N 是輸出信息,程序員可以由此辨認程序的流程。邏輯運算和選擇結(jié)構(gòu) 用塊 IF 結(jié)構(gòu)來實現(xiàn)選擇結(jié)構(gòu),其形式為:IF(條件)THENthen 塊ELSEelse塊ENDIFthen 塊” ,否則,執(zhí)行“else塊” 。它的執(zhí)行邏輯為:如果給定的條件成立則執(zhí)行“關(guān)系表達式 關(guān)系表達式是最簡單的一種邏輯表達式。其形式:<算術(shù)量> <關(guān)系運算符> <算術(shù)量>關(guān)系運算符:>(.GT.)>= (.GE.)<
9、(.LT.)<= (.LE.)= = (.EQ.)/= (.NE.)注意:1)關(guān)系運算符的兩個字母的兩側(cè)各有一個句點。2)在一個關(guān)系表達式中可能包括算術(shù)運算符和關(guān)系運算符,它們的運算次序為:先進行算術(shù)運算,然后進行關(guān)系運算。3)關(guān)系表達式是將兩個數(shù)值進行比較,這兩個數(shù)值量可以是不同類型的量。例:整型和實型。4)關(guān)系表達式的值不是一個數(shù)值,而是一個邏輯量。FORTRAN 中數(shù)組的定義及使用From: Fortran 95 程序設(shè)計彭國倫1.基本使用:一維數(shù)組:datatype name (size)datatype: integer, real, complex, logical, 或 t
10、ype 自定義出來的類型。integer, parameter : students = 5integer : student (students)其他定義方法:integer a(10) ! 最簡單的integer, dimension (10) : a ! 另外的方法integer, dimension (10) : a,b,c ! 一起定義integer a !f77 先聲明 a 是整型,dimension a(10) !再聲明a是大小為10 的數(shù)組或 typetype : personreal :height, weightend typetype (person) : a(10)a(
11、2)%height = 180.0二維數(shù)組:integer a(3, 3)a(1,1) = 3定義方法:integer a(10,10)integer, dimension (10, 10) : a,b,cinteger adimension a(10,10) ! f77, 先定義類型二維數(shù)組常用來當作矩陣使用。多維數(shù)組:fortran 最多可聲明高達七維的數(shù)組。integer a(D1,D2,.,Dn) ! n 維一般說來,越高維數(shù)組讀數(shù)據(jù)越慢。另類聲明方法:integer a(5) 可使用的是a(1), a(2), a(3), a(4), a(5)integer a(0:5) 下標可使用的
12、是0 5, a(0),a(1),.,a(5)六個元素。integer a(-3: 3) 可以使用的是a(-3), a(-2), a(-1), a(0),.,a(3)七個元素。integer a (5,0:5) 可用 a(15, 05)integer b(2:3, -1:3) 可用 b(23, -13)其他1. fortran 語言定義CHARACTER*6 TTL(14,3),CNAM(400) 是什么意思?表示定義字符串,每個字符串長度是6。一共定義兩個該長度字符串的數(shù)組,一個叫TTL ,二維數(shù)組,14 * 3 個元素。另一個叫CNAM ,一維數(shù)組,400個元素。2. fortran 里 c
13、haracter*10 是什么意思就是限定最大為 10 個字符3. Fortran 中 kind 是什么函數(shù)?查看變量所占內(nèi)存空間的字節(jié)數(shù)。聲明整型數(shù)、浮點數(shù)變量所占用的內(nèi)存字節(jié)4. bytes 字節(jié)1byte 有 8 位,可以表示一個字母、數(shù)字或符號(一個漢字占兩字節(jié))1 byte = 8 bit1 KB = 1024 bytes =210 bytes1 MB = 1024 KB = 220 bytes1 GB = 1024 MB = 230 bytes5. Fortran 聲明變量(經(jīng)典)大家好:我剛剛接觸Fortran, 看見個代碼中用了dimension 這個東西,我在書里翻了一下,沒
14、看到 dimension 可以聲明變量。請問這個是什么意思呢?謝謝!Program Main_hydrusdouble precision P,R,S,Q,RTime1,t,tInit,tOld,RTime,tMax,tAtm,tPrint1,tAtm1,tAtm2,tAtmOld,tAtmN,tAtm2O, TPrint,tPrintIntcharacter cFileName*260,cDataPath*260,ccname*260dimension x(NumNPD),hNew(NumNPD),hOld(NumNPD),hTemp(NumNPD)dimension 在 fortran 是
15、定義數(shù)組,樓主的程序段中,dimension x(NumNPD),hNew(NumNPD),hOld(NumNPD),hTemp(NumNPD)定義了x, hNew, hOld, hTemp 四個一位數(shù)組,括號內(nèi)的變量代表了數(shù)組的大小。需要注意的是在 fortran 中默認以 a-h 和 o-z 開頭的變量為實型變量,而其他的均為整型變量,所以在這里NumNPD 是一個整型變量。例如: dimension x(100)即定義了一個容量了100 的一維數(shù)組,記為x(100),上述四個數(shù)組含義類似。fortran 語言對語法要求相對嚴格一些,祝學習順利!以上愚見,如有不當之處,請見諒 dimens
16、ion 是聲明數(shù)組大小用的。比如:real adimension a(10)fortran90 的新語法可以寫成:real a(10)不過我看lz 的代碼前面都有縮進,所以估計是舊語法。新語法向前兼容,但是老板看不懂6. Fortran 里面的 return 語句怎么用?目前遇到遇到如何把C 語言代碼轉(zhuǎn)換成Fortran 語句的問題。因為 C 語言里面有return, 返回值給主調(diào)函數(shù)。Fortran里面也有return 語句,但是用法含義是否與C 語言相同呢?求助高手!本人菜鳥,剛剛開始Fortran,不知道retrun 語句怎么用。 。 。而且也不知道哪個語句具有與C 中的 return
17、中相同的功能。 。 。 。找了一些書,也沒有找到介紹。 。求助! Fortran 里面也有return 語句, 但是用法含義是否與C 語言相同呢?哪個語句具有與C 中的 return 中相同的功能呢?謝謝! ! ! !Fortran 中可以不用return 啊。如果是子程序,返回值都直接寫在子程序的參數(shù)序列中了如果是函數(shù),函數(shù)名本身就是返回值所依附的變量不明白你為什么要把C 轉(zhuǎn)為Fortran,有什么特別的理由嗎? "Return" is used in a subroutine for conditionally exiting the subroutine.retrur
18、n 語句如果放到子程序的末尾(即 end 之前的話,跟不用 return 沒有什么區(qū)別,這種情況可以不用); 如果不是上面的這樣,放在子程序其它位置的,表示程序執(zhí)行到return 語句的時候就返回到主程序中。7. 開方 SQRT 函數(shù)SQRTElemental Intrinsic Function (Generic): Derives the square root of its argument. 單元內(nèi)部函數(shù)Syntax 語法result = SQRT (x)x(Input) must be of type real or complex. If x is type real, its v
19、alue must be greater than or equal to zero.輸入的 x 必須為實型或復型。假如x 的類型為實型,x 的值必須大于或等于0Results:The result type is the same as x. The result has a value equal to the square root of x. A result of type complex is the principal value, with the real part greater than or equal to zero. When the real part of th
20、e result is zero, the imaginary part is greater than or equal to zero.開平方函數(shù)的類型與x 一樣。其結(jié)果是x 的開平方值。復型的開平方是個主值,實部大于或等于0。當實部等于0時,虛部大于或等于08. 空格Fortran77 會忽略行中的空格,關(guān)鍵字和變量中可以有空格。Free Format(自由格式)Fortran90 與 95 格式空格: 在語句名和變量名中間不能有空格。需要空格的地方必須有一個以上空格( GOTO 和 GO TO , ELSEIF 和 ELSEIF, END 構(gòu)造名(構(gòu)造名有:DO, PROGRAM, F
21、UNCTION, MODULE, SUBROUTINE) 等有兩種寫法的除外),如關(guān)系運算符=, <= 不能寫成= =, < =。這與 F77 有很大不同之處,因為F77 的設(shè)計中將編譯源程序的空格忽略。9. 雙精度若指數(shù)標識為D 或 d,則表示該實數(shù)為雙精度實數(shù),等價于kind 值為8,但不能指定kind 值,即 D 指數(shù)不允許指定實型 kind 值。表 實數(shù)的存儲空間、精度及取值范圍實型類型名字節(jié)數(shù)精度(有效數(shù)字)取值范圍單精度46-7± 3.40282347E38-± 1.17549435E-38雙精度815-16± 2.225073858507
22、2013D308-± 1.7976931348623158 D -308表 整數(shù)的存儲空間及取值范圍整型類型名字節(jié)數(shù)取值范圍integer(1)1-128127短整型integer(2)2-3276832767長整型integer4-21474836482147483647integer(8)8-263263-1 ( Alpha 系統(tǒng))Fortran 95 程序設(shè)計(書籍彭國倫編著)Chapter 3 Fortran 程序設(shè)計基礎(chǔ)3-1 字符集“字符集”是指編寫 Fortran 程序時,所能使用的所有字符及符號。26 個英文字母(不區(qū)分大小寫)0-9 數(shù)字22 個特殊符號3-2 書面
23、格式Fixed Format(固定格式),擴展名為*.F 或 *.FOR 文件Fixed Format 是為了配合早期使用穿孔卡片輸入程序所發(fā)明的格式。Free Format(自由格式),擴展名為*.F90 文件3-3 Fortran 的數(shù)據(jù)類型數(shù)據(jù)類型:使用Fortran 在計算機內(nèi)存中記錄文本、數(shù)值等數(shù)據(jù)的最小單位及方法整數(shù)(Integer) 、浮點數(shù)(Real) 、復數(shù)(Complex) 、字符(Character) 、邏輯判斷(Logical )3-4 Fortran 的數(shù)學表達式Chapter 4 輸入輸出及聲明1. Implicit 命令Fortran 標準中, 變量不一定要經(jīng)過程序的聲明才能使用,編譯器會根據(jù)變量名稱的第一個字母來自動決定這個變量的類型。第1 個字母為I、 J、 K、 L、 M、 N 的變量被視為整數(shù)類型,其他的變量則被當成浮點數(shù)來使用。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專利共同申請合同
- 農(nóng)業(yè)專家顧問聘用合同協(xié)議書
- 投資擔保公司合同書
- 營銷現(xiàn)場作業(yè)安全管理和反竊電技能競賽參考復習試題附答案
- 變壓器安裝施工合同
- 培訓學校外包合同
- 采購粽子合同范本
- 《北京喜獲年奧運會主辦權(quán)》課件-1
- 設(shè)計制作補充合同范本
- 醫(yī)院員工合同電子版(2025年版)
- 湖南新高考教學教研聯(lián)盟暨長郡二十校聯(lián)盟2025屆高三年級第二次聯(lián)考英語試題及答案
- 小學生校園安全教育
- 2025年徽商集團校園招聘12人筆試參考題庫附帶答案詳解
- 保潔施工方案新
- 15 青春之光 公開課一等獎創(chuàng)新教學設(shè)計
- 2024年全國中學生數(shù)學奧林匹克競賽內(nèi)蒙古賽區(qū)初賽試卷(解析版)
- CJ/T 158-2002 城市污水處理廠管道和設(shè)備色標
- 【小學生抗挫折能力培養(yǎng)淺析6400字(論文)】
- 風險分級管控責任清單(橋梁工程)
- 基礎(chǔ)工程柱下獨立基礎(chǔ)課程設(shè)計
- 加油機計量作弊新動向解析與查處技巧加油機反作弊資料(二)
評論
0/150
提交評論