




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、FORTRAN語(yǔ)言及程序設(shè)計(jì)語(yǔ)言及程序設(shè)計(jì)計(jì)算機(jī)中心計(jì)算機(jī)中心 楚紅楚紅2012.10Visual Fortran 90 程序設(shè)計(jì)程序設(shè)計(jì)4.1關(guān)系表達(dá)式關(guān)系表達(dá)式4.3 邏輯邏輯IF語(yǔ)句語(yǔ)句4.4 塊塊IF結(jié)構(gòu)結(jié)構(gòu)4.5 CASE結(jié)構(gòu)結(jié)構(gòu)4.6 程序設(shè)計(jì)舉例程序設(shè)計(jì)舉例4.2邏輯表達(dá)式邏輯表達(dá)式引言:引言: 在任何一種程序設(shè)計(jì)語(yǔ)言中,都存在在任何一種程序設(shè)計(jì)語(yǔ)言中,都存在三種基三種基本程序結(jié)構(gòu)本程序結(jié)構(gòu): 順序結(jié)構(gòu)順序結(jié)構(gòu) 選擇結(jié)構(gòu)選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 選擇結(jié)構(gòu)選擇結(jié)構(gòu)特點(diǎn):特點(diǎn):執(zhí)行過程執(zhí)行過程嚴(yán)格由上而下嚴(yán)格由上而下,適用于簡(jiǎn)單問題,適用于簡(jiǎn)單問題ReadRead* *,a,b,a
2、,bt=at=aa=ba=bb=tb=tPrintPrint* *,a,b,a,bendend順序結(jié)構(gòu)順序結(jié)構(gòu)例:計(jì)算例:計(jì)算 x2 ,x=0 x方法:需要方法:需要由條件選擇由條件選擇 如如x0, 則則y=x2 否則否則, y=xX0Y=x2Y=xX 、 =、 、 =、 =、 /=(常用)第(常用)第53頁(yè)表頁(yè)表4.1 .GT.、.GE.、.LT.、.LE.、.EQ.、.NE. (很少使用)(很少使用)2.寫法:寫法: 算術(shù)表達(dá)式算術(shù)表達(dá)式1 算術(shù)表達(dá)式算術(shù)表達(dá)式2或者或者 字符表達(dá)式字符表達(dá)式1 字符表達(dá)式字符表達(dá)式2 例:例: A B ,表示數(shù)學(xué)式:,表示數(shù)學(xué)式:A B; X + Y =
3、 C ,表示數(shù)學(xué)式:,表示數(shù)學(xué)式:X + Y = C; X Y = 1.0E-6 ,表示數(shù)學(xué)式:,表示數(shù)學(xué)式:X Y 10-6; B / = ( C - D ) / LOG ( B ) 表示數(shù)學(xué)式表示數(shù)學(xué)式B(C-D)/lnB 4.1 關(guān)系表達(dá)式關(guān)系表達(dá)式3.運(yùn)算順序:先計(jì)算算術(shù)表達(dá)式或字符表達(dá)式的值運(yùn)算順序:先計(jì)算算術(shù)表達(dá)式或字符表達(dá)式的值e1、e2 再按關(guān)系運(yùn)算符比較再按關(guān)系運(yùn)算符比較 例例: a*bc*d 等價(jià)于等價(jià)于 (a*b)(c*d) (運(yùn)算符順序:(運(yùn)算符順序:先算術(shù),后關(guān)系先算術(shù),后關(guān)系)4.關(guān)系表達(dá)式的值:是邏輯值關(guān)系表達(dá)式的值:是邏輯值 成立:成立:.TRUE.; 不成立:
4、不成立:.FALSE.例如:當(dāng)例如:當(dāng)A = 12.5,B = 14.7,C = 13.5,D = 16時(shí),時(shí),關(guān)系表達(dá)式:關(guān)系表達(dá)式: A + B + 1.5 = C + D + 1.0 值為真值為真 其它值不變,但其它值不變,但C改為改為- 13.5時(shí),時(shí), 值為假。值為假。 5.注意點(diǎn):注意點(diǎn):(1)寫法:)寫法:一個(gè)一個(gè)關(guān)系運(yùn)算符關(guān)系運(yùn)算符,兩個(gè)兩個(gè)算術(shù)或字符表達(dá)式算術(shù)或字符表達(dá)式 錯(cuò)例:錯(cuò)例:2Xb)c(2)關(guān)系運(yùn)算對(duì)象:)關(guān)系運(yùn)算對(duì)象:算術(shù)或字符算術(shù)或字符表達(dá)式表達(dá)式 錯(cuò)例:錯(cuò)例:A=.false.(3)關(guān)系運(yùn)算符兩邊的)關(guān)系運(yùn)算符兩邊的操作數(shù)可以是不同類型的算術(shù)量操作數(shù)可以是不同
5、類型的算術(shù)量。在。在進(jìn)行比較運(yùn)算時(shí)應(yīng)先轉(zhuǎn)化成相同類型,轉(zhuǎn)化的規(guī)律是將進(jìn)行比較運(yùn)算時(shí)應(yīng)先轉(zhuǎn)化成相同類型,轉(zhuǎn)化的規(guī)律是將低級(jí)低級(jí)類型向高級(jí)類型轉(zhuǎn)化類型向高級(jí)類型轉(zhuǎn)化(4)復(fù)型:只能進(jìn)行)復(fù)型:只能進(jìn)行 =、/=(5)= =或或/=要小心使用要小心使用 實(shí)型實(shí)型量一般要量一般要改寫改寫:用最小誤差來判定:用最小誤差來判定 A=B改寫為改寫為ABS(A-B)=1E-6 例:例: 0 x5 0 x 同時(shí)同時(shí) 應(yīng)該為應(yīng)該為0=x.AND.x5 x51.邏輯運(yùn)算符及優(yōu)先級(jí)(第邏輯運(yùn)算符及優(yōu)先級(jí)(第55頁(yè)表頁(yè)表4.2) .NOT.、.AND.、.OR.、 .EQV.、.NEQV. .XOR.高高 低低 .EQ
6、V.、.NEQV.為同一級(jí)為同一級(jí)4.2邏輯表達(dá)式邏輯表達(dá)式表示復(fù)雜的條件表示復(fù)雜的條件2.運(yùn)算規(guī)則:(第運(yùn)算規(guī)則:(第55頁(yè)表頁(yè)表4.3) .not.a:求反求反運(yùn)算,運(yùn)算, a.and.b:a與與b同時(shí)為真同時(shí)為真,表達(dá)式值才為真,表達(dá)式值才為真 a.or.b: a與與b有一個(gè)為真有一個(gè)為真,表達(dá)式值就為真,表達(dá)式值就為真a.eqv.b: a與與b值值相等相等,表達(dá)式值為真,表達(dá)式值為真a.neqv.b: a與與b值值不相等不相等,表達(dá)式值為真,表達(dá)式值為真a.XOR.b: a與與b值值不相等不相等,表達(dá)式值為真,表達(dá)式值為真注:注:NOT為單目運(yùn)算符,位于操作數(shù)之前為單目運(yùn)算符,位于操作
7、數(shù)之前3.邏輯表達(dá)式寫法邏輯表達(dá)式寫法: 用邏輯運(yùn)算符將若干個(gè)用邏輯運(yùn)算符將若干個(gè)邏輯量邏輯量相連相連4.邏輯量邏輯量: 邏輯常量、邏輯變量、邏輯常量、邏輯變量、 邏輯函數(shù)、關(guān)系表達(dá)式邏輯函數(shù)、關(guān)系表達(dá)式即即值為值為.TRUE. .FALSE.的量的量 例:例:AB+D.OR.NOT.TRUE.例例 : LOGICAL: A 則則 A 為一個(gè)邏輯表達(dá)式為一個(gè)邏輯表達(dá)式 .TRUE. 為一個(gè)邏輯表達(dá)式為一個(gè)邏輯表達(dá)式 .NOT.A 為一個(gè)邏輯表達(dá)式為一個(gè)邏輯表達(dá)式注:邏輯運(yùn)算符的注:邏輯運(yùn)算符的運(yùn)算對(duì)象為邏輯量,運(yùn)算結(jié)果為邏輯量運(yùn)算對(duì)象為邏輯量,運(yùn)算結(jié)果為邏輯量 算術(shù)量不參與邏輯運(yùn)算算術(shù)量不參與
8、邏輯運(yùn)算錯(cuò)例:錯(cuò)例: AA.AND.LOG (AA為整型為整型 LOG為邏輯型)為邏輯型) A=.true.5.邏輯表達(dá)式的計(jì)算:邏輯表達(dá)式的計(jì)算: 運(yùn)算順序:運(yùn)算順序: ( ) 函數(shù)函數(shù) 算術(shù)算術(shù) 關(guān)系關(guān)系 邏輯邏輯乘方乘方(最高最高)乘乘/除除加加/減減關(guān)系運(yùn)算符關(guān)系運(yùn)算符邏輯非邏輯非邏輯和邏輯和邏輯或邏輯或邏輯等邏輯等/邏輯不等邏輯不等(最低最低)* * * *,/ /+ +,- -, = ,/ =.NOT.AND.OR.EQV.,.NEQV.例:例: K=2,J=3,A=.TRUE. 則則K-JJ 值為值為.TRUE. 例:例:A1(邏輯型變量)為真,(邏輯型變量)為真,A=1,B=2
9、,X=3 A1.eqv.a+b=x*2練習(xí)表達(dá)式的寫法練習(xí)表達(dá)式的寫法 1、 數(shù)學(xué)式數(shù)學(xué)式 ABCD 2、 1x2+y22 3、 M能被能被N整除整除 4、 整數(shù)整數(shù)A、B之一為之一為0 但不同時(shí)為但不同時(shí)為0 5、 A、B同時(shí)為正,或同時(shí)為負(fù)同時(shí)為正,或同時(shí)為負(fù) 6、 邏輯型變量值為假(或?yàn)檎妫┻壿嬓妥兞恐禐榧伲ɑ驗(yàn)檎妫r(shí)的條件時(shí)的條件 7、邏輯量邏輯量L1、L2、L3同時(shí)為真時(shí)的條件同時(shí)為真時(shí)的條件 AB.AND.BC.AND.CD1X*2+Y*2.AND. X*2+Y*20 或或 SIGN(A,B)=AIF(.NOT.A) IF(A)IF( L1 .AND. L2 .AND. L3) 標(biāo)
10、準(zhǔn)的邏輯運(yùn)算符只允許有邏輯類型的操作數(shù)。但是在標(biāo)準(zhǔn)的邏輯運(yùn)算符只允許有邏輯類型的操作數(shù)。但是在FORTRAN 90中操作數(shù)可以是中操作數(shù)可以是整型常量、整型變量、整型結(jié)構(gòu)體組分或整型算術(shù)表達(dá)式整型常量、整型變量、整型結(jié)構(gòu)體組分或整型算術(shù)表達(dá)式。這時(shí)候邏輯運(yùn)算是這時(shí)候邏輯運(yùn)算是按位進(jìn)行按位進(jìn)行的,且兩個(gè)整型表達(dá)式進(jìn)行邏輯運(yùn)算的結(jié)果為的,且兩個(gè)整型表達(dá)式進(jìn)行邏輯運(yùn)算的結(jié)果為整型,而不是邏輯型。整型,而不是邏輯型。例如:例如: PROGRAM LOGICAL2PROGRAM LOGICAL2IMPLICIT NONEIMPLICIT NONEINTEGER AINTEGER A,B B,C CA=3
11、;B=5A=3;B=5C=A.XOR.BC=A.XOR.BPRINTPRINT* *,AA與與B B異或的結(jié)果為:異或的結(jié)果為: PRINTPRINT* *,C CENDEND 執(zhí)行程序,在屏幕上的輸出結(jié)果為:執(zhí)行程序,在屏幕上的輸出結(jié)果為:A與與B異或的結(jié)果為:異或的結(jié)果為:6語(yǔ)句語(yǔ)句寫法寫法: IF(條件)(條件) 一個(gè)可執(zhí)行語(yǔ)句一個(gè)可執(zhí)行語(yǔ)句 注:注:1.一個(gè)語(yǔ)句一個(gè)語(yǔ)句 2.END. 另一個(gè)邏輯另一個(gè)邏輯IF、 塊塊IF、ELSIF、 ENDIF、DO不可使用不可使用 錯(cuò)例:錯(cuò)例:IF(X2) y=1.0 IF(x6) y=3.0 IF (x3) y= -1.0 PRINT*,Y EN
12、D注意:語(yǔ)句順序的改變對(duì)結(jié)果的影響注意:語(yǔ)句順序的改變對(duì)結(jié)果的影響 閱讀技巧:畫表閱讀技巧:畫表例例2.1 一貨物單價(jià)為一貨物單價(jià)為10元,購(gòu)買元,購(gòu)買100個(gè)以上九五折,輸入購(gòu)買個(gè)以上九五折,輸入購(gòu)買個(gè)數(shù),求貨款。用邏輯個(gè)數(shù),求貨款。用邏輯IF語(yǔ)句實(shí)現(xiàn)的程序如下:語(yǔ)句實(shí)現(xiàn)的程序如下:個(gè)數(shù)個(gè)數(shù)100TF單價(jià)單價(jià)=單價(jià)單價(jià)* 0.95PROGRAM EXAM41IMPLICIT NONEINTEGER : NREAL : PRICE, SUMPRICE = 10.0READ *, NIF( N = 100 ) PRICE = PRICE * 0.95SUM = PRICE * NPRINT *,
13、SUMEND PROGRAM EXAM41IFTHEN、ELSE、ENDIF結(jié)構(gòu)結(jié)構(gòu)一、書寫格式:一、書寫格式: IF(條件)(條件)then !塊!塊IF語(yǔ)句語(yǔ)句 then塊塊 !由若干語(yǔ)句組成!由若干語(yǔ)句組成 ELSE !ELSE語(yǔ)句語(yǔ)句 else塊塊 !由若干語(yǔ)句組成由若干語(yǔ)句組成 ENDIF !ENDIF語(yǔ)句語(yǔ)句二分支結(jié)構(gòu)二分支結(jié)構(gòu)使用范圍:使用范圍:條件條件TFthen塊塊else塊塊4.4 塊塊IF結(jié)構(gòu)結(jié)構(gòu)注:注:1. IFthen標(biāo)記語(yǔ)句的開始標(biāo)記語(yǔ)句的開始 ENDIF 與之與之匹配匹配,標(biāo)記語(yǔ)句塊結(jié)束,標(biāo)記語(yǔ)句塊結(jié)束 2.條件表達(dá)式寫法條件表達(dá)式寫法 3.與邏輯與邏輯IF語(yǔ)句的
14、區(qū)別:語(yǔ)句的區(qū)別: 有無(wú)有無(wú)then關(guān)鍵字關(guān)鍵字 有無(wú)有無(wú)ENDIF關(guān)鍵字關(guān)鍵字 可執(zhí)行語(yǔ)句的個(gè)數(shù)可執(zhí)行語(yǔ)句的個(gè)數(shù)二、執(zhí)行過程:計(jì)算條件的值二、執(zhí)行過程:計(jì)算條件的值 真真 THEN塊塊 ENDIF的下一個(gè)語(yǔ)句的下一個(gè)語(yǔ)句 假假 ELSE塊塊 ENDIF的下一個(gè)語(yǔ)句的下一個(gè)語(yǔ)句例:例: IF(x0)then y=x*2 else y=SQRT(x) ENDIF.TRUE.FALSE.三、退化形式:三、退化形式: IF(e)then IF(e)then(一般單分支一般單分支 ) 語(yǔ)句體語(yǔ)句體1 ELSE 語(yǔ)句體語(yǔ)句體2 ENDIF ENDIF執(zhí)行過程:同上執(zhí)行過程:同上例例1 A、B、C打印最大
15、值打印最大值MAX 分析方法:分析方法:1.初值初值 MAX=A 2.B與與最大值最大值比比 邏輯邏輯IF或或 塊塊IF退化退化 3.C與與最大值最大值比比 畫流程圖或畫流程圖或N-S圖說明圖說明 編寫程序編寫程序 BMAXTFMAX =B應(yīng)用應(yīng)用Program mainProgram mainImplicit noneImplicit noneInteger:a,b,c,maxInteger:a,b,c,maxReadRead* *,a,b,c,a,b,cmax=amax=aIf(bmax) max = bIf(bmax) max = bIf(cmax) max = cIf(cmax) ma
16、x = cprintprint* *,max,maxendend例例2 輸入一個(gè)整數(shù),判斷是奇數(shù)還是偶數(shù)輸入一個(gè)整數(shù),判斷是奇數(shù)還是偶數(shù) 分析:分析: 輸入輸入N MOD(N,2)= =0TF輸出輸出N是偶數(shù)是偶數(shù)輸出輸出N是奇數(shù)是奇數(shù)PROGRAM MAININTEGER:NREAD*,NIF(MOD(N,2)=0)THEN PRINT*,N,是偶數(shù)ELSE PRINT*,N,是奇數(shù)ENDIFEND例:將百分制成績(jī)例:將百分制成績(jī)X, 轉(zhuǎn)化為相應(yīng)的等級(jí)制轉(zhuǎn)化為相應(yīng)的等級(jí)制 打印打印 A x=80 B 70=x80 C 60=x70 D x=80)PRINT*,AIF(70=X.AND.X80
17、)PRINT*,BIF(60=X.AND.X70)PRINT*,CIF(X=80)THENIF(X=80)THEN PRINT PRINT* *,A,AELSEELSE IF(X=70)THENIF(X=70)THEN PRINT PRINT* *,B,B ELSEELSE IF(X=60)THENIF(X=60)THEN PRINT PRINT* *,C,C ELSE ELSE PRINT PRINT* *,D,D ENDIFENDIF ENDIFENDIFENDIFENDIF塊塊IF結(jié)構(gòu)取名的一般格式為:結(jié)構(gòu)取名的一般格式為:塊塊IF結(jié)構(gòu)名:結(jié)構(gòu)名:IF( E ) THEN BLOCK1
18、ELSE 塊塊IF結(jié)構(gòu)名結(jié)構(gòu)名 BLOCK2 ENDIF 塊塊IF結(jié)構(gòu)名結(jié)構(gòu)名注意:注意:(1)(1) 塊塊IFIF結(jié)構(gòu)取名時(shí),將名字寫在結(jié)構(gòu)取名時(shí),將名字寫在IF-THENIF-THEN語(yǔ)句的前面,與語(yǔ)句的前面,與IF-THENIF-THEN語(yǔ)句用語(yǔ)句用冒號(hào)分割冒號(hào)分割;(2)(2) ENDIF ENDIF的后面應(yīng)寫上塊的后面應(yīng)寫上塊IFIF結(jié)構(gòu)名,并用結(jié)構(gòu)名,并用空格分開空格分開;(3)(3) ELSE ELSE語(yǔ)句后的塊語(yǔ)句后的塊IFIF結(jié)構(gòu)名可以省略,如果不省略,結(jié)構(gòu)名可以省略,如果不省略,ELSEELSE語(yǔ)句與塊語(yǔ)句與塊IFIF結(jié)構(gòu)名之間用結(jié)構(gòu)名之間用空格分開空格分開;(4)(4)
19、IF-THEN IF-THEN語(yǔ)句、語(yǔ)句、ELSEELSE語(yǔ)句和語(yǔ)句和ENDIFENDIF語(yǔ)句中的塊語(yǔ)句中的塊IFIF結(jié)構(gòu)名應(yīng)結(jié)構(gòu)名應(yīng)一致。一致。塊塊IF結(jié)構(gòu)的命名結(jié)構(gòu)的命名方法方法3:將之簡(jiǎn)寫為將之簡(jiǎn)寫為Else IF多重條件的多重條件的IF結(jié)構(gòu)結(jié)構(gòu)READREAD* *,X,XIF(X=80)THENIF(X=80)THEN PRINT PRINT* *,A,AELSEIF(X=70)THENELSEIF(X=70)THEN PRINT PRINT* *,B,BELSEIF(X=60)THENELSEIF(X=60)THEN PRINTPRINT* *,C,CELSE ELSE PRINT
20、PRINT* *,D,D ENDIFENDIF注:注: Else IF無(wú)無(wú)ENDIF匹配匹配以前面所講的判斷學(xué)生成績(jī)等級(jí)為例,編寫出相應(yīng)的程序。以前面所講的判斷學(xué)生成績(jī)等級(jí)為例,編寫出相應(yīng)的程序。設(shè)學(xué)生設(shè)學(xué)生成績(jī)?yōu)檎妥兞砍煽?jī)?yōu)檎妥兞?,成?jī)等級(jí)為字符型變量成績(jī)等級(jí)為字符型變量:PROGRAM DJPROGRAM DJIMPLICIT NONEIMPLICIT NONEINTEGER : XINTEGER : XCHARACTER(LEN=1):GRADECHARACTER(LEN=1):GRADEREADREAD* *,X,XIF (X = 80) THENIF (X = 80) THEN
21、GRADE = A GRADE = AELSE IF (X =70) THENELSE IF (X =70) THEN GRADE = B GRADE = BELSE IF (X = 60) THENELSE IF (X = 60) THEN GRADE = C GRADE = CELSEELSE GRADE = D GRADE = DEND IFEND IFPRINT PRINT * *, X = ,X, GRADE = , GRADE, X = ,X, GRADE = , GRADEEND END Else IF一般結(jié)構(gòu)一般結(jié)構(gòu): IF(e1)THEN block1 ELSEIF(e2)t
22、hen block2 ELSEIF(e3)then block3 - ELSE block ENDIF可沒有可沒有ELSE及相應(yīng)的塊及相應(yīng)的塊2.執(zhí)行過程執(zhí)行過程 按順序計(jì)算條件值是否成立:按順序計(jì)算條件值是否成立: 真真 相應(yīng)的相應(yīng)的block ENDIF下一個(gè)語(yǔ)句下一個(gè)語(yǔ)句 假假 下一個(gè)條件語(yǔ)句下一個(gè)條件語(yǔ)句 所有條件均不成立所有條件均不成立 else后的后的Block ENDIF下一個(gè)語(yǔ)句下一個(gè)語(yǔ)句 例上例上 閱讀閱讀 練習(xí):練習(xí): 分段函數(shù)計(jì)算分段函數(shù)計(jì)算(64頁(yè)例頁(yè)例4-5 ) 算法分析:邏輯算法分析:邏輯IF并列或塊并列或塊IF結(jié)構(gòu)嵌套結(jié)構(gòu)嵌套例:計(jì)算例:計(jì)算y=f(x)+g(x)
23、 f(x)=x2-16 g(x)= 1+ ex+1,f(x)0 +25 ,f(x )=0 0 ,f(x)0 3x 分析:分析: 1.計(jì)算計(jì)算f 注:注:f 與與f(x)的區(qū)別)的區(qū)別 2.計(jì)算計(jì)算g 3.f +g READREAD* *,X,XF=XF=X* * *2-162-16IF(F0)THENIF(F0)THENELSEIF(F0)THEN G=0 G=0ELSEELSE G=SQRT(X G=SQRT(X* * *3)+253)+25ENDIFENDIFY=F+GY=F+G閱讀練習(xí)閱讀練習(xí) 1.Read*,A IF(A=3.5)then y=3.0 ELSE IF(A=2.5)the
24、n ; y=4.5 ELSE ; y=4.0 輸入輸入0.5 ENDIF y=7.0 y=? ( 7.0) ENDIF write(* ,*) y END技巧:結(jié)構(gòu)清晰技巧:結(jié)構(gòu)清晰 按塊閱讀按塊閱讀 畫表法畫表法2.LOGICAL:P Read *,x,y p=.TRUE. IF(x+yx) p=.FALSE. z=y IF(p)then z=x+z ELSE z=x ENDIF write(*,*)z END 3.6,1.2 :4.8 3.6,-1.2 :3.6多重同級(jí)選擇判斷多重同級(jí)選擇判斷特殊多分支特殊多分支1. CASE結(jié)構(gòu)的格式結(jié)構(gòu)的格式(寫法寫法): SELECT CASE(情況
25、(情況表達(dá)式表達(dá)式) CASE(情況(情況選擇器選擇器1) block1(塊(塊1) CASE(情況(情況選擇器選擇器2) block(塊(塊2) - CASE(情況(情況選擇器選擇器n) block n CASE default 默認(rèn)塊默認(rèn)塊 END Select4.5 CASE結(jié)構(gòu)1. 情況表達(dá)式是:情況表達(dá)式是:多分支分類的依據(jù)多分支分類的依據(jù) 可為:整型、邏輯型、字符型可為:整型、邏輯型、字符型表達(dá)式,表達(dá)式, 不能是:實(shí)型或復(fù)型不能是:實(shí)型或復(fù)型表達(dá)式表達(dá)式 2.情況選擇器:是具體的分支,由情況選擇器:是具體的分支,由常量常量構(gòu)成,各選擇器值不能重復(fù)構(gòu)成,各選擇器值不能重復(fù) 常量的寫
26、法有兩種常量的寫法有兩種: (1)用用 逗號(hào)分隔符的逗號(hào)分隔符的單個(gè)值單個(gè)值的列表。的列表。 例:例: case(3,5,7) (2) 用冒號(hào)分隔的用冒號(hào)分隔的值的范圍值的范圍 例:例: case(5:10); case(i:n) case(5:):) ; case(:(:10) 值范圍下界、上界可省略。值范圍下界、上界可省略。 3.情況表達(dá)式與情況選擇器的情況表達(dá)式與情況選擇器的類型一致類型一致 4. Case default4. Case default:有一個(gè)或沒有:有一個(gè)或沒有 5. CASE5. CASE結(jié)構(gòu)可以嵌套:即結(jié)構(gòu)可以嵌套:即BLOCKBLOCK可以是可以是CASE CAS
27、E 結(jié)構(gòu)。結(jié)構(gòu)。幾點(diǎn)說明幾點(diǎn)說明 1. 計(jì)算情況表達(dá)式的值計(jì)算情況表達(dá)式的值 2. 順序匹配各情況選擇器,執(zhí)行相應(yīng)的順序匹配各情況選擇器,執(zhí)行相應(yīng)的block1 再到再到 END Select下一個(gè)語(yǔ)句下一個(gè)語(yǔ)句 3. 如果均不匹配,則執(zhí)行默認(rèn)塊如果均不匹配,則執(zhí)行默認(rèn)塊 再到再到 END Select下一個(gè)語(yǔ)句下一個(gè)語(yǔ)句 4.5.2.CASE結(jié)構(gòu)的執(zhí)行過程結(jié)構(gòu)的執(zhí)行過程例:輸入學(xué)生的成績(jī)例:輸入學(xué)生的成績(jī)mark,打印學(xué)生成績(jī)的等級(jí),打印學(xué)生成績(jī)的等級(jí)優(yōu)秀優(yōu)秀 90100 良良 7589通過通過 6074 不及格不及格=59 其他輸入有錯(cuò)其他輸入有錯(cuò)分析:分類的依據(jù)分析:分類的依據(jù)mark-
28、情況表達(dá)式情況表達(dá)式 mark值的分類值的分類-情況選擇器情況選擇器Implicit noneImplicit nonereal:markreal:markreadread* *,mark,markselect case (select case (int (mark)int (mark) ) case(90:100) case(90:100) print print* *, , 優(yōu)秀優(yōu)秀 case(75:89) case(75:89) print print* *, , 良好良好 case(60:74) case(60:74) print print* *, , 通過通過 Case(:59)Case(:59) print print* *,不及格不及格 case default case default print print* *,輸入有誤!輸入有誤!endSelectendSelectendend執(zhí)行過程執(zhí)行過程例例(字符型情況表達(dá)式)(字符型情況表達(dá)式):輸入學(xué)生的等級(jí),打印學(xué):輸入學(xué)生的等級(jí),打印學(xué)生成績(jī)的百分制分?jǐn)?shù)段生成績(jī)的百分制分?jǐn)?shù)段CHARACTER(1):GRADEREAD
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年上市公司財(cái)務(wù)總監(jiān)勞動(dòng)合同(全面財(cái)務(wù)監(jiān)督與合規(guī)管理版)
- 2025年秋季臨時(shí)展覽中心場(chǎng)地使用協(xié)議
- 2025年度綜合性物流樞紐倉(cāng)庫(kù)管理員勞動(dòng)合同
- 2025年度高端中秋月餅禮盒專用包裝材料買賣合同
- 醫(yī)療設(shè)備創(chuàng)新項(xiàng)目研發(fā)階段保密及成果共享合同
- 2025高端醫(yī)療設(shè)備臨床試驗(yàn)方案制定與執(zhí)行合同
- 2025年教育機(jī)構(gòu)合作協(xié)議:師資培訓(xùn)與教學(xué)質(zhì)量提升服務(wù)合同
- 生態(tài)農(nóng)場(chǎng)場(chǎng)院使用權(quán)出租服務(wù)合同規(guī)范
- 2025年學(xué)校宿舍消防安全演練與全面應(yīng)急預(yù)案定制合同
- 逆向思維題庫(kù)及答案
- 英語(yǔ)單詞大全(完整版)
- 醫(yī)學(xué)實(shí)驗(yàn)室管理規(guī)范
- 2025公需課《人工智能賦能制造業(yè)高質(zhì)量發(fā)展》試題及答案
- 遠(yuǎn)離文身 讓青春不被“刺”痛 課件-2024-2025學(xué)年高一下學(xué)期預(yù)防青少年文身主題班會(huì)
- 打孔合同協(xié)議書
- 《AIGC應(yīng)用實(shí)戰(zhàn):寫作、繪圖、視頻制作、直播》課件 第七章 即夢(mèng)的使用方法
- 1、方案文本-落地式盤扣外腳手架專項(xiàng)施工方案11.25
- 江蘇連云港2025年公開招聘農(nóng)村(村務(wù))工作者筆試題帶答案分析
- 煤礦安全生產(chǎn)管理培訓(xùn)課件
- 株洲市衛(wèi)生健康委員會(huì)直屬事業(yè)單位招聘筆試真題2024
- 管理公司的6S方案
評(píng)論
0/150
提交評(píng)論