巖土工程師輔導資料:函數子程序


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