一級基礎科目(一)輔導---FORTRAN的程序構成和基本規定


二、FORTRAN的程序構成和基本規定
(一)程序構成
一個完整的FORTRAN程序由一個主程序或一個主程序和若干個子程序組成。主程序與每個子程序都是一個獨立的程序單位,稱為一個程序模塊。關于程序的構成,有如下一些基本規定。
1.程序由若干行組成。
2.在FORTRAN中,程序行分為語句行和注釋行。
(1)語句行由FORTRAN語句組成,包括執行語句和非執行語句。執行語句使計算機在運行時產生某些操作,如賦值語句、輸入輸出語句等。非執行語句為計算機在編譯或運行時提供某種信息,本身不產生操作,如說明語句、格式語句等。
(2)注釋行又稱為非語句行,在程序中起注釋作用,便于程序的編寫、修改和維護。
3.FORTRAN規定,每個語句行只能寫一個語句;但當語句長度超過規定的一行范圍、或者為表達清晰起見需要將一個語句分行書寫時,可以采用連續行。連續行的第一行稱為始行,以后各行稱為續行。 ?
4.FORTRAN語句可以有標號。標號作為一個語句被其他語句引用的標志。在同一個程序單位中,不能出現相同的語句標號。
5.程序單位的最后一行語句,必須是END語句。如果一個FORTRAN語句行與注釋行的集合,最末沒有END,可稱其為一個語句塊或程序段,但不能作為一個程序單位。
(二)書寫規則
1.FORTRAN77的字符集由26個英文字母、10個數字和其他13個專用字符組成。
2. 一個程序行有80列,每列寫一個字符。
3. 程序行的第1列如寫上C或x,表示該行為注釋行。注釋內容可寫在該行中除第1
列外的任意位置。
4.在語句行中,程序行的第1列至第5列為語句標號區,標號區內是最多為5位的無符號整數;程序行的第6列為續行區,若某行為續行,則標號區必須空白,且第6列為非0的任一FORTRAN77字符(不能為空格);第7列至第72列為語句區。
例如,在邊長為B的正方形中挖一個半徑為R的圓,計算剩余的面積;若B<2R,
則給出相關信息。該問題的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:”,F10.2)’)
$ B*B―3.14159*R*R
ENDIF
END
本例中,第1行為注釋行,第5行為帶標號的語句,第7―8行為連續行,符號$為續行標志。
?08年考試規范、標準: 2008年一級注冊結構工程師考試成績查詢匯總
(三)常量與變量
1.常量指程序中其值固定不變的一些量,包括以下6種類型。
(1) 整形常量,也稱整數。一個整數可采用正、負號和數字字符表示,正號可以省略。
(2) 實型常量,也稱實數。可以用小數形式或指數形式表示。用指數形式表示的實數。如11.3E5,+11.3E+5,1.E-12,-.23E12等。
(3)雙精度實型常量,或稱雙精度實數。雙精度實數也是實數。但在一般的微型計算機中,實數的有效位數為7位,雙精度實數的有效位數可以達到15~17位。雙精度實數的表示方法,除在指數形式的表達中用字符D代替E以外,其余和實數相同。
(4)復型常量,簡稱復數。在FORTRAN中,用一對圓括弧括起來的兩個實數表示。如(12.0,-6.E2)表示復數12.0-600.0i
(5)邏輯型常量。FORTRAN中的邏輯型常量有兩個值:.TRUE.與.FALSE.
(6)字符型常量,也稱為字符串。計算機系統使用的若干個字符,用一對單引號括起來后就作為字符串。
2.變量指在程序運行期間可以改變的量。
(1)變量的類型與常量相對應,分為整型變量、實型變量、雙精度實型變量、復型變
量、邏輯型變量與字符串變量。
(2)變量名按一定的規則命名。在FORTRAN中,變量名采用1至6個字符(數字或字母),其中第一個字符必須是字母。FORTRAN 77規定,變量名書寫時不區別字母的
大寫與小寫,例如ABc與aBC都指同一個變量。
(3)變量類型的說明方法。
1)I-N隱含規則。在程序單位中沒有其他說明時,以字母I,J,K,L,M,N中的
任一個字母打頭命名的變量都是整型變量。
2)用類型說明語句規定變量類型。例如:
INTEGER A,COUNT
REAL ICOUNT
DOUBLEPRECISION XING
COMPLEX DUP
LOGICAL JUG
CHARACTER FILENM
分別表示變量A,COUNT為整型,ICOUNT為實型,XING為雙精度實型,DUP為復制,JUG為邏輯型,FILENM為字符型變量,其長度為10個字符。
3)用隱含說明語句IMPLICIT語句,可以將程序單位中以某一字母開頭的所有變量指定為所需類型。例如:
IMPLICIT INTEGER(A,C),REAL(1―K)
指定了以A與C字母開頭的所有變量都是整型變量,以字母I至K開頭的所有變量為實型變量。
類型說明語句和隱含說明語句只在本程序單位中有效;他們必須放在程序單位所有可執行語句的前面,而IMPLICIT語句又必須在所有的類型說明語句的前面。確定變量類型的三種方法中,類型說明語句的優先級最高,I-N規則的優先級最低。
(四)數組
1.數組的定義
有些互相關聯的數據,作為單個變量處理并不方便。程序設計語言通常把這種相互關聯的數據按一定的順序關系組成一個集合,該集合稱為數組;組成數組的基本單元稱為數組元素,每一個數組元素對應一個數據.在FORTRAN中,使用數組前必須對數組進行定義,包括對數組命名;確定數組的類型;確定數組的維數及大小;指出數組各維下標的下限與上限。
數組的命名規則與變量的命名規則相同。
確定數組類型、維數及其大小的方法有以下兩種。
(1)用類型說明語句定義數組。例如:
INTEGER X(-2:30),XYZ(1:20,0:15)
定義了兩個整型數組。其中X稱為一維數組,下標的下限與上限分別為-2與30,即這個一維數組共有30-(-2)+1=33個元素,它們分別為:X(-2),X(-1),X(0),X(1),…,X(30);XYZ稱為二維數組,第一個下標的下限與上限分別為1與20,第二個下標的下限與上限分別為0與15,即這個二維數組共有(20-1+1)×(15-0+1)=20×16=320個整型元素,它們分別為:
XYZ(1,0),XYZ(1,1),…,XYZ(1,15)
…………
XYZ(20,0),XYZ(20,1),…,XYZ(20,15)
字符型數組必須用類型說明語句定義。例如:
CHARACTER OUT(10)
數組OUT每個元素的長度都是8,即每個元素都可以存放8個字符。
(2)用DIMENSION語句定義數組。這時,數組的類型按隱含規則確定,或者可以用類型說明語句再次說明其類型。例如:
DIMENSION IM(-1:10),IA(0:100,-2:0),X(1:5)
REAL IA
INTEGER X
其中,IM為一維整型數組,IA為2維實型數組,X為一維整型數組。
當數組的下標下限為1時,可以省略說明下標下限。例如,下列數組說明
DIMENSIONA(100),B(5,5)等價于DIMENSIONA(1:100),B(1:5,1:5)
目前在許多微機上使用的FORTRAN 77子集中,數組的下標下限只允許為1,并且也只允許用省略下限的數組說明。
數組說明語句必須放在所有可執行語句與DATA語句之前。
2.數組在內存中的存儲形式
在FORTRAN中,數組的各元素是按順序存儲在計算機內存單元中的。特別需要注意的是2維和2維以上的多維數組中,各元素是以列為主存儲的。
例如,有一個二維數組I(1:2,1:3),該數組可以寫成數表的形式
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,在內存中存放的順序是I(1,1),I(2,1),I(1,2),I(2,2),I(1,3),I(2,3),如果按內存存放順序將這個數組的元素打印出來,數據的順序將是:1, 20, 2, 40, -1, 50
其他多維數組中的元素也是按同樣規則存儲的,即先存儲第1列,再存儲第2列,以此類推,最后存儲數組中的最后一列。
(五)各種運算符及其運算的優先級
1.算術運算符。FORTRAN有五個算術運算符,它們是:
加法運算符 +
減法運算符 -
乘法運算符 *
除法運算符 /
乘冪運算符 * *
這五個算術運算符的運算順序是:
(1)乘冪運算符* *優先級最高;
(2)乘法與除法運算符*,/優先級次之; ?
(3)加法與減法運算符+,―優先級最低。 ’
對于同一優先級的兩個運算符,按“先左后右”的原則進行計算。
2.關系運算符。FORTRAN有六個關系運算符,用于比較兩個表達式相等或不等。它們是:
大于 .GT.
大于或等于 .GE.
小于 .LT.
小于或等于 .LE.
等于 .EQ.
不等于 .NE.
經過關系運算符比較后,得到一個邏輯型的值。例如,整型變量I的值為10,J的值為12,則I.LT.J的結果為“真”(.TRUE.),而I.EQ.J的結果為“假”(.FALSE.)。
3.邏輯運算符。FORTRAN有五個邏輯運算符,它們是: 。
邏輯與 .AND. 兩個邏輯型量都為“真”時,其值為“真”,否則為“假”;
邏輯或 .OR. 兩個邏輯型量都為“假”時,其值為“假”,否則為“真”;
邏輯非 .NOT. 一個邏輯型量為“真”時,其值為“假”,否則為“真”;
邏輯等 .EQV. 兩個邏輯型量等值時,其值為“真”,否則為“假”;
邏輯不等 .NEQV. 兩個邏輯型量不等值時,其值為“真”,否則為“假”。
邏輯運算符中,除了邏輯非運算符.NOT.只有一個運算對象外,其余四個邏輯運算符均有兩個運算對象。
邏輯運算符的優先級如下;
(1).NOT.
(2).AND.
(3). OR.
(4). EQV.與.NEQV. 這兩個運算符按照先左后右的原則進行運算。
最新資訊
- 2025年一級注冊結構工程師常考知識點2025-02-17
- 2025年二級注冊結構工程師高頻知識點2025-02-17
- 2024年度二級注冊結構工程師專業考試資料:規范、標準、規程2024-08-13
- 2024年度一級注冊結構工程師專業考試資料:規范、標準、規程2024-08-13
- 環球網校雙11預售開啟!定金百倍膨脹,直播再返現金2023-10-25
- 環球網校結構工程師雙11活動來啦,限時優惠!2023-10-25
- 注冊結構工程師考試大綱下載2023-05-16
- 2023年一級注冊結構工程師考試大綱內容2023-04-14
- 2023年結構工程師教材內容變動對比2023-04-10
- 2023年注冊結構工程師專業基礎教材變動對比2023-04-03