第7章-VisualBasic控制結構_第1頁
第7章-VisualBasic控制結構_第2頁
第7章-VisualBasic控制結構_第3頁
第7章-VisualBasic控制結構_第4頁
第7章-VisualBasic控制結構_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第7章VisualBasic控制結構主講教師:劉瀟(計科系)聯系電話Q:421877450E-mail:liuxiao528@163.com1本章討論VisualBasic中除順序結構之外的流程控制語句,包括選擇結構、多分支結構及循環(huán)結構語句。目錄7.1選擇控制結構多分支控制結構7.2For循環(huán)控制結構7.3當循環(huán)控制結構7.47.5Do循環(huán)控制結構多重循環(huán)7.6GoTo型控制7.77.1選擇控制結構If...Then語句格式:

If條件Then語句或If條件Then語句塊EndIf功能:如果條件成立(值為真),則執(zhí)行Then后面的語句或語句塊,否則直接執(zhí)行下一條語句或“EndIf”的下一條語句。7.1選擇控制結構編寫一段代碼實現:單擊窗體,在彈出的輸入對話框中輸入成績(CJ)數值,當成績(CJ<60時),顯示“成績不及格”,換行顯示“請參加補考”。PrivateSubForm_Click()CJ=Val(InputBox("請輸入成績數值:","成績判斷"))If

CJ<60

Then

Print"成績不及格"Print"請參加補考"EndIfEndSub7.1選擇控制結構If...Then...Else語句格式:

If條件Then語句塊1(A)Else語句塊2(B)EndIf功能:首先測試條件,當條件成立時,執(zhí)行語句塊1;當條件不成立時,執(zhí)行語句塊2。執(zhí)行完語句塊2之后,執(zhí)行“EndIf”之后的語句。7.1選擇控制結構輸入三個數:a、b、c,求出其中最大數。PrivateSubCommand1_Click()DimaAsSingle,bAsSingleDimcAsSingle,mAsSinglea=Val(Text1.Text)b=Val(Text2.Text)c=Val(Text3.Text)Ifa<bThenm=bElsem=aEndIf

Ifm<cThenm=cText4.Text=mEndSub7.1選擇控制結構IIf函數格式:

result=IIf(條件,True部分,False部分)功能:當“條件”為真時,IIf函數返回“True部分”,而當“條件”為假時返回“False部分”。例如:將a、b中的小數,放在Min變量中。

Min=IIf(a<b,a,b)7.1選擇控制結構ElseIf格式格式:

If條件1Then語句塊1[ElseIf條件2Then語句塊2][ElseIf條件3Then語句塊3]......[Else語句塊n]EndIf功能?7.1選擇控制結構輸入學生成績(百分制),判斷該成績的等級(優(yōu)良、及格、不及格)PrivateSubCommand1_Click()DimscoreAsInteger,tempAsStringscore=Val(Text1.Text)temp="成績等級為:"Ifscore<0ThenLabel2.Caption="成績出錯"ElseIfscore<60ThenLabel2.Caption=temp+"不及格"ElseIfscore<=79ThenLabel2.Caption=temp+"及格"ElseIf

score<=100ThenLabel2.Caption=temp+"優(yōu)良"ElseLabel2.Caption="成績出錯"EndIfEndSub7.2多分支控制結構SelectCase語句格式:SelectCase測試表達式Case表達式表列1[語句塊1][Case表達式表列2[語句塊2]]......[CaseElse[語句塊n]]EndSelect功能:先計算表達式的值,然后將該值依次與結構中的每個Case值進行比較,如果該值符合某個Case指定的值條件時,就執(zhí)行該Case的語句塊,然后跳到EndSelect,從EndSelect出口。如果沒有相符合的Case值,則執(zhí)行CaseElse中的語句塊。三種寫法:Case1,3,5Case60To80CaseIs<507.2多分支控制結構輸入學生成績(百分制),判斷該成績的等級(優(yōu)良、及格、不及格)PrivateSubCommand1_Click()DimscoreAsInteger,tempAsStringscore=Val(Text1.Text)temp="成績等級為:"SelectCasescore

Case

0to59Label2.Caption=temp+"不及格"

Case60to79Label2.Caption=temp+"及格"

Case80to100Label2.Caption=temp+"優(yōu)良"

CaseElseLabel2.Caption="成績出錯"EndSelectEndSub7.2多分支控制結構輸入兩個運算數和運算符(+、-、*、/),組成算式并計算結果,然后顯示出來。PrivateSubCommand1_Click()DimaAsSingle,bAsSingle,tAsSingle,sAsStringa=Val(Text1.Text)b=Val(Text2.Text)SelectCaseTrue

CaseOption1.Values="+":t=a+b

CaseOption2.Values="-":t=a-b

CaseOption3.Values="*":t=a*b

CaseOption4.Values="/":t=a/bEndSelectText3.Text=a&s&b&"="&tEndSub7.3For循環(huán)控制結構For...Next循環(huán)語句格式:

For循環(huán)變量=初值To終值[Step步長值]循環(huán)體Next循環(huán)變量功能:本語句指定循環(huán)變量取一系列數值,并且對循環(huán)變量的每一個值把循環(huán)體執(zhí)行一次。初值、終值和步長值都是數值表達式步長值為正數時,為遞增循環(huán);反之,為遞減循環(huán)。若步長值為1,則Step1可以省略。7.3For循環(huán)控制結構求S=1+2+3+4…+98+99+100采用Print在窗體上直接輸出結果PrivateSubForm_Load()Shows=0

Fork=1To100s=s+k

NextPrint"s=";sEndSub結果:7.3For循環(huán)控制結構求T=8!=1×2×3×4…×8采用Print在窗體上直接輸出結果PrivateSubForm_Load()Show

t=1

For

c=1To

8

t=t

*

c

NextPrint"T=";tEndSub結果:7.4當循環(huán)控制結構While...Wend循環(huán)語句格式:

While條件循環(huán)體Wend功能:當條件成立時,執(zhí)行循環(huán)體;當條件不成立時,終止循環(huán)。與For循環(huán)的區(qū)別:For:對循環(huán)體執(zhí)行指定的次數;While:在指定的條件為True時重復一語句序列(循環(huán)體)的執(zhí)行。7.4當循環(huán)控制結構求T=8!=1×2×3×4…×8采用Print在窗體上直接輸出結果采用While...Wend循環(huán)語句PrivateSubForm_Load()DimcAsIntegerShowt=1c=1

Whilec<=8t=t*cc=c+1WendPrint"T=";tEndSub結果:7.5Do循環(huán)控制結構Do...Loop循環(huán)語句格式1:

Do[{While|Until}條件]

循環(huán)體Loop功能:當指定的“循環(huán)條件”為真或直到指定的“循環(huán)條件”變?yōu)檎嬷埃貜蛨?zhí)行循環(huán)體格式2:

Do

循環(huán)體

Loop[{While|Until}條件]7.5Do循環(huán)控制結構Do…LoopUntil循環(huán)邏輯框圖Do…LoopWhile循環(huán)邏輯框圖7.5Do循環(huán)控制結構DoUntil…Loop循環(huán)邏輯框圖

DoWhile…Loop循環(huán)邏輯框圖7.5Do循環(huán)控制結構求S=12+22+…+1002采用DoWhile...Loop語句采用Print直接在窗體上輸出結果,程序代碼PrivateSubForm_load()DimnAsInteger,sAsLongShown=1:s=0

DoWhilen<=100s=s+n*nn=n+1

LoopPrint"s=";sEndSub程序運行結果:S=3383507.5Do循環(huán)控制結構輸入兩個正整數,求它們的最大公約數用“輾轉相除法”算法:求出m/n余數p,若p=0,n即為最大公約數;若p非0,則把原來的分母n作為新的分子m,把余數p作為新的分母n繼續(xù)求解。PrivateSubcommand1_click()DimmAsInteger,nAsInteger,pAsIntegerm=Val(Text1.Text)n=Val(Text2.Text)

Ifm<=0Orn<=0ThenMsgBox"數據錯誤!"EndEndIfDop=mModnm=nn=p

LoopWhilep<>0Text3.Text=mEndSub補充:循環(huán)控制結構循環(huán)出口語句格式:Exit{For|Do}

功能:直接從For循環(huán)或Do循環(huán)中退出當程序運行時遇到Exit語句時,就不再執(zhí)行循環(huán)體中的任何語句而直接退出,轉到循環(huán)語句(Next、Loop)的下面繼續(xù)執(zhí)行補充:循環(huán)控制結構設計一個“加法器”程序,把每次輸入的數累加。當輸入-1時結束程序的運行。PrivateSubForm_load()

DimxAsSingle,SumAsSingleShowSum=0DoWhileTrue

x=Val(InputBox(“請輸入要加入的數_(-1表示結束)","輸入數據"))

Ifx=-1Then

ExitDo

EndIfSum=Sum+xText1.Text=SumLoopMsgBox"累加運算結束“EndSub7.6多重循環(huán)多重循環(huán)程序示例PrivateSubForm_load()Show

Fori=1To3'外循環(huán)

Forj=5To7'內循環(huán)

Printi,j

Nextj

NextiEndSub多重循環(huán)是指循環(huán)體內含有循環(huán)語句的循環(huán)注意內、外循環(huán)層次要分清,不能交叉。程序運行結果:1 51 61 72 52 62 73 53 63 77.6多重循環(huán)編一程序,輸出下列所示的圖形。

本例可采用兩重循環(huán)來實現。外循環(huán)控制輸出7行,內循環(huán)控制每行輸出要求的字符數。在進入內循環(huán)之前,使用PrintTab()來對起始輸出位置定位,退出內循環(huán)后,使用Print來控制換行。7.6多重循環(huán)編一程序,輸出下列所示的圖形。PrivateSubForm_load()Show

Fori=1To7PrintTab(10-

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論