資源描述:
《符號常量及其定義方法》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、2.3符號常量及其定義方法FORTRAN77允許用一個名字來代表一個常量,例如,可以指定用PI來代表3.1415926,在本程序單位用到PI時,它就代表3.1415926,這個PI就稱為“符號常量”(或“符號常數(shù)”),即用一個符號來代表一個常量。FORTRAN規(guī)定用PARAMETER語句來定義符號常量。例如:PARAMETER(PI=3.1415926)PARAMETER語句也稱參數(shù)語句,它與賦值語句不同,它是非執(zhí)行語句,并且在程序中定義一個符號常量后,不能再以任何形式改變它的值。這是符號常量與變量的最大區(qū)別。PAR
2、AMETER語句應寫在所有執(zhí)行語句之前。符號常量的定名規(guī)則與定變量名規(guī)則相同。名字本身隱含類型,也遵循I--N規(guī)則??梢杂妙愋驼f明語句定義符號常量的類型。在一個參數(shù)語句中可以定義多個符號常量。例如:PARAMETER(A=0.5,N=50,J=30)用符號常量的好處是:如果需要改變某一常數(shù)時,不需一一改變這個常數(shù),只需改變參數(shù)語句中符號常量的值即可。注意:類型語句和參數(shù)語句的先后順序,必須類型語句在前,參數(shù)語句在后。符號常量不能作為語句標號,也不能出現(xiàn)在FORMAT語句中代替常數(shù)。除此以外,凡出現(xiàn)常數(shù)處均可用符號常量
3、代替。2.4FORTRAN內(nèi)部函數(shù)表1下面舉例說明函數(shù)的求值:SIN(1.0)=sin(57.29578o)=0.8414709TAN(1.0)=tan(57.29578o)=1.557408ATAN(1.0)=arctan(1.0)=0.7853981(弧度)LOG(3.0)=ln3=1.098612INT(8.6)=8INT(-8.6)=-8MOD(8,3)=2SIGN(4.0,-0.5)=-4.0SIGN(-4.0,0.5)=4.0REAL(8)=8.0MAX(8,6,7,15,-1)=15MIN(8,6,7,
4、15,-1)=-1說明:(1)FORTRAN77提供的系統(tǒng)函數(shù)稱為“內(nèi)部函數(shù)”。FORTRAN將這些函數(shù)分別編成一個個子程序,組成函數(shù)庫,存在于外部介質(如磁盤)上。在完成源程序的編譯之后,用連接命令實現(xiàn)連接,即將已翻譯成二進制指令的目標程序與函數(shù)庫連接。也就是將程序中出現(xiàn)函數(shù)名的地方用函數(shù)庫中相應的一組指令代入之,組成一個統(tǒng)一的“可執(zhí)行目標塊”。例如,程序中出現(xiàn)一個SIN函數(shù),在連接時就將一組二進制指令直接插入到程序中出現(xiàn)SIN的地方。由于是插入到程序內(nèi)部的,所以稱為“內(nèi)部函數(shù)”。(2)一個內(nèi)部函數(shù)要求一個或多個自
5、變量。從附錄中可以查出自變量(參數(shù))的個數(shù)。例如,SQRT函數(shù)只能有一個自變量(如SQRT(4.6)),MOD函數(shù)要求兩個自變量(如MOD(8,3)),MAX和MIN函數(shù)要求兩個以上自變量(如MAX(6,8,10),MIN(-6,8,0)等)。請注意,當自變量個數(shù)規(guī)定為2個時,自變量的順序不應任意顛倒,如MOD(8,3)表示8被3除的余數(shù),其值為2,而MOD(3,8)則表示3被8除的余數(shù),其值為3。當自變量個數(shù)為≥2時,自變量的順序無關,如MAX(6,8,10)和MAX(8,10,6)結果是一樣的。(3)函數(shù)的自變量
6、是有類型的,函數(shù)值也是有類型的,例如MOD(8,3)中自變量8和3是整型,函數(shù)MOD(8,3)的值“2”也是整型,如果寫成MOD(8.0,3.0),自變量是實型的,函數(shù)值也是實型的,其值為2.0。要特別注意,當自變量的個數(shù)為兩個或兩個以上時,它們的類型必須一致,否則出錯。(4)三角函數(shù)中角度的單位是“弧度”而不是“度”。SIN(1.0)=sin(57.29578o)=0.8414709ATAN(1.0)=0.7853981(弧度)例如,SIN(1.0)表示的不是sinlo,而是sin57.29578o1弧度=57.2
7、9578osin30o應寫成SIN(30*3.14159/180)(5)自變量可以是常量,變量或表達式。例如SQRT(4.0),SQRT(A)和SORT(2.0+2.0)均為合法。自變量的值必須落在取值范圍之內(nèi),例如,SQRT的自變量不得為負數(shù),LOG、LOG10的自變量必須大于0,MOD的第二個自變量不能為0等。自變量的類型應符合要求。例如SQRT(1)就不合法,因為1為整型變量,而SQRT函數(shù)的自變量不能是整型量。(6)INT函數(shù)的作用是簡單地截去小數(shù)部分,如INT(8.6)=8,INT(-8.5)=-8。(7)
8、SIGN函數(shù)的作用是“符號傳送”。SIGN(A,B)的作用是將B的符號傳送給A,例如,SIGN(6.5,-8.3)的值為-6.5,它將第二項的符號(負號)傳送給第一項。SIGN(-6.5,8.3)的值為6.5,因為第二個自變量為正數(shù)。也就是說,函數(shù)值的符號與第二個自變量的符號相同。利用這個函數(shù)可以檢查A和B是否同符號。如果SIGN(A,B)=A