計算機二級VB 第6講 分支結(jié)構(gòu)_第1頁
計算機二級VB 第6講 分支結(jié)構(gòu)_第2頁
計算機二級VB 第6講 分支結(jié)構(gòu)_第3頁
計算機二級VB 第6講 分支結(jié)構(gòu)_第4頁
計算機二級VB 第6講 分支結(jié)構(gòu)_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第6講講 選擇結(jié)構(gòu)選擇結(jié)構(gòu)引例1引例引例1: QQ登錄驗證登錄驗證 引例2引例引例2: 人機對弈人機對弈 問題的提出問題的提出: 什么使計算機具備了判斷能力?什么使計算機具備了判斷能力? A Bp真真假假 A Bp GVB的選擇結(jié)構(gòu)的選擇結(jié)構(gòu)1、If Then (單分支結(jié)構(gòu)單分支結(jié)構(gòu))2、If Then Else (雙分支雙分支)3、If Then ElseIf (多分支結(jié)構(gòu)多分支結(jié)構(gòu))4、Select Case (多分支結(jié)構(gòu)多分支結(jié)構(gòu))5、 If 語句的嵌套語句的嵌套格式格式(1):If Then 塊塊If語句語句 End If格式格式(2):If Then 行行If語句語句功能:功能:若

2、若“條件條件”為真,執(zhí)行語句為真,執(zhí)行語句1,否則執(zhí)行下面語句。,否則執(zhí)行下面語句。 說明:說明: 1.“條件條件”為關(guān)系表達式或邏輯表達式。為關(guān)系表達式或邏輯表達式。a0 and b0 2.行行If語句要求在一行內(nèi)書寫完畢語句要求在一行內(nèi)書寫完畢,若語句若語句1有多條語句,有多條語句,使用使用“:”分開。分開。 If xy Then t=x:x=y:y=tIfThen單分支單分支【例】輸入一個數(shù)字,輸出該數(shù)的絕對值【例】輸入一個數(shù)字,輸出該數(shù)的絕對值IfThen單分支單分支行行If語句語句 Private Sub Command1_Click() Dim num% num = Val(Tex

3、t1.Text) If num 0 Then num = -num Text2.Text = num End Sub塊塊If語句語句 Private Sub Command1_Click() Dim num% num = Val(Text1.Text) If num 0 Then num = -num End If Text2.Text = num End Sub【例【例】ab?真真a、b交換交換假假輸入輸入a、b、c輸出輸出aac?真真a、c交換交換假假結(jié)束結(jié)束【例【例】格式格式1 1:If If Then Then 語句塊語句塊1 1 Else Else 語句塊語句塊2 2 格式格式2 2

4、:If If Then Then 語句塊語句塊1 1 Else Else 語句塊語句塊2 2 End If End If 二、二、If Then Else 雙分支結(jié)構(gòu)雙分支結(jié)構(gòu)【例】【例】 已知某書店圖書均九折銷售,一次購書已知某書店圖書均九折銷售,一次購書100100元元以上(包括以上(包括100100元)打八五折。編寫程序,根據(jù)購書金元)打八五折。編寫程序,根據(jù)購書金額,計算并應(yīng)付款。額,計算并應(yīng)付款。money100 ?money =0.9*xmoney =0.85*x輸出輸出money值值T(真)(真)F(假)(假)程序代碼程序代碼 Private Sub Command1_Click

5、()Private Sub Command1_Click() Dim money! Dim money! money = Text1.Text money = Text1.Text If money 100 ThenIf money = 90 Then Text2.Text = 優(yōu)秀優(yōu)秀 ElseIf score= 80 Then Text2.Text = 良好良好 ElseIf score= 70 Then Text2.Text = 中等中等 ElseIf score= 60 Then Text2.Text = 及格及格 ElseIf score= 40 Then Text2.Text =

6、補考補考 Else Text2.Text = 重修重修 End IfEnd Sub 在分支情況較多的情況下,用在分支情況較多的情況下,用if實現(xiàn)的多實現(xiàn)的多分支顯得有些凌亂,程序流程不夠清晰,用分支顯得有些凌亂,程序流程不夠清晰,用Select Case多分支替代多分支替代IfThenElseIf結(jié)結(jié)構(gòu),程序工整清晰,易讀性更強。構(gòu),程序工整清晰,易讀性更強。 Select Case 測試表達式測試表達式 Case 表達式列表表達式列表1 語句塊語句塊1 Case 表達式列表表達式列表2 語句塊語句塊2 Case 表達式列表表達式列表n 語句塊語句塊n Case Else 語句塊語句塊n1 E

7、nd Select Dim x As Integer x = InputBox(輸入輸入X的值的值:) Select Case x Case 0 Print x=; x Case is0 Print x為正數(shù)為正數(shù) Case is10 Case 1,2,3,Is10說說 明明 Select Case xSelect Case x Case 0 Case 0 Print x=; x Print x=; x Case is0 Case is0 Print x Print x為正數(shù)為正數(shù) Case is0 Case is= 90 Then Text2.Text = 優(yōu)秀優(yōu)秀 ElseIf score

8、= 80 Then Text2.Text = 良好良好 ElseIf score= 70 Then Text2.Text = 中等中等 ElseIf score= 60 Then Text2.Text = 及格及格 ElseIf score= 40 Then Text2.Text = 補考補考 Else Text2.Text = 重修重修 End If Dim score As Single score = Val(Text1.Text) Select Case score Case Is = 90 Text2.Text = 優(yōu)秀優(yōu)秀 Case Is = 80 Text2.Text = 良好良

9、好 Case Is = 70 Text2.Text = 中等中等 Case 60 To 69 Text2.Text = 及格及格 Case Is = 40 Text2.Text = 補考補考 Case Else Text2.Text = 重修重修 End SelectPrivate Sub Command1_Click() Dim score % score = Val(Text1.Text) Select Case score10 Case 10 , 9 Text2.Text = 優(yōu)秀優(yōu)秀 Case 8 Text2.Text = 良好良好 Case 7 Text2.Text = 中等中等 C

10、ase 60 Text2.Text = 及格及格 Case 5,4 Text2.Text = 補考補考 Case Else Text2.Text = 重修重修 End SelectEnd Sub比較 對于多分支結(jié)構(gòu),用對于多分支結(jié)構(gòu),用Select Case語句更直觀。但語句更直觀。但不是所有的不是所有的If ElesIf 都可以用都可以用Select Case替換。替換。當(dāng)對多個變量進行判斷是只能用當(dāng)對多個變量進行判斷是只能用If ElesIf 語句實現(xiàn)。語句實現(xiàn)。If x0 and y0 print “在第一象限在第一象限”ElesIf x0 print “在第二象限在第二象限”ElesI

11、f x0 and y0 and y0 print “在第一象限在第一象限”Case x0 print “在第二象限在第二象限”Case x0 and y0 and b0 and c0a+bc and b+ca and a+cb開始開始流流程程圖圖彈出信息框彈出信息框輸入無效輸入無效a0 and b0 and c0?輸入輸入a,b,cTFa+bc and b+ca and a+cb?TF彈出信息框不彈出信息框不能構(gòu)成三角形能構(gòu)成三角形輸出結(jié)果輸出結(jié)果結(jié)束結(jié)束計算計算Private Sub Form_Load() Form1.FontSize = 14 Form1.Caption = 三角形三角形

12、 Label1.Caption = 面積面積 Label1.ForeColor = vbRed Text1.Text = Command1.Caption = 輸入輸入End SubDim a!, b!, c!, p!, s!a = InputBox(請輸入三角形的第一個邊:請輸入三角形的第一個邊:)b = InputBox(請輸入三角形的第二個邊:請輸入三角形的第二個邊:)c = InputBox(請輸入三角形的第三個邊:請輸入三角形的第三個邊:)If a 0 And b 0 And c 0 Then If a + b c And b + c a And a + c b Then p = (

13、a + b + c) / 2 s = Sqr(p * (p - a) * (p - b) * (p - c) Print Print 三角形的三邊長分別為:三角形的三邊長分別為:; a; b; c Text1.Text = s Else m = MsgBox(不能構(gòu)成三角形不能構(gòu)成三角形) End IfElse MsgBox(輸入的數(shù)據(jù)無效輸入的數(shù)據(jù)無效)End If結(jié)束結(jié)束舉例舉例:求一元二次方程的兩個實根求一元二次方程的兩個實根Private sub cmdcalcu_click() Dim a!,b!,c!,d!,x1!,x2! a=inputbox(“請輸入請輸入a”) b=input

14、box(“請輸入請輸入b”) c=inputbox(“請輸入請輸入c”) d=b2-4*a*c If d=0 then x1=(-b+sqr(d)/(2*a) x2=(-b-sqr(d)/(2*a) text1.text=x1 text2.text=x2 end IfEnd suba=2b=7C=3Private Sub Command1_Click()Private Sub Command1_Click() Dim X! Dim X! X = Val(Text1.Text) X = Val(Text1.Text) If X 1000 Then If X 1000 Then X = (X -

15、1000) X = (X - 1000) * * 0.8 0.8 X = 1000 + X X = 1000 + X Text2.Text = X Text2.Text = X End If End If Text2.Text = X Text2.Text = X End SubEnd Sub舉例舉例 購物金額若超過一千元時,超過的部分打購物金額若超過一千元時,超過的部分打8 8折優(yōu)惠,折優(yōu)惠,設(shè)計程序顯示實收金額。設(shè)計程序顯示實收金額。多分支結(jié)構(gòu)舉多分支結(jié)構(gòu)舉例例1:根據(jù)給出的月份判斷是什么季節(jié)。根據(jù)給出的月份判斷是什么季節(jié)。Private Sub Command1_Click()Dim m

16、% M=inputbox(“請輸入月份請輸入月份”) Select case m Case 3 to 5 Label1.caption=“為春季為春季” Case 6 to 8 Label1.caption=“為夏季為夏季” Case 9 to 11 Label1.caption=“為秋季為秋季” Case 12 Label1.caption=“為冬季為冬季” Case 1 to 2 Label1.caption=“為冬季為冬季” End selectCase 12,1,2思考題:判斷是否為閏年思考題:判斷是否為閏年 輸入年號和月份,判斷該年是否是閏年,輸入年號和月份,判斷該年是否是閏年,并根

17、據(jù)給定的月份來判斷是什么季節(jié),并根據(jù)給定的月份來判斷是什么季節(jié),該月有多少天?該月有多少天? 閏年的條件:閏年的條件: 年號能被年號能被4整除但不能被整除但不能被100整除,或者整除,或者能被能被400整除。整除。 閏年的二月為閏年的二月為29天。天。 (y mod 4 = 0 and y mod 100 0)or (y mod 400 =0)作業(yè)作業(yè): 1、根據(jù)輸入的成績轉(zhuǎn)換為成績等級(兩種做法、根據(jù)輸入的成績轉(zhuǎn)換為成績等級(兩種做法)。2、(輸入年號和月份,判斷該年是否是閏年,)、(輸入年號和月份,判斷該年是否是閏年,)并根據(jù)給定的月份來判斷是什么季節(jié),該月有多并根據(jù)給定的月份來判斷是什么

18、季節(jié),該月有多少天?少天?3、編寫一個模擬計算器的程序,要求:輸入兩個、編寫一個模擬計算器的程序,要求:輸入兩個操作數(shù)和一個操作符,根據(jù)操作符決定所進行的操作數(shù)和一個操作符,根據(jù)操作符決定所進行的運算。運算。5、求任意三角形面積。、求任意三角形面積。代碼:代碼: Dim y%, m%, d% Dim leapyear As Boolean y = Val(Text1.Text) m = Val(Text2.Text) 判斷閏年判斷閏年 If (y Mod 4 = 0 And y Mod 100 0) Or (y Mod 400 = 0) Then leapyear = True Label3.

19、Caption = 閏年閏年 Else leapyear = False Label3.Caption = 不是閏年不是閏年 End If判斷季節(jié)判斷季節(jié) Select Case m Case 3 To 5 Label4.Caption = 為春季為春季 Case 6 To 8 Label4.Caption = 為夏季為夏季 Case 9 To 11 Label4.Caption = 為秋季為秋季 Case 12 Label4.Caption = 為冬季為冬季 Case 1 To 2 Label4.Caption = 為冬季為冬季 End Select判斷選中月的天數(shù)判斷選中月的天數(shù) Select Case m Case 1, 3, 5, 7, 8, 10, 12 Label5.Caption = 此月有此月有

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論