一級(jí)基礎(chǔ)科目(一)輔導(dǎo)---FORTRAN的程序構(gòu)成和基本規(guī)定

字號(hào):

二、FORTRAN的程序構(gòu)成和基本規(guī)定
     (一)程序構(gòu)成
     一個(gè)完整的FORTRAN程序由一個(gè)主程序或一個(gè)主程序和若干個(gè)子程序組成。主程序與每個(gè)子程序都是一個(gè)獨(dú)立的程序單位,稱為一個(gè)程序模塊。關(guān)于程序的構(gòu)成,有如下一些基本規(guī)定。
     1.程序由若干行組成。
    2.在FORTRAN中,程序行分為語(yǔ)句行和注釋行。
    (1)語(yǔ)句行由FORTRAN語(yǔ)句組成,包括執(zhí)行語(yǔ)句和非執(zhí)行語(yǔ)句。執(zhí)行語(yǔ)句使計(jì)算機(jī)在運(yùn)行時(shí)產(chǎn)生某些操作,如賦值語(yǔ)句、輸入輸出語(yǔ)句等。非執(zhí)行語(yǔ)句為計(jì)算機(jī)在編譯或運(yùn)行時(shí)提供某種信息,本身不產(chǎn)生操作,如說(shuō)明語(yǔ)句、格式語(yǔ)句等。
    (2)注釋行又稱為非語(yǔ)句行,在程序中起注釋作用,便于程序的編寫、修改和維護(hù)。
    3.FORTRAN規(guī)定,每個(gè)語(yǔ)句行只能寫一個(gè)語(yǔ)句;但當(dāng)語(yǔ)句長(zhǎng)度超過規(guī)定的一行范圍、或者為表達(dá)清晰起見需要將一個(gè)語(yǔ)句分行書寫時(shí),可以采用連續(xù)行。連續(xù)行的第一行稱為始行,以后各行稱為續(xù)行。 ·
    4.FORTRAN語(yǔ)句可以有標(biāo)號(hào)。標(biāo)號(hào)作為一個(gè)語(yǔ)句被其他語(yǔ)句引用的標(biāo)志。在同一個(gè)程序單位中,不能出現(xiàn)相同的語(yǔ)句標(biāo)號(hào)。
    5.程序單位的最后一行語(yǔ)句,必須是END語(yǔ)句。如果一個(gè)FORTRAN語(yǔ)句行與注釋行的集合,最末沒有END,可稱其為一個(gè)語(yǔ)句塊或程序段,但不能作為一個(gè)程序單位。
    (二)書寫規(guī)則
    1.FORTRAN77的字符集由26個(gè)英文字母、10個(gè)數(shù)字和其他13個(gè)專用字符組成。
    2. 一個(gè)程序行有80列,每列寫一個(gè)字符。
    3. 程序行的第1列如寫上C或x,表示該行為注釋行。注釋內(nèi)容可寫在該行中除第1
     列外的任意位置。
    4.在語(yǔ)句行中,程序行的第1列至第5列為語(yǔ)句標(biāo)號(hào)區(qū),標(biāo)號(hào)區(qū)內(nèi)是最多為5位的無(wú)符號(hào)整數(shù);程序行的第6列為續(xù)行區(qū),若某行為續(xù)行,則標(biāo)號(hào)區(qū)必須空白,且第6列為非0的任一FORTRAN77字符(不能為空格);第7列至第72列為語(yǔ)句區(qū)。
     例如,在邊長(zhǎng)為B的正方形中挖一個(gè)半徑為R的圓,計(jì)算剩余的面積;若B<2R,
     則給出相關(guān)信息。該問題的FORTRAN程序可編寫如下。
     C Computation of area.
     READ*,B,R
     IF(B.LT.2.*R)THEN
     WRITE(*,10)
     10 FORMAT(‘Error message:B less than 2*R’)
     ELSE
     WRITE(*,’(”AREA:”,F(xiàn)10.2)’)
     $ B*B—3.14159*R*R
     ENDIF
     END
     本例中,第1行為注釋行,第5行為帶標(biāo)號(hào)的語(yǔ)句,第7—8行為連續(xù)行,符號(hào)$為續(xù)行標(biāo)志。
    (三)常量與變量
     1.常量指程序中其值固定不變的一些量,包括以下6種類型。
    (1) 整形常量,也稱整數(shù)。一個(gè)整數(shù)可采用正、負(fù)號(hào)和數(shù)字字符表示,正號(hào)可以省略。
    (2) 實(shí)型常量,也稱實(shí)數(shù)??梢杂眯?shù)形式或指數(shù)形式表示。用指數(shù)形式表示的實(shí)數(shù)。如11.3E5,+11.3E+5,1.E-12,-.23E12等。
    (3)雙精度實(shí)型常量,或稱雙精度實(shí)數(shù)。雙精度實(shí)數(shù)也是實(shí)數(shù)。但在一般的微型計(jì)算機(jī)中,實(shí)數(shù)的有效位數(shù)為7位,雙精度實(shí)數(shù)的有效位數(shù)可以達(dá)到15~17位。雙精度實(shí)數(shù)的表示方法,除在指數(shù)形式的表達(dá)中用字符D代替E以外,其余和實(shí)數(shù)相同。
    (4)復(fù)型常量,簡(jiǎn)稱復(fù)數(shù)。在FORTRAN中,用一對(duì)圓括弧括起來(lái)的兩個(gè)實(shí)數(shù)表示。如(12.0,-6.E2)表示復(fù)數(shù)12.0-600.0i
    (5)邏輯型常量。FORTRAN中的邏輯型常量有兩個(gè)值:.TRUE.與.FALSE.
    (6)字符型常量,也稱為字符串。計(jì)算機(jī)系統(tǒng)使用的若干個(gè)字符,用一對(duì)單引號(hào)括起來(lái)后就作為字符串。
    2.變量指在程序運(yùn)行期間可以改變的量。
     (1)變量的類型與常量相對(duì)應(yīng),分為整型變量、實(shí)型變量、雙精度實(shí)型變量、復(fù)型變
     量、邏輯型變量與字符串變量。
     (2)變量名按一定的規(guī)則命名。在FORTRAN中,變量名采用1至6個(gè)字符(數(shù)字或字母),其中第一個(gè)字符必須是字母。FORTRAN 77規(guī)定,變量名書寫時(shí)不區(qū)別字母的
     大寫與小寫,例如ABc與aBC都指同一個(gè)變量。
     (3)變量類型的說(shuō)明方法。
     1)I-N隱含規(guī)則。在程序單位中沒有其他說(shuō)明時(shí),以字母I,J,K,L,M,N中的
     任一個(gè)字母打頭命名的變量都是整型變量。
     2)用類型說(shuō)明語(yǔ)句規(guī)定變量類型。例如:
     INTEGER A,COUNT
     REAL ICOUNT
     DOUBLEPRECISION XING
     COMPLEX DUP
     LOGICAL JUG
     CHARACTER FILENM
     分別表示變量A,COUNT為整型,ICOUNT為實(shí)型,XING為雙精度實(shí)型,DUP為復(fù)制,JUG為邏輯型,F(xiàn)ILENM為字符型變量,其長(zhǎng)度為10個(gè)字符。
     3)用隱含說(shuō)明語(yǔ)句IMPLICIT語(yǔ)句,可以將程序單位中以某一字母開頭的所有變量
     指定為所需類型。例如:
     IMPLICIT INTEGER(A,C),REAL(1—K)
     指定了以A與C字母開頭的所有變量都是整型變量,以字母I至K開頭的所有變量為實(shí)型變量。
     類型說(shuō)明語(yǔ)句和隱含說(shuō)明語(yǔ)句只在本程序單位中有效;他們必須放在程序單位所有可執(zhí)行語(yǔ)句的前面,而IMPLICIT語(yǔ)句又必須在所有的類型說(shuō)明語(yǔ)句的前面。確定變量類型的三種方法中,類型說(shuō)明語(yǔ)句的優(yōu)先級(jí),I-N規(guī)則的優(yōu)先級(jí)最低。