![vb教程-分支結(jié)構(gòu)_第1頁](http://file4.renrendoc.com/view/adf537cd01b35575621fe8bd05f17af0/adf537cd01b35575621fe8bd05f17af01.gif)
![vb教程-分支結(jié)構(gòu)_第2頁](http://file4.renrendoc.com/view/adf537cd01b35575621fe8bd05f17af0/adf537cd01b35575621fe8bd05f17af02.gif)
![vb教程-分支結(jié)構(gòu)_第3頁](http://file4.renrendoc.com/view/adf537cd01b35575621fe8bd05f17af0/adf537cd01b35575621fe8bd05f17af03.gif)
![vb教程-分支結(jié)構(gòu)_第4頁](http://file4.renrendoc.com/view/adf537cd01b35575621fe8bd05f17af0/adf537cd01b35575621fe8bd05f17af04.gif)
![vb教程-分支結(jié)構(gòu)_第5頁](http://file4.renrendoc.com/view/adf537cd01b35575621fe8bd05f17af0/adf537cd01b35575621fe8bd05f17af05.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章選擇結(jié)構(gòu)程序設(shè)計(jì)本章要點(diǎn):條件語句
?單行結(jié)構(gòu)條件語句If...Then...Else
?塊結(jié)構(gòu)條件語句If...Then...EndIf
?多分支選擇語句SelectCase...EndSelect特點(diǎn):依據(jù)條件是否成立,確定程序的執(zhí)行分支15.1單行結(jié)構(gòu)條件語句1.格式If<條件>Then[<語句組1>][Else<語句組2>]2.功能假如<條件>成立,則執(zhí)行<語句組1>否則執(zhí)行<語句組2>3.說明(1)<條件>:關(guān)系表達(dá)式、布爾表達(dá)式數(shù)值表達(dá)式(0為False,非0為True)字符串表達(dá)式("0"為False,非"0"為True)(2)<語句組1>、<語句組2>:可以有多條語句,各語句之間用冒號(hào)隔開。(3)可以沒有Else部分,這時(shí)必需有<語句組1>。2例:IfN>0ThenA=A+B:B=B+AElseA=A-B:B=B-A例:IfX<>"aaa"ThenPrintX【例5-1】設(shè)界面如下圖所示,用文本框輸入x的值,單擊“計(jì)算Y”按鈕時(shí),依據(jù)以下公式計(jì)算y的值。|x|x≤0lnxx>0y=PrivateSubCommand1_Click()X=Val(Text1.Text)
IfX<=0ThenY=Abs(X)ElseY=Log(X)Label3.Caption=YEndSubCommand1Text1Label334.留意(1)應(yīng)作為一條語句書寫(2)無論條件是否成立,都具有共同出口例:IfX>=0ThenX=1+XElseX=5-XY=1-XPrint"Y=";Y若X=2則打印Y=-2若X=-2則打印Y=-6共同出口X=Val(Text1.Text)Y=Abs(X)IfX>0ThenY=Log(X)Label3.Caption=YX=Val(Text1.Text)Y=Log(X)IfX<=0ThenY=Abs(X)Label3.Caption=Y例:改寫例5-1,比較:45.嵌套IF...THEN...IF...THEN...ELSE...ELSE…【例5-2】平面直角坐標(biāo)系中,不同的象限內(nèi),點(diǎn)的坐標(biāo)的符號(hào)有以下4種狀況:XYABCD在A象限X>0,Y>0BX<0,Y>0CX<0,Y<0DX>0,Y<0隨意輸入一對(duì)坐標(biāo)值,找出它所在的象限。5PrivateSubCommand1_Click()X=Val(Text1.Text):Y=Val(Text2.Text)IfX=0OrY=0ThenPrint"不在任何象限內(nèi)":_ExitSubIfX>0Then
IfY>0ThenPrint"INA"Else_Print"IND"
Else
IfY>0ThenPrint"INB"_ElsePrint"INC"EndSub65.2塊結(jié)構(gòu)條件語句1.格式If<條件1>Then[<語句組1>][ElseIf<條件2>Then[<語句組2>]]……[ElseIf<條件N>Then[<語句組N>]][Else[<其他語句組>]]EndIf功能:……If<條件1>Then[語句組1]Else[語句組2]EndIfElse子句ElseIf子句If語句EndIf語句留意:格式書寫、嵌套7【例5-3】輸入華氏溫度F,利用公式C=5/9*(F-32)轉(zhuǎn)換成攝氏溫度C,依據(jù)轉(zhuǎn)換結(jié)果C的不同值,按以下要求給出相應(yīng)的提示。C>40時(shí),打印"HOT"30<C≤40時(shí),打印"WARM"20<C≤30時(shí),打印"ROOMTEMPERATURE"10<C≤20時(shí),打印"COOL"0<C≤10時(shí),打印"COLD"C≤0時(shí),打印"FREEZING"Text2Text18PrivateSubCommand1_Click()C=5/9*(Val(Text1.Text)-32)Text2.Text=Format(C,"0.00")IfC>40ThenLabel2.Caption="HOT"ElseIfC>30ThenLabel2.Caption="WARM"ElseIfC>20ThenLabel2.Caption="ROOMTEMPERATURE"ElseIfC>10ThenLabel2.Caption="COOL"ElseIfC>0ThenLabel2.Caption="COLD"ElseLabel2.Caption="FREEZING"EndIfEndSub95.3多分支選擇語句1.格式SelectCase<測(cè)試表達(dá)式>Case<表達(dá)式表1>[<語句組1>][Case<表達(dá)式表2>[<語句組2>]]…[CaseElse[<語句組n>]]EndSelect2.功能:依據(jù)測(cè)試表達(dá)式的值,按依次匹配Case后的表達(dá)式,假如匹配成功,則執(zhí)行該Case下的語句塊,然后轉(zhuǎn)到EndSelect語句之后接著執(zhí)行。103.說明<測(cè)試表達(dá)式>:數(shù)值或字符表達(dá)式Case表達(dá)式表:表中的表項(xiàng)為如下形式:(1)表達(dá)式1[,表達(dá)式2]...如:Case1,3,5(2)表達(dá)式1TO表達(dá)式2如:Case10TO30Case"A"TO"Z"(3)Is<關(guān)系運(yùn)算符><表達(dá)式>如:CaseIs>=10CaseIs=0與Case0相同留意:測(cè)試表達(dá)式的類型應(yīng)與Case后表達(dá)式類型一樣,且三種形式可以混用,如:CaseIs<-5,0,5To10011Y=ex+e-xx<01.25x=0lgxx>0X=Val(Text1.Text)SelectCaseXCaseIs<0Y=Exp(X)+Exp(-X)Case0Y=1.25CaseIs>0Y=Log(X)/Log(10)EndSelectPrint"Y=";YX=Val(Text1.Text)SelectCaseXCaseX<0Y=Exp(X)+Exp(-X)CaseX=0Y=1.25CaseX>0Y=Log(X)/Log(10)EndSelectPrint"Y=";Y【例5-4】求函數(shù)Y的值125.4應(yīng)用舉例【例5-5】設(shè)計(jì)一個(gè)口令檢測(cè)程序,界面如下圖,當(dāng)用戶輸入的口令正確時(shí),顯示“恭喜!,您已成功進(jìn)入本系統(tǒng)”,否則,顯示,“口令錯(cuò)!,請(qǐng)重新輸入”。假如連續(xù)兩次輸入了錯(cuò)誤口令,在第三次輸入完口令后則顯示一個(gè)消息框,提示“對(duì)不起,您不能運(yùn)用本系統(tǒng)”,然后退出整個(gè)應(yīng)用程序。Text1Label213PrivateSubText1_KeyUp(KeyCodeAsInteger,_ShiftAsInteger)StaticIAsInteger'保存輸入錯(cuò)誤口令的次數(shù)IfKeyCode=13Then'假如按下的鍵為回車鍵IfUCase(Text1.Text)="HELLO"ThenLabel2.Caption="恭喜!,您已成功進(jìn)入本系統(tǒng)"ElseIfI=0OrI=1ThenI=I+1Label2.Caption="口令錯(cuò)!,請(qǐng)重新輸入"Text1.SelStart=0Text1.SelLength=Len(Text1.Text)ElseMsgBox"對(duì)不起,您不能運(yùn)用本系統(tǒng)":EndEndIfEndIfEndSub14【例5-6】求一元二次方程ax2+bx+c=0的解。分析:(1)假如a=0,則不是二次方程,此時(shí)假如b=0,則提示重新輸入系數(shù);假如b0,則:x=-c/b(2)假如a0,且b2-4ac=0,則有兩個(gè)相等的實(shí)根(3)假如a0,且b2-4ac>0,則有兩個(gè)不等的實(shí)根(4)假如a0,且b2-4ac<0,則有兩個(gè)共軛復(fù)根Text1Text2Text3Command115PrivateSubCommand1_Click()A=Val(Text1.Text):B=Val(Text2.Text)C=Val(Text3.Text):ClsCurrentX=600:CurrentY=1100IfA=0ThenIfB=0ThenMsgBox"系數(shù)為零,請(qǐng)重新輸入"
Text1.SetFocusText1.SelStart=0Text1.SelLength=Len(Text1.Text)ElseX=-C/BPrint"X=";Format(X,"0.000")EndIfExitSubEndIf16
Delta=B^2-4*A*CSelectCaseDeltaCase0Print"X1=X2=";Format(-B/(2*A),"0.000")CaseIs>0X1=(-B+Sqr(Delta))/(2*A)X2=(-B-Sqr(Delta))/(2*A)Print"X1=";Format(X1,"0.000")CurrentX=600:CurrentY=1300Print"X2=";Format(X2,"0.000")CaseIs<0A1=-B/(2*A)A2=Sqr(Abs(Delta))/(2*A)17Print"X1=";Format(A1,"0.000");"+";_Format(A2,"0.000");"i"CurrentX=600CurrentY=1300Print"X2=";Format(A1,"0.000");"-";_Format(A2,"0.000");"i"EndSelectEndSub18【例5-6】設(shè)計(jì)一個(gè)四則運(yùn)算的自我練習(xí)應(yīng)用程序,界面如下圖所示。
Text1Text4Text3Text2Label4Label219要求:(1)執(zhí)行時(shí),當(dāng)在Text1中輸入一種運(yùn)算符后,在標(biāo)簽Label2中立刻出現(xiàn)該運(yùn)算符號(hào)。(2)單擊“出題”按鈕可以產(chǎn)生兩個(gè)[0,1000]之間的隨機(jī)整數(shù),這時(shí)由Text2、Label2和Text3組成一個(gè)表達(dá)式。(3)可以通過單擊“計(jì)算”按鈕計(jì)算所生成的表達(dá)式的值。(4)也可以由用戶在文本框Text4中輸入運(yùn)算結(jié)果通過單擊“推斷”按鈕可以推斷輸入的運(yùn)算結(jié)果是否正確,然后在Label4上顯示“正確”或“錯(cuò)誤”。(5)單擊“退出”按鈕結(jié)束運(yùn)行。20(1)在Text1中輸入加、減、乘、除符號(hào)后,在Label2中立刻出現(xiàn)相應(yīng)的運(yùn)算符號(hào)。PrivateSubText1_Change()Label2.Caption=Text1.TextEndSub(2)單擊“出題”按鈕Command1,生成兩個(gè)[0,1000]之間的隨機(jī)整數(shù)。PrivateSubCommand1_Click()RandomizeText2.Text=Int(Rnd*1001)Text3.Text=Int(Rnd*1001)Text4.Text=""EndSub21(3)單擊“計(jì)算”按鈕Command2得出Text4的值。PrivateSubCommand2_Click()IfLabel2.Caption="+"ThenText4.Text=Val(Text2.Text)+Val(Text3.Text)ElseIfLabel2.Caption="-"ThenText4.Text=Val(Text2.Text)-Val(Text3.Text)ElseIfLabel2.Caption="*"ThenText4.Text=Val(Text2.Text)*Val(Text3.Text)ElseIfLabel2.Caption="/"ThenText4.Text=Val(Text2.Text)/Val(Text3.Text)Elsea=MsgBox("運(yùn)算類型錯(cuò),請(qǐng)重輸",,"警告")
Text1.SetFocus:Text1.SelStart=0Text1.SelLength=Len(Text1.Text)EndIfEndSub22(4)Text4的內(nèi)容也可以由用戶輸入,通過單擊“推斷”按鈕Command3推斷輸入結(jié)果是否正確。PrivateSubCommand3_Click()SelectCaseLabel2.CaptionCase"+"IfText4.Text=Val(Text3.Text)+Val(Text2.Text)ThenLabel4.Caption="正確"ElseLabel4.Caption="錯(cuò)誤"EndIf23Case"-“IfText4.Text=Val(Text2.Text)-Val(Text3.Text)ThenLabel4.Caption="正確"
ElseLabel4.Caption="錯(cuò)誤"
EndIfCase"*"IfText4.Text=Val(Text2.Text)*Val(Text3.Text)ThenLabel4.Caption="正確"
ElseLabel4.Caption="錯(cuò)誤"
EndIf24Case"/"IfText4.Text=Val(Text2.Text)/Val
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店餐飲連鎖項(xiàng)目合同
- 2025年度幼兒園玩具及家具整體采購合同書
- 2025年度人工智能語音識(shí)別系統(tǒng)開發(fā)合同
- 2025年度果樹種植與農(nóng)產(chǎn)品質(zhì)量追溯系統(tǒng)建設(shè)合同
- 2025年度金融資產(chǎn)交易居間合同協(xié)議范本
- 2025年度客車租賃與景區(qū)交通接駁合同
- 2025年度城市排水管道疏通服務(wù)合同或協(xié)議
- 2025年度城市綠化工程苗木采購合同集
- 2025年度貨車融資租賃合同二零二五版
- 2025年度供應(yīng)鏈金融平臺(tái)合作貸款合同模板(含風(fēng)險(xiǎn)共擔(dān)機(jī)制)
- 醫(yī)院感染及其危害
- 2025年三人合伙投資合作開店合同模板(三篇)
- 安徽省招生考試數(shù)學(xué)試卷
- 2024全國各省高考詩歌鑒賞真題及解析
- 高考日語閱讀理解練習(xí)2篇-高考日語復(fù)習(xí)
- 印刷基礎(chǔ)知識(shí)培訓(xùn)資料
- NB/T 11536-2024煤礦帶壓開采底板井下注漿加固改造技術(shù)規(guī)范
- 2024-2025學(xué)年人教版五年級(jí)(上)英語寒假作業(yè)(一)
- 【課件】九年級(jí)化學(xué)下冊(cè)(人教版2024)-【新教材解讀】義務(wù)教育教材內(nèi)容解讀課件
- GA/T 761-2024停車庫(場(chǎng))安全管理系統(tǒng)技術(shù)要求
- 2025屆貴州省六盤水市第二中學(xué)高三適應(yīng)性調(diào)研考試數(shù)學(xué)試題含解析
評(píng)論
0/150
提交評(píng)論