資源描述:
《第3章VisualBasic語(yǔ)言進(jìn)階ppt課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第3章VisualBasic語(yǔ)言進(jìn)階3.1基本控制結(jié)構(gòu)3.2數(shù)組3.3用戶定義類型3.4算法及舉例13.1基本控制結(jié)構(gòu)3.1.1順序結(jié)構(gòu)3.1.2分支結(jié)構(gòu)3.1.3循環(huán)結(jié)構(gòu)23.1.1順序結(jié)構(gòu)順序結(jié)構(gòu)就是整個(gè)程序按書(shū)寫(xiě)順序依次自上而下執(zhí)行。前面兩章設(shè)計(jì)和編寫(xiě)的程序都是順序結(jié)構(gòu)的。順序結(jié)構(gòu)如圖所示,先執(zhí)行A,再執(zhí)行B,即自上而下依次運(yùn)行。圖(左)圖為框式流程圖,圖(右)為N-S流程圖,又稱為盒圖。33.1.2分支結(jié)構(gòu)分支結(jié)構(gòu)用于判斷并分支,又稱為選擇結(jié)構(gòu)。如圖所示,E代表?xiàng)l件,當(dāng)E條件成立(True)時(shí)執(zhí)行A,否則(False)執(zhí)行B,兩條分支匯合在一起為一個(gè)出口。分支
2、結(jié)構(gòu)有幾種形式:If...Then...Else結(jié)構(gòu)、SelectCase結(jié)構(gòu)和IIf函數(shù)。43.1.2分支結(jié)構(gòu)1.If...Then...Else結(jié)構(gòu)If...Then...Else結(jié)構(gòu)表示“如果...就...否則”。語(yǔ)法:If條件Then語(yǔ)句或者:If條件1Then語(yǔ)句塊1[ElseIf條件2Then語(yǔ)句塊2]......[Else語(yǔ)句塊n]EndIf條件可以為各種表達(dá)式,都要轉(zhuǎn)換為Boolean型,即所有非零的數(shù)值、字符等都轉(zhuǎn)換為T(mén)rue,而0、"0"值則轉(zhuǎn)換為False。當(dāng)If...Then...Else結(jié)構(gòu)只有單獨(dú)的If語(yǔ)句時(shí),可以沒(méi)有EndIf語(yǔ)句。首先測(cè)
3、試條件1,如果為False,就測(cè)試條件2,依此類推,直到找到一個(gè)為T(mén)rue的條件就執(zhí)行Then后面的語(yǔ)句塊。當(dāng)只有一個(gè)條件而且執(zhí)行的是單個(gè)語(yǔ)句時(shí),If...Then...Else結(jié)構(gòu)可以簡(jiǎn)化成If...Then語(yǔ)句。53.1.2分支結(jié)構(gòu)【例3-1】使用If...Then語(yǔ)句查詢學(xué)生的成績(jī),大于等于60分的為及格,其余為不及格。界面設(shè)計(jì):在窗體界面中創(chuàng)建兩個(gè)文本框(Text1、Text2)、兩個(gè)標(biāo)簽(Label1、Label2)和一個(gè)按鈕(Command1)。文本框Text1輸入分?jǐn)?shù),單擊按鈕Command1則在文本框Text2中顯示成績(jī)。63.1.2分支結(jié)構(gòu)程序代碼如
4、下:PrivateSubCommand1_Click()'單擊按鈕顯示成績(jī)DimxAsSingleDimyAsStringx=Val(Text1.Text)y="不及格"Ifx>=60Theny="及格"Text2.Text=yEndSub程序分析:使用If...Then語(yǔ)句,當(dāng)滿足條件“x>=60”就執(zhí)行Then后面的語(yǔ)句“y="及格"”,否則就執(zhí)行If...Then語(yǔ)句后面的語(yǔ)句。73.1.2分支結(jié)構(gòu)【例3-2】使用If...Then...Else結(jié)構(gòu)查詢學(xué)生的成績(jī),大于等于60分的為及格,其余為不及格。界面設(shè)計(jì)和功能要求與【例3-1】相同,程序流程圖如圖所示。程
5、序代碼如下:PrivateSubCommand1_Click()'單擊按鈕顯示成績(jī)DimxAsSingleDimyAsStringx=Val(Text1.Text)Ifx>=60Theny="及格"Elsey="不及格"EndIfText2.Text=yEndSub83.1.2分支結(jié)構(gòu)【例3-3】使用多個(gè)條件的If...Then...Else結(jié)構(gòu)查詢學(xué)生的成績(jī),將成績(jī)分成優(yōu)、良、中、及格和不及格,90~100為優(yōu),80~90為良,70~80為中,60~70為及格,60以下為不及格。93.1.2分支結(jié)構(gòu)程序代碼如下:PrivateSubCommand1_Click()'
6、單擊按鈕顯示成績(jī)DimxAsSingleDimyAsStringx=Val(Text1.Text)Ifx>=90Theny="優(yōu)"ElseIfx>=80Theny="良"ElseIfx>=70Theny="中"ElseIfx>=60Theny="及格"Elsey="不及格"EndIfText2.Text=yEndSub程序分析:使用有多個(gè)條件的If...Then...Else結(jié)構(gòu),判斷的順序是“x>=90”?“x>=80”?“x>=70”?“x>=60”?剩下的就是“x<60”。103.1.2分支結(jié)構(gòu)2.SelectCase結(jié)構(gòu)SelectCase結(jié)構(gòu)與If...Th
7、en...Else結(jié)構(gòu)類似,但對(duì)多條件選擇時(shí),有時(shí)用SelectCase語(yǔ)句代碼效率更高,更易讀。語(yǔ)法:SelectCase變量
8、表達(dá)式Case值1語(yǔ)句塊1[Case值2語(yǔ)句塊2]...[CaseElse語(yǔ)句塊n]EndSelect113.1.2分支結(jié)構(gòu)說(shuō)明:(1)SelectCase只計(jì)算一次變量或表達(dá)式的值,然后與每個(gè)Case的值1、值2等進(jìn)行比較,如果相等,就執(zhí)行該case后對(duì)應(yīng)的語(yǔ)句塊;如果沒(méi)有相匹配的,則執(zhí)行CaseElse中的語(yǔ)句塊。(2)值1、值2等可以取以下幾種形式:具體常數(shù)。例如,1、2、“a”等。連續(xù)的數(shù)據(jù)范圍。例如,1to100