版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
FORTRAN語言--FORTRAN
77結(jié)構(gòu)化程序設(shè)計講師:徐紅波Email:x_h_b@第四章邏輯運算和選擇結(jié)構(gòu)4.1
引言在第三章介紹了最簡單FORTRAN程序,在程序中各語句是順序執(zhí)行的,這種程序只包括順序結(jié)構(gòu)。這種程序只能解決邏輯關(guān)系比較簡單的問題。在解決數(shù)值計算和非數(shù)值計算的問題時,常常遇到這樣問題:需要對給定條件作邏輯判斷,根據(jù)判斷的結(jié)果決定執(zhí)行哪種操作。這需要用到選擇結(jié)構(gòu)。用塊IF結(jié)構(gòu)實現(xiàn)選擇結(jié)構(gòu),其形式為:IF(條件)THENthen塊ELSEelse塊END
IF不成立成立條件塊塊[例4.1]計算職工工資。工人每小時計時工資為
RATE,如果一周工作時間超過40小時,加班部分的工資按正常時間工資的1.5倍計算。C
Payroll
with
overtimePROGRAM
PAYROLLREAD
(*,
*)
RATE,HOURSIF
(HOURS
.GT.
40.0)
THENREGPAY=RATE*40.0OVTPAY=1.5*RATE*(HOURS-40.0)ELSEREGPAY=RATE*HOURSOVTPAY=0.0END
IFPAY=REGPAY+OVTPAYPRINT
*,
'RATE=',
RATE,
'HOURS=',
HOURSPRINT
*,
'REGULAR
PAY=',
REGPAY,
'
OVERTIME
PAY=',
OVTPAYPRINT
*,
'TOTAL
PAY=',
PAYEND4.2
關(guān)系表達式關(guān)系表達式是最簡單的一種邏輯表達式。<算術(shù)量><關(guān)系運算符><算術(shù)量>算術(shù)量可以是數(shù)值常數(shù)、數(shù)值型變量、數(shù)值函數(shù),也可以是算術(shù)表達式。FORTRAN中有六個關(guān)系運算符。見下表。關(guān)系運算符英語含義數(shù)學(xué)符號.GT.Greater
Than>.GE.Greater
than
or
Equal
to≥.LT.LessThan<.LE.Less
than
or
Equal
to≤.EQ.EQual
to=.NE.Not
Equal
to≠關(guān)系表達式示例:關(guān)系表達式A
.GT.
3.5A+B
.LE.
0.0SIN(X)
.GE.
0.5A-B
.NE.
C+D
I
.LT.
J/2數(shù)學(xué)式子A>3.5A+B≤0SIN(X)≥0.5A-B≠C+DI<J/24.3
邏輯表達式關(guān)系表達式是最簡單的邏輯表達式。關(guān)系表達式代表“簡單條件”,如X.GT.0.0代表X>0。但遇到一些比較復(fù)雜條件,如0≤X<5,是0≤X和X<5兩個簡單條件的組合,可以把它看作一個復(fù)合條件。可以寫成以下邏輯表達式:X
.GE.
0.0
.AND.
X
.LT.
5.0所謂邏輯表達式是對邏輯量進行邏輯運算的表達式。邏輯表達式的形式:<邏輯量><邏輯運算符><邏輯量>FORTRAN77的邏輯量:邏輯常量邏輯型變量關(guān)系表達式邏輯表達式的值是一個邏輯值,它不是真便是假。4.3.1邏輯常量邏輯常量只有兩個:.TRUE.
.FALSE.例如,當(dāng)X=3時
X
.LT.
5
的值為.TRUE.,而X
.LE.
0.0
的值為.FALSE.。邏輯常量可以在程序中出現(xiàn),可以將它們賦給邏輯型變量。邏輯常量又稱邏輯常數(shù),它的性質(zhì)與其它類型的常量相類似,代表一個常值。4.3.2邏輯型變量邏輯型變量存放邏輯常量。它的值也只能是.TRUE.或.FALSE.之一??梢詫⒁贿壿嫵A抠x予一個邏輯變量。假定A,B已被定義為邏輯型變量,則可以用賦值語句對它們賦值:A=.TRUE.B=.FALSE.這種賦值語句稱為邏輯賦值語句。它的一般形式為:邏輯變量=邏輯表達式程序中對每一個邏輯變量都應(yīng)加以說明,可用LOGICAL語句,如:LOGICAL
A,
B4.3.3邏輯運算符邏輯運算符含義邏輯運算舉例.AND.邏輯與A
.AND.
B.OR.邏輯或A
.OR.
B.NOT.邏輯非.NOT.
A.EQV.邏輯等A
.EQV.
B.NEQV.邏輯不等A
.NEQV.
B邏輯表達式示例:(A
.LT.
B)
.AND.
(A
.GT.
C)(X
.LT.
0.0)
.OR.
(X
.GT.
100.0)NOT.
(X
.LE.
0.0)(A
.GT.
B)
.EQV.
(C
.GT.
D)L1
.NEQV.
L24.3.4邏輯表達式的運算次序一個邏輯表達式中可以包括多個邏輯運算符。即多個邏輯量經(jīng)過邏輯運算后可以得到一個邏輯值。例如以下邏輯表達式:A
.LE.
0.0
.AND.
A+C
.GT.
B+D
.OR.
.NOT.
.TRUE.FORTRAN77規(guī)定按以下次序進行運算:先計算算術(shù)表達式的值再求關(guān)系表達式的值最后進行邏輯運算運算類型運算符優(yōu)先級括號(
)1算術(shù)運算**2*
/3+
-4關(guān)系運算.GT.
.GE..LE.
.EQ..LT..NE.5邏輯運算.NOT..AND.67.OR.8.EQV.,
.NEQV.94.4
用塊IF實現(xiàn)選擇結(jié)構(gòu)4.4.1
塊IF的組成塊IF的形式:IF(邏輯表達式)THEN塊1ELSE塊2END
IF4.4.2
塊IF的執(zhí)行過程若邏輯表達式的值為真,則執(zhí)行塊1,否則執(zhí)行塊2。4.4.3
塊IF的嵌套[例4.2]學(xué)生考試成績,大于等于80分的為A等,大于等于60分而小于80分的為B等,小于60分的為D等。READ
(*,
*)
GRADEIF
(GRADE
.GE.
60.0)
THENIF
(GRADE
.GE.
80.0)
THENPRINT
*,
‘A’ELSEPRINT
*,
‘B’END
IFELSEPRINT
*,
‘D’END
IF[例4.3]如果在上例的基礎(chǔ)上將80分以上定為A等,70~79分定為B等,60~69分定為C等,小于60分的為D等。READ
(*,
*)
GRADEIF(GRADE
.GE.
60.0)
THENIF(GRADE
.GE.
70)
THENIF(GRADE
.GE.
80.0)
THENPRINT
*,
‘A’ELSEPRINT
*,
‘B’END
IFELSEPRINT
*,
‘C’END
IFELSEPRINT
*,
‘D’END
IF[例4.4]
三個數(shù)A、B、C,按升序排序。READ
(*,
*)
A,
B,
CIF
(A
.LE.
B)
THENELSET=AA=BB=TEND
IFIF
(B
.LE.
C)THENELSET=BB=CC=TIF
(A
.LE.
B)
THENELSET=AA=BB=TEND
IFEND
IF4.4.4
ELSE
IF語句FORTRAN提供ELSE
IF語句來處理邏輯
“否則,如果……”。[例4.6]例4.3可以用ELSE
IF語句來實現(xiàn)。READ
(*,*)
GRADEIF
(GRADE
.GE.
80.0)
THENWRITE
(*,*)
‘A’ELSE
IF
(GRADE
.GE.
70.0)
THENWRITE
(*,*)
‘B’ELSE
IF
(GRADE
.GE.
60.0)
THENWRITE
(*,*)
‘C’ELSEWRITE
(*,*)
‘D’END
IF[例4.7]有一函數(shù):Y=
0(X<-10)2X+20(-10<=X<0)20(0<=X<20)30-0.5X(20<=X<40)50-X(40<=X<50)0(X>=50)READ
(*,*)
XIF
(X
.LT.-10.0)
THENY=0.0ELSE
IF
(X
.LT.0.0)
THENY=2.0*X+20.0ELSE
IF
(X
.LT.20.0)
THENY=20.0ELSE
IF
(X
.LT.40.0)
THENY=30.0-0.5*XELSE
IF
(X
.LT.50.0)
THENY=50.0-XELSEY=0.0END
IFPRINT
*,
‘Y=’,
YEND4.5
邏輯IF語句邏輯IF語句實現(xiàn)選擇結(jié)構(gòu),但它與塊IF不同:它只有條件為真時才有操作,為假時不進行任何操作;條件為真時只能執(zhí)行一個語句而不能執(zhí)行若干個語句。例如:IF
(X
.GT.
0.0)
*,
X[例4.8]計算READ
(*,
*)
XIF
(X
.GE.
0.0)
Y=3.0*X+6.0IF
(X
.LT.
0.0)
Y=-X*X+2.0*X-8.0PRINT
*,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版土地租賃與使用權(quán)置換協(xié)議3篇
- 校企攜手2025年度共建紡織工藝培訓(xùn)基地合同3篇
- 二零二五年度文化藝術(shù)展覽場地臨時使用協(xié)議書3篇
- 2025版建筑工程碎石料采購與安全管理合同3篇
- 2025年度個人教育培訓(xùn)機構(gòu)投資合同書(教育連鎖版)4篇
- 二零二五年深海油氣資源開發(fā)電焊工勞務(wù)分包協(xié)議3篇
- 囧媽觀后感15篇
- 個人出租車的對外承包協(xié)議書 3篇
- 二零二五版淋浴房環(huán)保材料生產(chǎn)與應(yīng)用合同3篇
- 二零二五年度城市道路施工監(jiān)理合同標準版4篇
- 定額〔2025〕1號文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價格水平調(diào)整的通知
- 2024年城市軌道交通設(shè)備維保及安全檢查合同3篇
- 【教案】+同一直線上二力的合成(教學(xué)設(shè)計)(人教版2024)八年級物理下冊
- 湖北省武漢市青山區(qū)2023-2024學(xué)年七年級上學(xué)期期末質(zhì)量檢測數(shù)學(xué)試卷(含解析)
- 單位往個人轉(zhuǎn)賬的合同(2篇)
- 科研倫理審查與違規(guī)處理考核試卷
- GB/T 44101-2024中國式摔跤課程學(xué)生運動能力測評規(guī)范
- 高危妊娠的評估和護理
- 2024年山東鐵投集團招聘筆試參考題庫含答案解析
- 兒童10歲生日-百日宴-滿月酒生日會成長相冊展示(共二篇)
- 2023年高考全國甲卷數(shù)學(xué)(理)試卷【含答案】
評論
0/150
提交評論