一級(jí)結(jié)構(gòu)師基礎(chǔ)輔導(dǎo):程序設(shè)計(jì)語(yǔ)言

字號(hào):

程序設(shè)計(jì)語(yǔ)言
    計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言又稱(chēng)算法語(yǔ)言。目前國(guó)內(nèi)外比較通用的算法語(yǔ)言有多種,如 BASIC、FORTRAN、PASCAL、ALGOL、C等。隨著算法語(yǔ)言本身的發(fā)展和完善,同一 語(yǔ)言中還有不同的標(biāo)準(zhǔn)文本問(wèn)世。每種語(yǔ)言都有其自身的規(guī)則和特點(diǎn),但也有共性的地方。
    在目前通用的算法語(yǔ)言中, FORTRAN語(yǔ)言特別適用于科學(xué)計(jì)算,又是為我國(guó)廣大結(jié)構(gòu)工程技術(shù)人員較為普遍掌握的一種語(yǔ)言,因此,本次注冊(cè)結(jié)構(gòu)工程師考試的內(nèi)容選為 FORTRAN 語(yǔ)言。FORTRAN語(yǔ)言于50年代出現(xiàn)于美國(guó)。1966年,美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)(ANSI)公 布了標(biāo)準(zhǔn)FORTRAN (ANSI X3. 9-1966 )', 1977年對(duì)其進(jìn)行了修訂, 1978年,將其定為 國(guó)家標(biāo)準(zhǔn),稱(chēng)為FORTRAN 77(ANSI X3. 9-1978) 。以下有關(guān)內(nèi)容,主要參照FORTRAN 77的標(biāo)準(zhǔn)進(jìn)行說(shuō)明。
    二、FORTRAN的程序構(gòu)成和基本規(guī)定
    (一)程序構(gòu)成
    一個(gè)完整的FORTRAN程序由一個(gè)主程序或一個(gè)主程序和若干個(gè)子程序組成。主程序與每個(gè)子程序都是一個(gè)獨(dú)立的程序單位,稱(chēng)為一個(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)注釋行又稱(chēng)為非語(yǔ)句行,在程序中起注釋作用,便于程序的編寫(xiě)、修改和維護(hù)。
    3. FORTRAN規(guī)定,每個(gè)語(yǔ)句行只能寫(xiě)一個(gè)語(yǔ)句;但當(dāng)語(yǔ)句長(zhǎng)度超過(guò)規(guī)定的一行范圍、或者為表達(dá)清晰起見(jiàn)需要將一個(gè)語(yǔ)句分行書(shū)寫(xiě)時(shí),可以采用連續(xù)行。連續(xù)行的第一行稱(chēng)為始行,以后各行稱(chēng)為續(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ǔ)句行與注釋行的集合,最末沒(méi)有END,可稱(chēng)其為一個(gè)語(yǔ)句塊或程序段,但不能作為一個(gè)程序單位。
    (二)書(shū)寫(xiě)規(guī)則
    1.FORTRAN77的字符集由26個(gè)英文字母、10個(gè)數(shù)字和其他13個(gè)專(zhuān)用字符組成。
    2.一個(gè)程序行有80列,每列寫(xiě)一個(gè)字符。
    3.程序行的第1列如寫(xiě)上C或*,表示該行為注釋行。注釋內(nèi)容可寫(xiě)在該行中除第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)信息。該問(wèn)題的FORTRAN程序可編寫(xiě)如下。
    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 =”, F10.2))
    $ B*B-3.14159*R*R
    ENDIF
    END
    本例中,第1行為注釋行,第5行為帶標(biāo)號(hào)的語(yǔ)句,第7~8行為連續(xù)行,符號(hào)$為續(xù)行標(biāo)志。