版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第6章 常用內(nèi)部過程 Fortran提供了大量的內(nèi)部過程供程序員在編程過程中使用。6.1 內(nèi)部過程概述 在Fortran語言中,有很多常用的數(shù)學(xué)過程、字符處理過程和系統(tǒng)過程。其中,數(shù)學(xué)過程和字符處理過程通常是以函數(shù)子程序的形式存在,系統(tǒng)過程則通常是以子例行子程序的形式存在。 Fortran語言將這些功能各異、用途各異的過程分別編寫成一個個獨(dú)立的子程序,編譯后組成一個大的標(biāo)準(zhǔn)過程庫(有時也稱為標(biāo)準(zhǔn)函數(shù)庫),存放在外部存儲介質(zhì)(如計算機(jī)的硬盤)上。6.2 常用數(shù)學(xué)函數(shù) Fortran提供了豐富的數(shù)學(xué)函數(shù)供用戶在編程時使用。6.2.1 絕對值函數(shù) 絕對值函數(shù),函數(shù)的原型如下:C = ABS(X) 除
2、了這個通用名外,絕對值函數(shù)還有4個專用名,它們是: IABS,專用于求默認(rèn)種別的整型數(shù)據(jù)的絕對值,返回值也為默認(rèn)種別的整型數(shù)據(jù)。 ABS,專用于求默認(rèn)種別的實型數(shù)據(jù)的絕對值,返回值也為默認(rèn)種別的實型數(shù)據(jù)。 DABS,專用于求雙精度實型數(shù)據(jù)的絕對值,返回值也為雙精度的實型數(shù)據(jù)。 CABS,專用于默認(rèn)種別的復(fù)型數(shù)據(jù)的絕對值,返回值也為默認(rèn)種別的復(fù)型數(shù)據(jù)。6.2.2 指數(shù)函數(shù) C = EXP(X) 除了通用名外,指數(shù)函數(shù)還有3個專用名: EXP,專用于求默認(rèn)種別的實型數(shù)據(jù)的指數(shù)值,返回值也為默認(rèn)種別的整型數(shù)據(jù)。 DEXP,專用于求雙精度的實型數(shù)據(jù)的指數(shù)值,返回值也為雙精度的實型數(shù)據(jù)。 CEXP,專用
3、于默認(rèn)種別的復(fù)型數(shù)據(jù)的指數(shù)值,返回值也為默認(rèn)種別的復(fù)型數(shù)據(jù)。6.2.3 正弦函數(shù)C = SIN(X) 除通用名外,正弦函數(shù)還有3個專用名: SIN,專用于求默認(rèn)種別的實型數(shù)據(jù)的正弦值,返回值也為默認(rèn)種別的整型數(shù)據(jù)。 DSIN,專用于求雙精度的實型數(shù)據(jù)的正弦值,返回值也為雙精度的實型數(shù)據(jù)。 CSIN,專用于默認(rèn)種別的復(fù)型數(shù)據(jù)的正弦值,返回值也為默認(rèn)種別的復(fù)型數(shù)據(jù)。 函數(shù)中參數(shù)X的單位是弧度而不是度。6.2.4 余弦函數(shù) C = COS(X) 除了通用名外,還有3個專用名,它們是: COS,專用于求默認(rèn)種別的實型數(shù)據(jù)的余弦值,返回值也為默認(rèn)種別的整型數(shù)據(jù)。 DCOS,專用于求雙精度的實型數(shù)據(jù)的余弦
4、值,返回值也為雙精度的實型數(shù)據(jù)。 CCOS,專用于默認(rèn)種別的復(fù)型數(shù)據(jù)的余弦值,返回值也為默認(rèn)種別的復(fù)型數(shù)據(jù)。6.2.5 反正弦函數(shù) C = ASIN(X) 除了通用名,還有2個專用名,它們是: ASIN,專用于求默認(rèn)種別的實型數(shù)據(jù)的反正弦值,返回值也為默認(rèn)種別的整型數(shù)據(jù)。 DASIN,專用于求雙精度的實型數(shù)據(jù)的反正弦值,返回值也為雙精度的實型數(shù)據(jù)。6.2.6 反余弦函數(shù) C = ACOS(X) 除了通用名外,還有2個專用名,它們是: ACOS,專用于求默認(rèn)種別的實型數(shù)據(jù)的反余弦值,返回值也為默認(rèn)種別的整型數(shù)據(jù)。 DACOS,專用于求雙精度的實型數(shù)據(jù)的反余弦值,返回值也為雙精度的實型數(shù)據(jù)。6.2
5、.7 正切函數(shù) C = TAN(X) 除了通用名外,還有2個專用名,它們是: TAN,專用于求默認(rèn)種別的實型數(shù)據(jù)的正切值,返回值也為默認(rèn)種別的整型數(shù)據(jù)。 DTAN,專用于求雙精度的實型數(shù)據(jù)的正切值,返回值也為雙精度的實型數(shù)據(jù)。6.2.8 反正切函數(shù) C = ATAN(X) 除了通用名外,還有2個專用名,它們是: ATAN,專用于求默認(rèn)種別的實型數(shù)據(jù)的反正切值,返回值也為默認(rèn)種別的整型數(shù)據(jù)。 DATAN,專用于求雙精度的實型數(shù)據(jù)的反正切值,返回值也為雙精度的實型數(shù)據(jù)。6.2.9 自然對數(shù)函數(shù) C = LOG(X) 除了通用名外,還有3個專用名,它們是: ALOG,專用于求默認(rèn)種別的實型數(shù)據(jù)的自然
6、對數(shù)值,返回值也為默認(rèn)種別的整型數(shù)據(jù)。 DLOG,專用于求雙精度的實型數(shù)據(jù)的自然對數(shù)值,返回值也為雙精度的實型數(shù)據(jù)。 CLOG,專用于求默認(rèn)種別的復(fù)型數(shù)據(jù)的自然對數(shù)值,返回值也為默認(rèn)種別的復(fù)型數(shù)據(jù)。6.2.10 常用對數(shù)函數(shù) C = LOG10(X) 常用對數(shù)函數(shù)還有2個專用名,它們是: ALOG10,專用于求默認(rèn)種別的實型數(shù)據(jù)的常用對數(shù)值,返回值也為默認(rèn)種別的整型數(shù)據(jù)。 DLOG10,專用于求雙精度的實型數(shù)據(jù)的常用對數(shù)值,返回值也為雙精度的實型數(shù)據(jù)。6.2.11 取整函數(shù) C = INT(X) 還有3個專用名,它們是: IFIX,專用于將默認(rèn)種別的實型數(shù)據(jù)轉(zhuǎn)換為整數(shù),返回值為默認(rèn)種別的整型數(shù)
7、據(jù)。 INT,專用于將默認(rèn)種別的實型數(shù)據(jù)轉(zhuǎn)換為整數(shù),返回值為默認(rèn)種別的整型數(shù)據(jù)。 IDINT,專用于將雙精度的實型數(shù)據(jù)轉(zhuǎn)換為整數(shù),返回值為默認(rèn)種別的整型數(shù)據(jù)。 Fortran中的取整函數(shù)只是將數(shù)據(jù)的小數(shù)部分截去,不使用四舍五入規(guī)則。函數(shù)的參數(shù)可以是實型、整型和復(fù)型。6.2.12 求余函數(shù) C = MOD(X1, X2) 還有2個專用名,它們是: MOD,適用于默認(rèn)種別的整型數(shù)據(jù),返回值為默認(rèn)種別的整型數(shù)據(jù)。 AMOD,適用于默認(rèn)種別的實型數(shù)據(jù),返回值為默認(rèn)種別的實型數(shù)據(jù)。6.2.13 取符號函數(shù) 取符號函數(shù)返回第一個參數(shù)的絕對值與第二個參數(shù)的符號的乘積,函數(shù)的原型如下: C = SIGN(X1
8、, X2) 還有3個專用名: ISIGN,適用于默認(rèn)種別的整型數(shù)據(jù),返回值為默認(rèn)種別的整型數(shù)據(jù)。 SIGN,適用于默認(rèn)種別的實型數(shù)據(jù),返回值為默認(rèn)種別的實型數(shù)據(jù)。 DSIGN,適用于雙精度的實型數(shù)據(jù),返回值為雙精度的實型數(shù)據(jù)。6.2.14 最大值函數(shù)C = MAX(X1, X2, X3)還有5個專用名:MAX0,適用于默認(rèn)種別的整型數(shù)據(jù),返回值為默認(rèn)種別的整型數(shù)據(jù)。AMAX0,適用于默認(rèn)種別的整型數(shù)據(jù),返回值為默認(rèn)種別的實型數(shù)據(jù)。MAX1,適用于默認(rèn)種別的實型數(shù)據(jù),返回值為默認(rèn)種別的整型數(shù)據(jù)。AMAX1,適用于默認(rèn)種別的實型數(shù)據(jù),返回值為默認(rèn)種別的實型數(shù)據(jù)。DMAX1,適用于雙精度的實型數(shù)據(jù),
9、返回值為雙精度的實型數(shù)據(jù)。6.2.15 最小值函數(shù)C = MIN(X1, X2, X3)還有5個專用名,它們是:MIN0,適用于默認(rèn)種別的整型數(shù)據(jù),返回值為默認(rèn)種別的整型數(shù)據(jù)。AMIN0,適用于默認(rèn)種別的整型數(shù)據(jù),返回值為默認(rèn)種別的實型數(shù)據(jù)。MIN1,適用于默認(rèn)種別的實型數(shù)據(jù),返回值為默認(rèn)種別的整型數(shù)據(jù)。AMIN1,適用于默認(rèn)種別的實型數(shù)據(jù),返回值為默認(rèn)種別的實型數(shù)據(jù)。DMIN1,適用于雙精度的實型數(shù)據(jù),返回值為雙精度的實型數(shù)據(jù)。6.3 常用字符函數(shù) Fortran 90/95的內(nèi)部函數(shù)中新增了許多和字符型數(shù)據(jù)操作有關(guān)的函數(shù)供用戶使用,可以很方便地進(jìn)行各種字符操作。6.3.1 字符與數(shù)值轉(zhuǎn)換函
10、數(shù) 這是一系列函數(shù)的總稱,涉及到4個基本函數(shù):ICHAR,CHAR,IACHR和ACHAR函數(shù)。 Fortran 90/95中允許把字符型的值轉(zhuǎn)換成數(shù)值型的值(已知字符得到字符在某種字符集中的序號數(shù)值),也可把數(shù)值型的值轉(zhuǎn)換成字符型的值(已知字符在某種字符集中的序號數(shù)值進(jìn)而得到該位置上的字符)。 函數(shù)ICHAR的作用是根據(jù)字符得到字符在計算機(jī)字符集中的位置: C = ICHAR(字符數(shù)據(jù))6.3.2 字符串長度函數(shù) C = LEN(string) 其中,string必須是字符型,可以是字符標(biāo)量也可以是字符數(shù)組(包括尾隨空格、中間空格在內(nèi))。比如LEN(ABC 123 )的值是9(6個字符加3個
11、空格)。 如果想要得到不計尾部空格的字符串長度,則可以使用LEN_TRIM函數(shù)。 C = LEN_TRIM(string)6.3.3 子字符串位置索引函數(shù) C = INDEX(string, substring,back) 其中,string表示要在其中進(jìn)行索引的目標(biāo)字符串;substring表示子字符串;back為邏輯型變量,當(dāng)back的值為.TRUE.時表示從目標(biāo)字符串的后面開始搜索,當(dāng)back的值為.FALSE.或省略不寫時,表示從目標(biāo)字符串的前面開始搜索。函數(shù)值返回一個正整數(shù),指明子字符串在目標(biāo)字符串中是從第幾個字符開始的。目標(biāo)字符串和子字符串可以是任何形式的字符實體。如果目標(biāo)字符串中
12、不含有子字符串中的內(nèi)容,則函數(shù)的返回值為0。例如INDEX(VitaminC,i)的值為2;INDEX(VitaminC,i,BACK=.TRUE.)的值為6;INDEX(VitaminC,b)的值為0。6.3.4 字符串驗證函數(shù) 字符串驗證函數(shù)的作用是確認(rèn)指定的字符集中是否包含了給定字符串中所有的字符: C = VERIFY(string, set, ,back) string為要在其中進(jìn)行驗證的字符集;set為給定的字符串;back表示是從字符集的前面還是后面開始驗證:函數(shù)的返回值是一個正整數(shù),指明給定字符串中與字符集相異的第一個字符是從左邊第幾個字符開始的。如果沒有相異的字符,則返回函數(shù)
13、值為0。比如VERIFY (banana,nbc)的值為2,VERIFY (banana,nbc,BACK=.TRUE.)的值為6,VERIFY(banana,nbca)的值為0。6.3.5 尾部空格除去函數(shù)尾部空格除去函數(shù)的作用就是除去字符串尾部的尾隨空格:C = TRIM(string)函數(shù)的返回值與函數(shù)的輸入?yún)?shù)類型相同、種別相同。返回值就是輸入?yún)?shù)除去尾部空格后剩余的部分。比如TRIM(ABC 123 )/34的值是ABC 12334。這個函數(shù)在進(jìn)行文件名的處理上較為方便:為了保存文件的完整路徑名稱,通常需要使用一個字段寬度較大的字符變量(在Windows系統(tǒng)下,如果使用系統(tǒng)函數(shù),一般
14、要求256個字符寬度)。如果輸入的文件實際路徑名較短,則在顯示時會留下大段的空格。使用TRIM函數(shù)就可以避免這種現(xiàn)象。6.3.6 字符大小比較函數(shù) 字符大小比較函數(shù)是一個函數(shù)族,共包含了4個基本函數(shù)。其作用就是比較字符在ASCII字符集中的先后位置,其原型為: C = LGE(string_a, string_b) C = LGT(string_a, string_b) C = LLE(string_a, string_b) C = LLT(string_a, string_b) 四個函數(shù)都是用兩個字符型實體作為參數(shù),用來判斷它們之間是否滿足大于等于、大于、小于等于、小于關(guān)系。 6.4 常用系
15、統(tǒng)過程 在Fortran 90/95中還增加了許多常用的系統(tǒng)過程,這些系統(tǒng)過程大多采用子例行子程序的形式。這里介紹的主要是用于獲得系統(tǒng)時間和隨機(jī)數(shù)的系統(tǒng)過程。6.4.1 CPU時間函數(shù)該函數(shù)用于返回同處理器無關(guān)的精確的處理器運(yùn)行時間,單位為秒。過程的原型如下:CALL CPU_TIME (time)其中,time是一個實型變量,用于保存處理器的運(yùn)行時間。如果過程不能返回有意義的時間,則會返回一個與處理器無關(guān)的負(fù)值。CPU_TIME函數(shù)可以用于獲得某一段可執(zhí)行代碼在CPU中的實際運(yùn)行時間,比如下面的代碼段用于確定代碼執(zhí)行時間并將其打印出來: REAL : time_begin, time_end
16、 CALL CPU_TIME ( time_begin ) !可執(zhí)行代碼段 CALL CPU_TIME ( time_end ) PRINT *, Time of operation was , time_end - time_begin, seconds6.4.2 日期和時間函數(shù)該過程用于返回從實時時鐘處獲得的日期和時間相關(guān)信息,日期和時間的格式符合國際標(biāo)準(zhǔn)ISO 8601:1988。過程的原型如下:CALL DATE_AND_TIME ( date , time , zone , values )其中,date用于保存返回的日期信息,必須是一個至少有8個字符長度的字符串??梢杂糜诒4媸兰o(jì)、年、月、日等信息,形式為CCYYNNDD。下面分別給出這些字符的意義:CC:表示系統(tǒng)中所處的世紀(jì);YY:表示系統(tǒng)中所處的年份;MM:表示系統(tǒng)中所處的月份;DD:表示系統(tǒng)中所處的日期。6.4.3 系統(tǒng)時間過程 系統(tǒng)時間過程用于保存從系統(tǒng)實時時鐘處獲得的數(shù)據(jù)信息。過程的原型如下: CALL SYSTEM_CLOCK (count , count_rate , count_max) 其中,count用于保存處理器時鐘的當(dāng)前值,必須是一個默認(rèn)種別的整型變量。每有一個時鐘計
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度石油化工設(shè)備采購合同補(bǔ)充協(xié)議范本3篇
- 二零二五年度vi設(shè)計創(chuàng)意制作合同范本2篇
- 二零二五版環(huán)境安全風(fēng)險評估與治理合同3篇
- 合同管理在2025年度招投標(biāo)中的合規(guī)性分析3篇
- 二零二五版企業(yè)內(nèi)部技術(shù)人員掛靠合作合同范本3篇
- 二零二五年度高壓電氣設(shè)備采購及安裝合同2篇
- 二零二五版寶鋼集團(tuán)勞動合同員工加班費(fèi)及休息日工作安排3篇
- 二零二五年度車輛質(zhì)押擔(dān)保合同樣本2篇
- 二零二五版公路貨運(yùn)合同道路運(yùn)輸許可證管理與審查規(guī)范3篇
- 二零二五年度綠色環(huán)保房地產(chǎn)商品房買賣合同書3篇
- 小學(xué)科學(xué)教科版四年級下冊第二單元《電路》復(fù)習(xí)教案(2023春新課標(biāo)版)
- 創(chuàng)業(yè)計劃書(成人用品店)
- 電機(jī)的結(jié)構(gòu)及工作原理
- GB 6245-2006消防泵
- 財務(wù)報表分析外文文獻(xiàn)及翻譯
- 空調(diào)維修保養(yǎng)服務(wù)突發(fā)事件應(yīng)急處置方案
- 東岸沖沙閘及進(jìn)水閘施工方案
- 五年級數(shù)學(xué)下學(xué)期看圖列式計算必考題
- 寵物入住酒店免責(zé)協(xié)議
- 2022年滬教版(全國)九年級化學(xué)下冊第6章溶解現(xiàn)象章節(jié)測試試卷(精選含答案)
- 河南省地圖含市縣地圖矢量分層地圖行政區(qū)劃市縣概況ppt模板
評論
0/150
提交評論