巖土工程師輔導(dǎo)資料:函數(shù)子程序
如果引入的函數(shù)只限于在某一程序單位中使用,且此函數(shù)能用一個(gè)表達(dá)式來(lái)計(jì)算,則可以把它定義為語(yǔ)句函數(shù)。由于只用了一個(gè)語(yǔ)句,故這一類(lèi)函數(shù)的計(jì)算均很簡(jiǎn)單。但是,有許多問(wèn)題,僅僅用語(yǔ)句函數(shù)是不能解決的,如∫∫f(x,y)dxdy,須用一系列語(yǔ)句來(lái)完成,因此,常將這一類(lèi)問(wèn)題編寫(xiě)成一個(gè)程序塊,在程序中被主程序或其他子程序所調(diào)用,是一個(gè)獨(dú)立的程序模塊。為區(qū)別于語(yǔ)句函數(shù)或系統(tǒng)配置的標(biāo)準(zhǔn)函數(shù),我們稱它為外部函數(shù)。
1.函數(shù)子程序語(yǔ)句的一般格式
[類(lèi)型說(shuō)明]FUNCTION函數(shù)名([虛擬參數(shù)[,虛擬參數(shù)]…])
類(lèi)型說(shuō)明可以是REAL、INTEGER、LOGICAL、CHARACTER、DOUBLE PRECI-SION、COMPLEX中的任意一個(gè),僅僅用來(lái)說(shuō)明函數(shù)的類(lèi)型,可以省略。
函數(shù)名的取法與普通變量名的取法相同,因?yàn)楹瘮?shù)名是用來(lái)代表函數(shù)值的,故它必然具有類(lèi)型,如果在關(guān)鍵字FUNCTION之前沒(méi)有類(lèi)型說(shuō)明,則由隱含規(guī)則確定函數(shù)名的類(lèi)型。
函數(shù)名后括號(hào)中的虛擬參數(shù)(又稱啞元)只能是簡(jiǎn)單變量名、數(shù)組名、啞過(guò)程名。如編寫(xiě)計(jì)算M!的函數(shù)子程序:
INTEGER FUNCTION FC(M)
FC=1.0
DO 10 N=2,M
10 FC=FC*N
RETURN
END
此子程序在后面的例題中可發(fā)揮很大的作用。在上例函數(shù)子程序中,定義了整型函數(shù)FC,F(xiàn)C只有一個(gè)啞元M,在計(jì)算運(yùn)行中,M被多次賦值,得到相應(yīng)的FC值。
2.構(gòu)造函數(shù)子程序的一般規(guī)則
(1)函數(shù)子程序必須以FUNCTION語(yǔ)句作為它的第一條語(yǔ)句。
(2)函數(shù)子程序的最后一行必須是END語(yǔ)句,在編譯時(shí),該語(yǔ)句被作為本程序塊的結(jié)束標(biāo)志。
(3)在函數(shù)子程序中,一般至少有一個(gè)RETURN語(yǔ)句,當(dāng)程序執(zhí)行過(guò)程中遇到RE.TURN語(yǔ)句,將控制轉(zhuǎn)移到調(diào)用程序處。
(4)函數(shù)名必須在程序中被定值一次,也可以多次定值。
(5)在函數(shù)子程序中可以調(diào)用其他函數(shù)子程序,但不能直接或間接調(diào)用自己。
(6)RETURN語(yǔ)句是一個(gè)可執(zhí)行語(yǔ)句,當(dāng)執(zhí)行到該語(yǔ)句時(shí),結(jié)束過(guò)程的引用,將控制返回到當(dāng)前引用的程序單位。
3.函數(shù)子程序的調(diào)用
在引用函數(shù)子程序的地方,只要寫(xiě)出函數(shù)的名字,并在其后面的括號(hào)中與啞元對(duì)應(yīng)的位置上,寫(xiě)上相應(yīng)的實(shí)元即可。
實(shí)元可以是常數(shù)、常數(shù)符號(hào)名、簡(jiǎn)單變量名、數(shù)組元素名、數(shù)組名及表達(dá)式等。值得注意的是,實(shí)元與啞元的個(gè)數(shù)要相同,它們之間的類(lèi)型和位置必須一一對(duì)應(yīng),與名字本身無(wú)關(guān)。如計(jì)算
求上式時(shí),需計(jì)算三次階乘數(shù),故可以調(diào)用上例中的函數(shù)子程序FC,主程序如下:
INTEGER FC
READ(*,*)M,N
10 MNC=FC(M)/(FC(M—N)*FC(N))
WRITE(*,*)’M=’,M,’N=’,N,’MNC=’,MNC
更多內(nèi)容訪問(wèn)>> 注冊(cè)土木工程師(巖土)考試頻道 注冊(cè)土木工程師(巖土)考試論壇 巖土工程師課程試聽(tīng)
·2011年注冊(cè)土木工程師(巖土)考試輔導(dǎo)招生簡(jiǎn)章
·巖土工程師輔導(dǎo)現(xiàn)在報(bào)名任意專(zhuān)業(yè)知識(shí)贈(zèng)送專(zhuān)業(yè)知識(shí)習(xí)題班
·老師輔導(dǎo)每天24小時(shí)不限時(shí)間隨時(shí)反復(fù)學(xué)習(xí)……
最新資訊
- 2023年注冊(cè)巖土工程師基礎(chǔ)考試資料2024-09-20
- 2024年度全國(guó)注冊(cè)土木工程師(巖土)專(zhuān)業(yè)考試所使用的標(biāo)準(zhǔn)和法律法規(guī)2024-08-12
- 注冊(cè)巖土工程師備考要趁早 雙11好課限時(shí)優(yōu)惠!直播間更有返現(xiàn)抽獎(jiǎng)~2023-10-31
- 雙11預(yù)熱火熱進(jìn)行中!超值好課助力你巖土工程師備考2023-10-31
- 2023年注冊(cè)巖土工程師基礎(chǔ)考試資料2023-09-22
- 2023年注冊(cè)巖土工程師基礎(chǔ)考試備考資料2023-09-18
- 2023年巖土工程師基礎(chǔ)考試備考資料2023-09-15
- 2022注冊(cè)巖土工程師基礎(chǔ)考試備考資料2022-10-18
- 2022年巖土工程師考試用書(shū)推薦2022-05-23
- 2022年注冊(cè)巖土工程師公共基礎(chǔ)教材2022-05-20