當(dāng)前位置: 首頁(yè) > 結(jié)構(gòu)工程師 > 結(jié)構(gòu)工程師備考資料 > 一級(jí)基礎(chǔ)科目(一)輔導(dǎo)---FORTRAN的程序構(gòu)成和基本規(guī)定

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

更新時(shí)間:2009-10-19 15:27:29 來源:|0 瀏覽0收藏0

結(jié)構(gòu)工程師報(bào)名、考試、查分時(shí)間 免費(fèi)短信提醒

地區(qū)

獲取驗(yàn)證 立即預(yù)約

請(qǐng)?zhí)顚憟D片驗(yàn)證碼后獲取短信驗(yàn)證碼

看不清楚,換張圖片

免費(fèi)獲取短信驗(yàn)證碼

  二、FORTRAN的程序構(gòu)成和基本規(guī)定

  (一)程序構(gòu)成

  一個(gè)完整的FORTRAN程序由一個(gè)主程序或一個(gè)主程序和若干個(gè)子程序組成。主程序與每個(gè)子程序都是一個(gè)獨(dú)立的程序單位,稱為一個(gè)程序模塊。關(guān)于程序的構(gòu)成,有如下一些基本規(guī)定。

  1.程序由若干行組成。

  2.在FORTRAN中,程序行分為語句行和注釋行。

  (1)語句行由FORTRAN語句組成,包括執(zhí)行語句和非執(zhí)行語句。執(zhí)行語句使計(jì)算機(jī)在運(yùn)行時(shí)產(chǎn)生某些操作,如賦值語句、輸入輸出語句等。非執(zhí)行語句為計(jì)算機(jī)在編譯或運(yùn)行時(shí)提供某種信息,本身不產(chǎn)生操作,如說明語句、格式語句等。

  (2)注釋行又稱為非語句行,在程序中起注釋作用,便于程序的編寫、修改和維護(hù)。

  3.FORTRAN規(guī)定,每個(gè)語句行只能寫一個(gè)語句;但當(dāng)語句長(zhǎng)度超過規(guī)定的一行范圍、或者為表達(dá)清晰起見需要將一個(gè)語句分行書寫時(shí),可以采用連續(xù)行。連續(xù)行的第一行稱為始行,以后各行稱為續(xù)行。 ?

  4.FORTRAN語句可以有標(biāo)號(hào)。標(biāo)號(hào)作為一個(gè)語句被其他語句引用的標(biāo)志。在同一個(gè)程序單位中,不能出現(xiàn)相同的語句標(biāo)號(hào)。

  5.程序單位的最后一行語句,必須是END語句。如果一個(gè)FORTRAN語句行與注釋行的集合,最末沒有END,可稱其為一個(gè)語句塊或程序段,但不能作為一個(gè)程序單位。

  (二)書寫規(guī)則

  1.FORTRAN77的字符集由26個(gè)英文字母、10個(gè)數(shù)字和其他13個(gè)專用字符組成。

  2. 一個(gè)程序行有80列,每列寫一個(gè)字符。

  3. 程序行的第1列如寫上C或x,表示該行為注釋行。注釋內(nèi)容可寫在該行中除第1

  列外的任意位置。

  4.在語句行中,程序行的第1列至第5列為語句標(biāo)號(hào)區(qū),標(biāo)號(hào)區(qū)內(nèi)是最多為5位的無符號(hào)整數(shù);程序行的第6列為續(xù)行區(qū),若某行為續(xù)行,則標(biāo)號(hào)區(qū)必須空白,且第6列為非0的任一FORTRAN77字符(不能為空格);第7列至第72列為語句區(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)的語句,第7―8行為連續(xù)行,符號(hào)$為續(xù)行標(biāo)志。

 

更多信息請(qǐng)?jiān)L問結(jié)構(gòu)工程師頻道    結(jié)構(gòu)工程師論壇

?2009年結(jié)構(gòu)工程師考試時(shí)間:9月19、20日
?08年考試規(guī)范、標(biāo)準(zhǔn): 2008年一級(jí)注冊(cè)結(jié)構(gòu)工程師考試成績(jī)查詢匯總

 

  (三)常量與變量

  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ì)圓括弧括起來的兩個(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)括起來后就作為字符串。

  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)變量類型的說明方法。

  1)I-N隱含規(guī)則。在程序單位中沒有其他說明時(shí),以字母I,J,K,L,M,N中的

  任一個(gè)字母打頭命名的變量都是整型變量。

  2)用類型說明語句規(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)用隱含說明語句IMPLICIT語句,可以將程序單位中以某一字母開頭的所有變量指定為所需類型。例如:

  IMPLICIT INTEGER(A,C),REAL(1―K)

  指定了以A與C字母開頭的所有變量都是整型變量,以字母I至K開頭的所有變量為實(shí)型變量。

  類型說明語句和隱含說明語句只在本程序單位中有效;他們必須放在程序單位所有可執(zhí)行語句的前面,而IMPLICIT語句又必須在所有的類型說明語句的前面。確定變量類型的三種方法中,類型說明語句的優(yōu)先級(jí)最高,I-N規(guī)則的優(yōu)先級(jí)最低。 

  (四)數(shù)組

  1.數(shù)組的定義

  有些互相關(guān)聯(lián)的數(shù)據(jù),作為單個(gè)變量處理并不方便。程序設(shè)計(jì)語言通常把這種相互關(guān)聯(lián)的數(shù)據(jù)按一定的順序關(guān)系組成一個(gè)集合,該集合稱為數(shù)組;組成數(shù)組的基本單元稱為數(shù)組元素,每一個(gè)數(shù)組元素對(duì)應(yīng)一個(gè)數(shù)據(jù).在FORTRAN中,使用數(shù)組前必須對(duì)數(shù)組進(jìn)行定義,包括對(duì)數(shù)組命名;確定數(shù)組的類型;確定數(shù)組的維數(shù)及大小;指出數(shù)組各維下標(biāo)的下限與上限。

  數(shù)組的命名規(guī)則與變量的命名規(guī)則相同。

  確定數(shù)組類型、維數(shù)及其大小的方法有以下兩種。

  (1)用類型說明語句定義數(shù)組。例如:

  INTEGER X(-2:30),XYZ(1:20,0:15)

  定義了兩個(gè)整型數(shù)組。其中X稱為一維數(shù)組,下標(biāo)的下限與上限分別為-2與30,即這個(gè)一維數(shù)組共有30-(-2)+1=33個(gè)元素,它們分別為:X(-2),X(-1),X(0),X(1),…,X(30);XYZ稱為二維數(shù)組,第一個(gè)下標(biāo)的下限與上限分別為1與20,第二個(gè)下標(biāo)的下限與上限分別為0與15,即這個(gè)二維數(shù)組共有(20-1+1)×(15-0+1)=20×16=320個(gè)整型元素,它們分別為:

  XYZ(1,0),XYZ(1,1),…,XYZ(1,15)

  …………

  XYZ(20,0),XYZ(20,1),…,XYZ(20,15)

  字符型數(shù)組必須用類型說明語句定義。例如:

  CHARACTER OUT(10)

  數(shù)組OUT每個(gè)元素的長(zhǎng)度都是8,即每個(gè)元素都可以存放8個(gè)字符。

  (2)用DIMENSION語句定義數(shù)組。這時(shí),數(shù)組的類型按隱含規(guī)則確定,或者可以用類型說明語句再次說明其類型。例如:

  DIMENSION IM(-1:10),IA(0:100,-2:0),X(1:5)

  REAL IA

  INTEGER X

  其中,IM為一維整型數(shù)組,IA為2維實(shí)型數(shù)組,X為一維整型數(shù)組。

  當(dāng)數(shù)組的下標(biāo)下限為1時(shí),可以省略說明下標(biāo)下限。例如,下列數(shù)組說明

  DIMENSIONA(100),B(5,5)等價(jià)于DIMENSIONA(1:100),B(1:5,1:5)

  目前在許多微機(jī)上使用的FORTRAN 77子集中,數(shù)組的下標(biāo)下限只允許為1,并且也只允許用省略下限的數(shù)組說明。

  數(shù)組說明語句必須放在所有可執(zhí)行語句與DATA語句之前。

  2.數(shù)組在內(nèi)存中的存儲(chǔ)形式

  在FORTRAN中,數(shù)組的各元素是按順序存儲(chǔ)在計(jì)算機(jī)內(nèi)存單元中的。特別需要注意的是2維和2維以上的多維數(shù)組中,各元素是以列為主存儲(chǔ)的。

  例如,有一個(gè)二維數(shù)組I(1:2,1:3),該數(shù)組可以寫成數(shù)表的形式

  I (1, 1) I (1, 2) I (1, 3) .

  I (2, 1) I (2, 2) I (2, 3)

  各元素的值為I(1,1)=1,I(1,2)=2,I(1,3)=-1,I(2,1)=20,I(2,2)=40,I(2,3)=50,在內(nèi)存中存放的順序是I(1,1),I(2,1),I(1,2),I(2,2),I(1,3),I(2,3),如果按內(nèi)存存放順序?qū)⑦@個(gè)數(shù)組的元素打印出來,數(shù)據(jù)的順序?qū)⑹牵?, 20, 2, 40, -1, 50

  其他多維數(shù)組中的元素也是按同樣規(guī)則存儲(chǔ)的,即先存儲(chǔ)第1列,再存儲(chǔ)第2列,以此類推,最后存儲(chǔ)數(shù)組中的最后一列。

  (五)各種運(yùn)算符及其運(yùn)算的優(yōu)先級(jí)

  1.算術(shù)運(yùn)算符。FORTRAN有五個(gè)算術(shù)運(yùn)算符,它們是:

  加法運(yùn)算符 +

  減法運(yùn)算符 -

  乘法運(yùn)算符 *

  除法運(yùn)算符 /

  乘冪運(yùn)算符 * *

  這五個(gè)算術(shù)運(yùn)算符的運(yùn)算順序是:

  (1)乘冪運(yùn)算符* *優(yōu)先級(jí)最高;

  (2)乘法與除法運(yùn)算符*,/優(yōu)先級(jí)次之; ?

  (3)加法與減法運(yùn)算符+,―優(yōu)先級(jí)最低。 ’

  對(duì)于同一優(yōu)先級(jí)的兩個(gè)運(yùn)算符,按“先左后右”的原則進(jìn)行計(jì)算。

  2.關(guān)系運(yùn)算符。FORTRAN有六個(gè)關(guān)系運(yùn)算符,用于比較兩個(gè)表達(dá)式相等或不等。它們是:

  大于 .GT.

  大于或等于 .GE.

  小于 .LT.

  小于或等于 .LE.

  等于 .EQ.

  不等于 .NE.

  經(jīng)過關(guān)系運(yùn)算符比較后,得到一個(gè)邏輯型的值。例如,整型變量I的值為10,J的值為12,則I.LT.J的結(jié)果為“真”(.TRUE.),而I.EQ.J的結(jié)果為“假”(.FALSE.)。

  3.邏輯運(yùn)算符。FORTRAN有五個(gè)邏輯運(yùn)算符,它們是: 。

  邏輯與 .AND. 兩個(gè)邏輯型量都為“真”時(shí),其值為“真”,否則為“假”;

  邏輯或 .OR. 兩個(gè)邏輯型量都為“假”時(shí),其值為“假”,否則為“真”;

  邏輯非 .NOT. 一個(gè)邏輯型量為“真”時(shí),其值為“假”,否則為“真”;

  邏輯等 .EQV. 兩個(gè)邏輯型量等值時(shí),其值為“真”,否則為“假”;

  邏輯不等 .NEQV. 兩個(gè)邏輯型量不等值時(shí),其值為“真”,否則為“假”。

  邏輯運(yùn)算符中,除了邏輯非運(yùn)算符.NOT.只有一個(gè)運(yùn)算對(duì)象外,其余四個(gè)邏輯運(yùn)算符均有兩個(gè)運(yùn)算對(duì)象。

  邏輯運(yùn)算符的優(yōu)先級(jí)如下;

  (1).NOT.

  (2).AND.

  (3). OR.

  (4). EQV.與.NEQV. 這兩個(gè)運(yùn)算符按照先左后右的原則進(jìn)行運(yùn)算。

分享到: 編輯:環(huán)球網(wǎng)校

資料下載 精選課程 老師直播 真題練習(xí)

結(jié)構(gòu)工程師資格查詢

結(jié)構(gòu)工程師歷年真題下載 更多

結(jié)構(gòu)工程師每日一練 打卡日歷

0
累計(jì)打卡
0
打卡人數(shù)
去打卡

預(yù)計(jì)用時(shí)3分鐘

結(jié)構(gòu)工程師各地入口
環(huán)球網(wǎng)校移動(dòng)課堂APP 直播、聽課。職達(dá)未來!

安卓版

下載

iPhone版

下載

返回頂部