選擇結(jié)構(gòu)課件_第1頁
選擇結(jié)構(gòu)課件_第2頁
選擇結(jié)構(gòu)課件_第3頁
選擇結(jié)構(gòu)課件_第4頁
選擇結(jié)構(gòu)課件_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第4章選擇結(jié)構(gòu)

在程序設(shè)計中經(jīng)常遇到這類問題,它需要根據(jù)不

同的情況采用不同的處理方法。例如,一元二次方程

的求根問題,要根據(jù)判別式小于零或大于等于零的情

況,采用不同的數(shù)學(xué)表達式進行計算。對于這類問題,

如果用順序結(jié)構(gòu)編程,顯然力不從心。必須借助選擇

結(jié)構(gòu)。本章主要介紹實現(xiàn)選擇結(jié)構(gòu)的語句。包括:行

If語句、塊If語句、ElseIf語句、SelectCase語句,以

及選擇結(jié)構(gòu)在程序設(shè)計中的應(yīng)用。

退出

鼠標(biāo)左1

4.1期f

4.2EkeIf語句

4.3行Lf語句

4.4SelectCase語句

4.1塊燈

4.1.1塊If的格式、功能

格式:

If條件then

語句塊1

[Else

語句塊2]

EndIf

說明:

(1)“條件”一般為關(guān)系表達式或邏輯表達式。

通常把關(guān)系表達式或邏輯表達式的值為真時,稱

為條件滿足;值為假時,稱為條件不滿足。反之亦然。

(2)語句塊1、語句塊2分別是“條件”滿足或不

滿足時,處理方法的描述,可以是若干個語句。

(3)If...Then>Else、EndIf是VB的保留字。

功能:、

(1)塊I信先判斷“條件”,其值為真時,執(zhí)行

語句塊1;為假時執(zhí)行語句塊2。當(dāng)缺?。跡lse…]中的內(nèi)

容時,該選擇結(jié)構(gòu)只對條件滿足的情況進行處理。執(zhí)

行過程如圖4-1所示。

條件滿足?

TF

VV

圖4.1塊丘例行過程

【例4.1】火車站行李費的收費標(biāo)準(zhǔn)是50kg以內(nèi)

(包括50kg)0.20/kg,超過部分0.50/kg。編寫程序,

要求根據(jù)輸入的任意重量,計算出應(yīng)付的行李費。

根據(jù)題意計算公式如下:

weightX0.2weightW50

Pay=

(weight—50)X0.5+SOX0.2weight>50

運行界面加圖4-2所示。

04.2例4.1過行界面

遇窈獨HE

時家屬性設(shè)置如表4-1所不。

表44例4.1屬性控件設(shè)置

對象良性設(shè)置

LabellCation行李里是

LabeDcqjtion成忖款

TeMlText交

對象屎性設(shè)置

te址2Text交

Ccmn^ndlcaption計算

Conmi?Md2caption活除

Commandscaption退出

fbnnlcation行李托正權(quán)贊程庠

HE

程序代碼如下:

…計算,,按鈕代碼

PrivateSubCommandl_Click()

Dimweightassingle,payassingle

weight=Textl.Text

Ifweight>50Then

pay=(weight-50)*0.5+50*0.2

Else

pay=weight*0.2

EndIf

Textl.Text=pay

EndSub

PrivateSubCommand2_Click()

Text1.Text=

Textl.Text=''''

EndSub

PrivateSubCommand3_Click()

End

EndSub

4.1.2塊If的嵌套

所謂塊If語句的嵌套,就是在語句塊1或語句塊2中

又包含塊If語句。

【例4.2】任意輸入3個數(shù),按照從大到小的順序輸

出。

算法分析:排序的基本方法,就是比較大小,然

后根據(jù)比較的結(jié)果分別加以處理。本例把3個數(shù)分別放

在N,B,C中,處理過程為:若4VB為真,交換力,B

的值;否則不做處理。這樣就保證了/泗;然后再用C

去比較。具體流程如圖4-3所示。按如圖4-4所示設(shè)置

界面。

-------------

-------------1

__!丁L

相出c,a,b儲出&&cI箱田&C,b

圖49例4.2程序流程圖;S^H

右鍵換頁!V合

屬性設(shè)置如表4-2所示。

表42例4.2控件屬性設(shè)置

對俊屎性設(shè)置

hbelll^bel3Cation分別為4乩C

labe14-lab電16Coption分別為大.中?小

textlfe泣6Text空

CcmnmdlC4rtion擇序

Conttn^nd2C^tiotn退出

FoimlCsption梯序

程序代碼如下:

一排序”按鈕代碼

PrivateSubCommandl_Click()

DimaAsSingle,cAsSingle,bAsSingle

a=Textl.Text

b=Textl.Text

c=Text3.Text,三個文本框的數(shù)據(jù)賦值給變量

Ifa<bThen

t=a

a=b

b=t%v〃時交換〃、力的值

EndIf,保證/

Ifc>aThen,用C去比較

Text4.Text=c成立,C最大

Text5.Text=a

Text6.Text=b

Else

Ifc<bThen

Text4.Text=a成立,。最小

Text5.Text=b

Text6.Text=c

Text4.Text=a處于中間

Text5.Text=c

Text6.Text=b

EndIf

EndIf

EndSub

…退出"按鈕代碼

PrivateSubCommand2_Click()

End

EndSub

4.2EkeIf語句

格式:

If條件1then

語句塊1

Elself條件2then

語句塊2

[Else

語句塊n+1]

EndIf

功能:

(1)依次判斷條件,如果找到一個滿足的條件,

則執(zhí)行其下面的語句塊,然后跳過EndIf,執(zhí)行后面

的程序。

(2)如果所列出的條件都不滿足,則執(zhí)行Eke語

句后面的語句塊;如果所列出的條件都不滿足,又沒

有Else子句,則直接跳過Endlf,不執(zhí)行任何語句塊。

Elself結(jié)構(gòu)的執(zhí)行過程如圖4-6所示o

【例4.4】輸入一個學(xué)生的一門課分數(shù)%(百分制),

當(dāng)它90時,輸出“優(yōu)秀”;當(dāng)80。<90時,輸出“良

好”;當(dāng)70Sr<80時,輸出“中”;當(dāng)60封〈70時,

輸出“及格”,當(dāng)x〈60時,輸出“不及格”。

算法分析:本例適合用多路分支結(jié)構(gòu)來解決。運

行界面如圖4-7所示。

監(jiān)

y

.一

8

4國

屬性設(shè)置如表4-4所示。

表44例4.4控件屬性設(shè)置

對象屎性設(shè)置

Caption,鑒定

cammmd2Cation退出

L^bellCation轄人分數(shù)

L^beDCsjjtion檔次

TextlText空

Text2Te泣空

FoimlCeptioii成績分段鑒足

HE

程序代碼如下:

…鑒定”按鈕代碼

PrivateSubCommandl_Click()

Dimscore!

score=Textl.Text

Ifscore>=90Then

Textl.Text="優(yōu)秀"

Elselfscore>=80Then

Textl.Text="良好"

Elselfscore>=70Then

Textl.Text="中”

Elselfscore>=60Then

Text2.Text="及格"

Else

Text2.Text="不及格"

EndIf

EndSub

,“退出”按鈕代碼

PrivateSubCommand2_Click()

End

EndSub

Elself語句,實際完成的是塊If的嵌套,它和塊If

嵌套的格式上有很大區(qū)別,Elself結(jié)構(gòu)只有一對If和

Endlf語句。另外應(yīng)注意:

[Else

If]

和【Elself】的區(qū)另h

4.3行耳語句

格式:If條件then語句1[Else語句2]

功能:當(dāng)條件滿足時,執(zhí)行語句1;條件不滿足時,

執(zhí)行語句2。

從行If的格式和功能不難看出,行If語句是一種簡

單的分支結(jié)構(gòu),只是把一個簡單的塊If結(jié)構(gòu)寫在一行

中,減少了語句行,省略了“EndI產(chǎn)的書寫。行If完

全可以用塊If代替。

【例4.6】任意輸入3個數(shù),找出其中的最大值。

圖4?10喇4.6運行界面

運行界面如圖4-10所示。

各屬性設(shè)置如表4-6所不。

表46例46屬性設(shè)置

好象設(shè)置

FctmilCation枝最大但

Textl-text4text空

L^bellCaption轄人3個景

Label2Cation最大悵

Command1Caption計算

HE

程序代碼如下:

PrivateSubCommandl_Click()

DimaAsSingle,bAsSingle,cAsSingle,

AsSingle

a=Textl.Text

b=Textl.Text

c=Text3.Text

max=a

Ifb>maxThenmax=b

Ifc>maxThenmax=c

Text4.Text=max

EndSub

4.4SelectCase語句

當(dāng)對一個表達式的不同取值情況作不同處理時,

用Elself語句程序結(jié)構(gòu)顯得較為雜亂,而用Sel

溫馨提示

  • 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論