fortran邏輯運(yùn)算和選擇結(jié)構(gòu).ppt
《fortran邏輯運(yùn)算和選擇結(jié)構(gòu).ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《fortran邏輯運(yùn)算和選擇結(jié)構(gòu).ppt(25頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第八章常用算法的程序設(shè)計(jì)舉例 第一章算法 第二章計(jì)算機(jī)和計(jì)算機(jī)程序 第四章邏輯運(yùn)算和選擇結(jié)構(gòu) 第五章循環(huán)結(jié)構(gòu)的實(shí)現(xiàn) 第六章Fortran的數(shù)據(jù)結(jié)構(gòu) 第七章數(shù)據(jù)的輸入 輸出 第三章Fortran語(yǔ)言程序設(shè)計(jì)初步 一 引言 在FORTRAN77中 用塊IF結(jié)構(gòu)來(lái)實(shí)現(xiàn)選擇結(jié)構(gòu) 其形式為 IF 條件 THENthen塊ELSEelse塊ENDIF 例 計(jì)算職工工資 正常工資rate yuan h 一周超過(guò)40hours時(shí) 超過(guò)部分按1 5rate yuan h cPayrollwithovertimeprogrampayrollread rate hoursif hours gt 40 0 thenregpay rate 40 0ovtpay 1 5 rate hours 40 0 elseregpay rate hoursovtpay 0 0endifpay regpay ovtpaywrite rate rate hours hourswrite regularpay regpay overtimepay ovtpaywrite totalpay payend 二 關(guān)系表達(dá)式 關(guān)系表達(dá)式是最簡(jiǎn)單的一種邏輯表達(dá)式 其一般形式為 算術(shù)量 數(shù)值常數(shù) 數(shù)值型變量 數(shù)值函數(shù) 算術(shù)表達(dá)式 關(guān)系運(yùn)算符 關(guān)系比較符 FORTRAN中有六種關(guān)系運(yùn)算符 幾點(diǎn)注意 1 關(guān)系運(yùn)算符字母兩側(cè)各有一個(gè)句點(diǎn) 不要漏寫(xiě) 2 在一個(gè)關(guān)系表達(dá)式中可能包括算術(shù)運(yùn)算符和關(guān)系運(yùn)算符 先進(jìn)行算術(shù)運(yùn)算 然后進(jìn)行關(guān)系運(yùn)算 建議加括號(hào) i j ne m n相當(dāng)于 i j ne m n 3 不同類(lèi)型常變量比較時(shí) 遵循低級(jí)向高級(jí)轉(zhuǎn)化規(guī)律 X GT 3 4 關(guān)系表達(dá)式的值不是一個(gè)數(shù)值 而是邏輯量 真 或 假 5 判斷實(shí)數(shù)相等和不等 用 EQ 和 NE 時(shí)要特別注意 1 0 3 0 1 0 3 0 1 0 3 0 EQ 1 0 10 0 0 1 NE 1 0 A EQ B可改為ABS A B LT 1E 6 C NE D可改為ABS C D GT 1E 6 三 邏輯表達(dá)式 1 邏輯常量 FORTRAN只有兩個(gè)邏輯常量 TRUE 表示 真 即滿足邏輯條件 FALSE 表示 假 即不滿足邏輯條件 2 邏輯型變量 Fortran用LOGICAL語(yǔ)句說(shuō)明邏輯變量 logicala ba true b x y gt z 3 邏輯運(yùn)算符 4 邏輯表達(dá)式 FORTRAN77邏輯量包括 邏輯常量邏輯型變量關(guān)系表達(dá)式 a lt b and a gt c x lt 0 or a gt 100 not x le 0 a gt b eqv c gt d l1 lt 0 neqv true 注意 AND 和 EQV 的區(qū)別 例如 A 3 5 B 5 0 C 2 5 D 1 0 算術(shù)運(yùn)算符的運(yùn)算對(duì)象是數(shù)值量 運(yùn)算結(jié)果為數(shù)值 關(guān)系運(yùn)算符的運(yùn)算對(duì)象是數(shù)值量 運(yùn)算結(jié)果為邏輯量 邏輯運(yùn)算符的運(yùn)算對(duì)象是邏輯量 運(yùn)算結(jié)果仍為邏輯量 邏輯運(yùn)算符和算術(shù)運(yùn)算符可以連續(xù)用運(yùn)算符連接運(yùn)算量 但關(guān)系運(yùn)算符不可以 邏輯運(yùn)算符可以寫(xiě)成 設(shè)L1 L2 L3 L4為邏輯變量 L1 AND L2 AND L3 AND L4算術(shù)運(yùn)算符可以寫(xiě)成 A B C D但關(guān)系運(yùn)算符不能寫(xiě)成 A LT B LT C LT D 四 用塊IF實(shí)現(xiàn)選擇結(jié)構(gòu) IF 邏輯表達(dá)式 THEN塊1ELSE塊2ENDIF 幾點(diǎn)說(shuō)明 1 一個(gè)塊IF是有若干個(gè)語(yǔ)句組成的 其中三條語(yǔ)句均不能單獨(dú)是使用 2 一個(gè)塊IF必須以塊IF語(yǔ)句開(kāi)始 以ENDIF語(yǔ)句結(jié)束 一個(gè)塊IF語(yǔ)句必須和一個(gè)ENDIF語(yǔ)句對(duì)應(yīng) 3 一個(gè)塊IF可以不包含ELSE語(yǔ)句和else塊 也可以不包含then塊 if grade lt 60 thenprint No numprint grade gradeendif 4 塊IF的嵌套 一個(gè)塊IF可以嵌套另一個(gè)塊IF 但另一個(gè)塊if必須完整地出現(xiàn)在then塊或else塊的位置 if grade ge 60 thenelseprint No numprint grade gradeendif read gradeif grade ge 60 thenif grade ge 70 thenif grade ge 80 thenwrite A elsewrite B endifelsewrite C endifelsewrite D endifend 成績(jī)分級(jí)A 80B 70且 80C 60且 70D 60 給a b c三個(gè)數(shù)排序 要求從小到大輸出 read a b cif a le b thenelset aa bb tendifif b le c thenelset bb cc tif a le b thenelset aa bb tendifendifwrite a b cend 五 ELSEIF語(yǔ)句 read gradeif grade ge 60 thenif grade ge 70 thenif grade ge 80 thenwrite A elsewrite B endifelsewrite C endifelsewrite D endifend 為了避免過(guò)多的塊IF嵌套 FORTRAN還提供了ELSEIF語(yǔ)句來(lái)處理 否則 如果 的情況 read gradeif grade ge 60 thenif grade ge 70 thenif grade ge 80 thenwrite A elsewrite B endifelsewrite C endifelsewrite D endifend read gradeif grade ge 80 thenwrite A elseif grade ge 70 thenwrite B elseif grade ge 60 thenwrite C elsewrite D endifend 幾點(diǎn)說(shuō)明 2 ELSEIF語(yǔ)句不需ENDIF語(yǔ)句與之對(duì)應(yīng) 3 一個(gè)塊IF可以有多個(gè)ELSEIF語(yǔ)句 除非有塊IF嵌套否則只能有一個(gè)ELSE語(yǔ)句 1 ELSEIF語(yǔ)句相當(dāng)于把ELSE語(yǔ)句和其下一行的塊IF語(yǔ)句連結(jié)成一個(gè)語(yǔ)句 4 當(dāng)處理多分支選擇時(shí) 用ELSEIF語(yǔ)句往往比較方便 5 ELSEIF是在 條件為假 的分支中再繼續(xù)進(jìn)行分支處理的 故在處理多分支的選擇時(shí) 要把出現(xiàn)幾率高的條件寫(xiě)在前面 以提高效率 read gradeif grade ge 80 thenwrite A elseif grade ge 70 thenwrite B elseif grade ge 60 thenwrite C elsewrite D endifend read gradeif grade le 60 thenwrite D elseif grade le 70 thenwrite C elseif grade le 80 thenwrite B elsewrite A endifend read xif x lt 10 0 theny 0 0elseif x lt 0 0 theny 2 0 x 20 0elseif x lt 20 0 theny 20 0elseif x lt 40 0 theny 30 0 0 5 xelseif x lt 50 0 theny 50 0 xelsey 0 0endifwrite y yend 求函數(shù)值 六 邏輯IF語(yǔ)句 邏輯IF語(yǔ)句只有 條件為真 時(shí)才有操作 為 假 時(shí)不進(jìn)行任何操作 且條件為 真 時(shí)只能執(zhí)行一條執(zhí)行語(yǔ)句 而后不論 真 或 假 都接著執(zhí)行邏輯IF語(yǔ)句的下一條語(yǔ)句 邏輯IF語(yǔ)句又稱(chēng)行IF語(yǔ)句 如果在塊IF結(jié)構(gòu)中else塊空塊 而then塊只有一條語(yǔ)句 則用邏輯IF語(yǔ)句比較方便 if x lt 60 0 thenwrite gradeendifend if x lt 60 0 write grade 因?yàn)椴徽?真 或 假 都接著執(zhí)行邏輯IF語(yǔ)句的下一條語(yǔ)句 故邏輯IF語(yǔ)句的條件要寫(xiě)全 read gradeif grade ge 80 write A if grade ge 70 and grade lt 80 write B if grade ge 60 and grade lt 70 write C if grade lt 60 write D end read gradeif grade ge 80 write A if grade ge 70 write B if grade ge 60 write C write D end C單價(jià)850 100以上95折優(yōu)惠 求貨款 price 850read nif n ge 100 price price 0 95amount n pricewrite n n amount amountend- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- fortran 邏輯運(yùn)算 選擇 結(jié)構(gòu)
鏈接地址:http://m.zhongcaozhi.com.cn/p-7423494.html