流程控制與邏輯運(yùn)算.ppt
《流程控制與邏輯運(yùn)算.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《流程控制與邏輯運(yùn)算.ppt(17頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1,Fortran95程序設(shè)計(jì),彭國倫編著,韋劼群wjq@2008.11,2,5-1IF語句,能夠在程序執(zhí)行當(dāng)中自動(dòng)選擇轉(zhuǎn)向、跳過某些程序模塊來執(zhí)行程序代碼,這是IF關(guān)鍵字的功能。5-1-1IF基本用法最基本的使用方法是由一個(gè)程序模塊所構(gòu)成,當(dāng)IF所賦值的邏輯判斷式成立,這模塊中的代碼才會(huì)執(zhí)行。,IF(邏輯判斷式)then…….…….…….Endif,邏輯成立時(shí)才會(huì)執(zhí)行這里面的程序代碼,,[ex0501.f90],3,5-1IF語句,單行IFIf(speed>100.0)write(*,*)“Slowdown”如果….那么就….,否則就…..。,[ex0502.f90],IF(邏輯判斷式)then…….…….ELSE…….…….Endif,邏輯成立時(shí),執(zhí)行這一段的程序代碼,,邏輯不成立時(shí)則執(zhí)行這一段的程序代碼,,4,5-1-2邏輯運(yùn)算,If命令需搭配邏輯表達(dá)式才能使用。邏輯運(yùn)算符號:,[ex0501.for],5,5-1-2邏輯運(yùn)算,邏輯表達(dá)式除了可以單純對兩個(gè)數(shù)字比較大小之外,還可以對兩個(gè)邏輯表達(dá)式間的關(guān)系來運(yùn)算。如:If(a>=80.and.AB,[ex0504.f90],當(dāng)A的數(shù)值大于B時(shí),logical_var這個(gè)邏輯變量會(huì)被設(shè)定成“真”(.TRUE.),否則會(huì)被設(shè)定為“假”(.FALSE.),,,7,5-1-3多重判斷IF-ELSEIF,多重判斷可一次列出多個(gè)條件及多個(gè)程序模塊,[ex0505.f90],IF(條件1)then…….…….elseif(條件2)then…….…….elseif(條件3)then…….…….elseif(條件4)then…….…….else…….Endif,條件1成立時(shí),執(zhí)行這個(gè)模塊程序,,條件2成立時(shí),執(zhí)行這個(gè)模塊程序,,條件3成立時(shí),執(zhí)行這個(gè)模塊程序,,條件4成立時(shí),執(zhí)行這個(gè)模塊程序,,Else這個(gè)模塊可以省略,,每個(gè)條件都不成立時(shí),才執(zhí)行這個(gè)模塊程序,,[ex0506.f90],8,5-1-3多重判斷IF-ELSEIF,利用多個(gè)獨(dú)立的IF語句也能實(shí)現(xiàn)多重判斷的效果如:判別成績等級If(score>=90)grade=‘A’If(score>=80)grade=‘B’If(score>=70)grade=‘C’If(score>=60)grade=‘D’If(score>=0)grade=‘E’If(score>=100.or.score<0)grade=‘?’,[ex0507.f90],9,5-1-4嵌套IF語句,IF(……)THEN←第1層if開始IF(……)THEN←第2層if開始IF(……)THEN←第3層if開始ELSEIF(……)THENELSEENDIF←第3層if結(jié)束ENDIF←第2層if結(jié)束ENDIF←第1層if結(jié)束,[ex0508.f90],10,5-2浮點(diǎn)數(shù)及字符的邏輯運(yùn)算,5-2-1浮點(diǎn)數(shù)的邏輯判斷使用浮點(diǎn)數(shù)做邏輯運(yùn)算時(shí),要避免使用“等于”的判斷使用浮點(diǎn)數(shù)計(jì)算,有效位數(shù)是有限的,難免會(huì)出現(xiàn)計(jì)算上的誤差,理想中的等號不一定會(huì)成立例:EX0509.f90浮點(diǎn)數(shù)的計(jì)算誤差經(jīng)常發(fā)生,在判斷式中要給誤差預(yù)留一點(diǎn)空間例:EX0510.f90abs()取絕對值的函數(shù),[ex0510.f90],[ex0509.f90],11,5-2-2字符的邏輯判斷,字符也可比較大小,根據(jù)是比較它們的字符碼(ASCII),[ex0511.f90],12,5-3SELECTCASE語句,[ex0512.f90],[ex0513.f90],Selectcase(變量)case(數(shù)值1)…….…….case(數(shù)值2)…….…….case(數(shù)值n)…….…….casedefault…….Endif,放入所要判斷的變量,,變量等于數(shù)值1時(shí),執(zhí)行此程序段,,變量等于數(shù)值2時(shí),執(zhí)行此程序段,,變量等于數(shù)值n時(shí),執(zhí)行此程序段,,變量不等于任何數(shù)值時(shí),執(zhí)行此程序段,,13,5-3SELECTCASE語句,使用SELECTCASE來取代某些使用IF-ELSEIF的多重語句,會(huì)讓代碼看起來比較簡潔。SELECTCASE有一些限制:只能使用整數(shù),字符和邏輯變量,不能使用浮點(diǎn)數(shù)和復(fù)數(shù)。每個(gè)case中所使用的數(shù)值必須是固定的常量,不能使用變量。,14,5-4其他流程控制,5-4-1GOTO古老的“跳轉(zhuǎn)”語句不建議使用使用GOTO會(huì)使編寫的程序在結(jié)構(gòu)上變亂,導(dǎo)致程序代碼難以閱讀5-4-2IF與GOTO的聯(lián)用IF判斷還有一種叫做算術(shù)判斷的方法,做法和GOTO類似。例:ex0517.for,[ex0514.f90],[ex0515.f90],[ex0516.f90],15,5-4-3PAUSE,CONTINUE,STOP,PAUSE:暫停執(zhí)行CONTINUE:繼續(xù)向下執(zhí)行f90后很少使用STOP:結(jié)束程序執(zhí)行,16,5-5二進(jìn)制的邏輯運(yùn)算,二進(jìn)制的邏輯運(yùn)算和IF中的邏輯判斷式不太相同,比較接近單純的數(shù)學(xué)運(yùn)算。0.and.0=00.and.1=01.and.0=01.and.1=1F90的庫函數(shù):IAND()IOR()針對二進(jìn)制進(jìn)制integer::aa=B“10”!a=2a=O“10”!a=8a=Z“10”!a=16,[ex0429.f90],17,作業(yè),P981、2、3、4,[ex0435.f90],[ex0436.f90],- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 流程 控制 邏輯運(yùn)算
鏈接地址:http://m.jqnhouse.com/p-3409895.html