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