第7章-Visual-Basic控制結(jié)構(gòu)課件_第1頁
第7章-Visual-Basic控制結(jié)構(gòu)課件_第2頁
第7章-Visual-Basic控制結(jié)構(gòu)課件_第3頁
第7章-Visual-Basic控制結(jié)構(gòu)課件_第4頁
第7章-Visual-Basic控制結(jié)構(gòu)課件_第5頁
已閱讀5頁,還剩81頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第七章VisualBasic控制結(jié)構(gòu)本章主要任務:

(1)了解結(jié)構(gòu)化程序設(shè)計方法;(2)掌握選擇控制結(jié)構(gòu)程序設(shè)計;(3)掌握循環(huán)結(jié)構(gòu)程序設(shè)計。第七章VisualBasic控制結(jié)構(gòu)本章主要任務:結(jié)構(gòu)化程序設(shè)計三種結(jié)構(gòu):順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)結(jié)構(gòu)化程序設(shè)計三種結(jié)構(gòu):7.1選擇控制結(jié)構(gòu)關(guān)系運算:比較兩個運算量之間的關(guān)系,關(guān)系表達式的運算結(jié)果為邏輯量。若關(guān)系成立,結(jié)果為True,若關(guān)系不成立,結(jié)果為False。運算符含義優(yōu)先級實例結(jié)果<小于所有關(guān)系運算優(yōu)先級相同。低于算術(shù)運算的加“+”,減“-”運算,高于邏輯非“Not”運算。15+10<20False<=小于或等于10<=20True>大于10>20False>=大于或等于"This">="That"True=等于"This"="That"False<>不等于"This"<>"That"TrueLike字符串匹配"This"Like"*is"TrueIs對象比較

7.1選擇控制結(jié)構(gòu)關(guān)系運算:運算符含義優(yōu)先級實例結(jié)果<小7.1選擇控制結(jié)構(gòu)邏輯運算:邏輯運算符:Not,And,OrXor等7.1選擇控制結(jié)構(gòu)邏輯運算:7.1選擇控制結(jié)構(gòu)一、單行結(jié)構(gòu)條件語句格式:

If條件Thenthen部分[Elseelse部分]

如果“條件”為True,則執(zhí)行“then部分”,否則執(zhí)行“else部分”條件語句1語句2YN7.1選擇控制結(jié)構(gòu)一、單行結(jié)構(gòu)條件語句條件語句1語句2Y7.1選擇控制結(jié)構(gòu)一、單行結(jié)構(gòu)條件語句例如:輸出x,y兩個中值較大的一個值。

IFX>YThenPrintXElsePrintY條件語句的嵌套:7.1選擇控制結(jié)構(gòu)一、單行結(jié)構(gòu)條件語句7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句格式:If條件1Then

語句塊1[ElseIf條件2Then

語句塊2][ElseIf條件3Then

語句塊3]......[Else

語句塊n+1]EndIf7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句例:設(shè)計一個求解一元二次方程的程序ax2+bx+c=0

公式:

判斷:b2-4ac>=0(實根)b2-4ac<0(虛根)

代碼:

disc=b*b-4*a*cIfdisc>=0thenx1=(-b+sqr(disc))/(2*a)‘實根1x2=(-b-sqr(disc))/(2*a)‘實根2Elsex1=-b/(2*a)‘實部x2=sqr(abs(disc))/(2*a)‘虛部Endif7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句例:設(shè)計一個求解一元二次方程的程序思考:1、如果文本框中無輸入,或Text1中輸入0,單擊“求解”按鈕,則不構(gòu)成一元二次方程,不求解。IfText1.Text=""OrText2.Text=""OrText3.Text=""OrVal(Text1.Text)=0ThenExitSub7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句例:設(shè)計一個求解一元二次方程的程序

思考:2、如果限制3個文本框(Text1,Text2,Text3)只能輸入數(shù)字,不能接受其他字符?

數(shù)字0-9的ascii碼為48-57PrivateSubText1_KeyPress(KeyAsciiAsInteger)IfKeyAscii<48OrKeyAscii>57ThenKeyAscii=0EndIfEndSub7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句例:輸入一學生成績,評定其等級。方法是:90~100分為“優(yōu)秀”,80~89分為“良好”,70~79分為“中等”,60~69分為“及格”,60分以為“不合格”X>=90學生成績XX>=80X>=70X>=60打印“優(yōu)秀”打印“良好”打印“中等”打印“及格”打印“不合格”TTTTFFFF7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句X>=90學生成績7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句x=val(inputbox(“輸入學生成績”))Ifx>=90then Print“優(yōu)秀”Elseifx>=80then Print“良好”Elseifx>=70then Print“中等”Elseifx>=60then Print“及格”Else Print“不及格”Endif7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句7.2多分支控制結(jié)構(gòu)格式:SelectCase測試表達式Case表達式表列1[語句塊1][Case表達式表列2[語句塊2]]......[CaseElse[語句塊n]]EndSelect7.2多分支控制結(jié)構(gòu)格式:7.2多分支控制結(jié)構(gòu)<表達式表列>下面幾種形式:例:

一組枚舉表達式(用逗號分隔)

2,4,6,8

表達式1To表達式2

60to100

Is關(guān)系運算符表達式

Is<607.2多分支控制結(jié)構(gòu)<表達式表列>下面幾種形式:7.2多分支控制結(jié)構(gòu)x=val(InputBox(“請輸入一個數(shù)”))SelectCasex Case1 語句塊1 Case2,4 語句塊2 Case5To10 語句塊3 CaseIs>10 語句塊4 CaseElse 語句塊5EndSelect7.2多分支控制結(jié)構(gòu)x=val(InputBox(“請輸7.2多分支控制結(jié)構(gòu)例如:將前例使用selectcase…..語句來實現(xiàn)的程序段如下:SelectCasexCase90to100Print"優(yōu)秀"Case80to89Print"良好"Case70to79Print"中等"Case60to69Print"及格"CaseElsePrint"不及格"EndSelect7.2多分支控制結(jié)構(gòu)例如:將前例使用selectcas7.3For循環(huán)控制結(jié)構(gòu)VB中的循環(huán)結(jié)構(gòu)For-Next循環(huán)While-Wend循環(huán)Do-Loop循環(huán)按規(guī)定次數(shù)執(zhí)行循環(huán)體某給定條件滿足時循環(huán)7.3For循環(huán)控制結(jié)構(gòu)VB中的循環(huán)結(jié)構(gòu)按規(guī)定次數(shù)執(zhí)行循7.3For循環(huán)控制結(jié)構(gòu)格式:

For循環(huán)變量=初值to終值[Step步長] 語句塊 [ExitFor] 語句塊Next循環(huán)變量循環(huán)體>0初值<終值;=1時,可省略<0初值>終值=0死循環(huán)步長7.3For循環(huán)控制結(jié)構(gòu)格式:循環(huán)體>0初值<7.3For循環(huán)控制結(jié)構(gòu)循環(huán)次數(shù)例:ForI=2To13Step3PrintI,NextIPrint“I=“,I

循環(huán)執(zhí)行次數(shù)

輸出I的值分別為:

25811

出了循環(huán)輸出為:

I=147.3For循環(huán)控制結(jié)構(gòu)循環(huán)次數(shù)例:ForI=27.3For循環(huán)控制結(jié)構(gòu)“循環(huán)變量”增加“步長”是自動完成的。在循環(huán)體中允許改變循環(huán)變量的值,但會影響到循環(huán)的次數(shù)。Fori=2To13Step3 printi, i=i+2NextiPrint“i=“,I

循環(huán)執(zhí)行次數(shù)=3輸出I的值分別為:2712出了循環(huán)輸出為:i=177.3For循環(huán)控制結(jié)構(gòu)“循環(huán)變量”增加“步長”是自動完7.3For循環(huán)控制結(jié)構(gòu)例.編程計算:S=1+2+3+…+100DimS,IS=0'累加前變量S為0ForI=1to100S=S+INextIPrint"S=",S7.3For循環(huán)控制結(jié)構(gòu)DimS,I7.4當循環(huán)控制結(jié)構(gòu)格式: While條件 [語句塊] Wend常用于循環(huán)次數(shù)難確定,但控制循環(huán)的條件或循環(huán)結(jié)束的條件容易給出的情況。該語句的功能與DoWhile<條件>….Loop實現(xiàn)的循環(huán)完全相同Whileb>0c=c+ab=b-1Wend7.4當循環(huán)控制結(jié)構(gòu)格式:常用于循環(huán)次數(shù)難確定,但控制循7.5Do循環(huán)控制結(jié)構(gòu)形式1:(當型循環(huán))

Do{While|Until}<條件>語句塊[ExitDo]語句塊LoopDoWhile…Loop循環(huán)邏輯框圖DoUntil…Loop循環(huán)邏輯框圖7.5Do循環(huán)控制結(jié)構(gòu)形式1:(當型循環(huán))7.5Do循環(huán)控制結(jié)構(gòu)形式2:(直到循環(huán))Do語句塊[ExitDo]語句塊Loop{While|Until}<條件>圖7.5Do…LoopWhile循環(huán)邏輯框圖圖7.6Do…LoopUntil循環(huán)邏輯框圖7.5Do循環(huán)控制結(jié)構(gòu)形式2:(直到循環(huán))圖7.5D7.5Do循環(huán)控制結(jié)構(gòu)說明:(1)當使用While<條件>構(gòu)成循環(huán)時,當條件為“真”,則反復執(zhí)行循環(huán)體,當條件為“假”,則退出循環(huán)。(2)當使用Until<條件>構(gòu)成循環(huán)時,當條件為“假”,則反復執(zhí)行循環(huán)體,直到條件成立,即為“真”時,則退出循環(huán)。(3)在循環(huán)體內(nèi)一般應有一個專門用來改變條件表達式中變量的語句,以使隨著循環(huán)的執(zhí)行,條件趨于不成立(或成立),最后達到退出循環(huán)。(4)語句ExitDo的作用是退出它所在的循環(huán)結(jié)構(gòu),它只能用在DO/Loop結(jié)構(gòu)中,并且常常是同選擇結(jié)構(gòu)一起出現(xiàn)在循環(huán)結(jié)構(gòu)中,用來實現(xiàn)當滿足某一條件時提前退出循環(huán)。7.5Do循環(huán)控制結(jié)構(gòu)說明:(3)在循環(huán)體內(nèi)一般應有一7.5Do循環(huán)控制結(jié)構(gòu)例:用do…Loop語句改寫前面的例題

編程計算:S=1+2+3+…+100DimS%,I%S=0'累加前變量S為0I=1'循環(huán)變量賦初值DoWhileI<=100S=S+II=I+1LoopPrint"S=",S

DimS%,I%S=0'累加前變量S為0I=1'循環(huán)變量賦初值DoS=S+II=I+1LoopWhileI<=100

Print"S=",S

7.5Do循環(huán)控制結(jié)構(gòu)例:用do…Loop語句改寫前面7.6多重循環(huán)如果在一個循環(huán)內(nèi)完整地包含另一個循環(huán)結(jié)構(gòu),則稱為多重循環(huán),或循環(huán)嵌套,嵌套的層數(shù)可以根據(jù)需要而定,嵌套一層稱為二重循環(huán),嵌套二層稱為三重循環(huán)。上面介紹的幾種循環(huán)控制結(jié)構(gòu)可以相互嵌套,下面是幾種常見的二重嵌套形式:7.6多重循環(huán)如果在一個循環(huán)內(nèi)完整地包含7.6多重循環(huán)(1)ForI=….…..

ForJ=….…. NextJ…..

NextI(2)ForI=….…..

DoWhile/Until….…. Loop…..NextI(3)DoWhile….…..

ForJ=….…. NextJ…..Loop(4)DoWhile/Until….…..

DoWhile/Until….…. Loop…..Loop7.6多重循環(huán)(1)ForI=….(2)ForI7.6多重循環(huán)例如:打印九九乘法表.

Fori=1To9Forj=1To9se=i&"×"&j&"="&i*jPicture1.PrintTab((j-1)*9);se;NextjPicture1.PrintNextITab(n):用來將插入點定位在絕對列號上,這里,n為列號。7.6多重循環(huán)例如:打印九九乘法表.7.7GoTo型控制一、GoTo語句

形式:

GoTo{標號|行號}

作用是無條件地轉(zhuǎn)移到標號或行號指定的那行語句.

標號:任何字符組合,以字母開頭,以冒號:結(jié)尾。必須放在行的開始位置。行號:任何數(shù)值組合。必須放在行的開始位置。(1)GoTo只能在本過程內(nèi)轉(zhuǎn)移。(2)一個過程中,標號、行號都必須唯一。(3)建議少用。

7.7GoTo型控制一、GoTo語句形式:7.7GoTo型控制一、GoTo語句例:用GoTo語句改寫前面的例題

編程計算:S=1+2+3+…+100DimsAsInteger,iAsIntegers=0'累加前賦初值i=1‘控制變量PP:‘標號s=s+ii=i+1Ifi<=100ThenGoToPPPrint"s=",s7.7GoTo型控制一、GoTo語句例:用GoTo語7.7GoTo型控制二、On-GoTo語句形式:On數(shù)值表達式GoTo行號表列|標號表列例如:OnxGoTo30,50,Line3,Line47.7GoTo型控制二、On-GoTo語句7.7GoTo型控制二、On-GoTo錯誤處理語句形式:OnErrorGoTo標號OnErrorResumeNext7.7GoTo型控制二、On-GoTo錯誤處理語循環(huán)結(jié)構(gòu)示例在Text1中輸入一個大于1的整數(shù),點擊“計算”按鈕,要求計算出從1到這個整數(shù)之間(包括這個整數(shù))的所有: (1)整數(shù)的累加 (2)整數(shù)的累乘 (3)奇數(shù)的累加 (4)偶數(shù)的累乘……… 并將結(jié)果顯示在Label1中。循環(huán)結(jié)構(gòu)示例在Text1中輸入一個大于1的整數(shù),點擊“計算”綜合練習

設(shè)計一個由計算機來當小學低年級學生算術(shù)老師的VB應用程序,要求給出一系列的兩個1~10數(shù)的四則運算的算術(shù)題,學生輸入該題的答案,計算機根據(jù)學生的答案判斷正確與否,并給出成績。

綜合練習設(shè)計一個由計算機來當小學低年級學生算綜合練習分析:產(chǎn)生1~10操作數(shù),可通過Int(10*Rnd+1)

實現(xiàn)Int(Number)函數(shù):取不大于Number的整數(shù)。Rnd函數(shù):產(chǎn)生[0,1)之間隨機數(shù)。舉例:Int(Rnd*100)+1[1,100]的隨機整數(shù)Int(Rnd*99)+1[1,100)的隨機整數(shù),即[1,99]Int(Rnd*90)+10[10,99]的隨機整數(shù)Int(10*Rnd+1)

[1,10]的隨機整數(shù)使用Rnd函數(shù)前,需先執(zhí)行Randomize語句,對隨機數(shù)生成器進行初始化。綜合練習分析:產(chǎn)生1~10操作數(shù),可通過Int(10*Rn綜合練習載入窗體: 1、隨機生成x,y 2、隨機生成算術(shù)式,計算出相應正確結(jié)果。 3、顯示算術(shù)式點擊確定按鈕: 4、比較用戶輸入和正確結(jié)果,顯示結(jié)論,并依照結(jié)果正誤對“正確”或“錯誤”數(shù)字加1 5、“共答”數(shù)字加1 6、計算“正確率” 7、清空輸入結(jié)果的文本框,設(shè)置焦點 8、重新調(diào)用窗體載入過程

綜合練習載入窗體:綜合練習實現(xiàn)步驟:以下在form_load()事件中編程1、隨機生成x,yRandomizeX=Int(10*Rnd+1)‘1-10的隨機數(shù)Y=Int(10*Rnd+1)綜合練習實現(xiàn)步驟:以下在form_load()事件中編程綜合練習實現(xiàn)步驟:以下在form_load()事件中編程2、隨機生成算術(shù)式,計算出相應正確結(jié)果SelectCaseInt(4*Rnd)+1‘產(chǎn)生1-4的隨機數(shù)Case1S=Str(X)&“+”&Str(Y)&“=“ ’生成”x+y=“字符串Result=X+YCase2S=Str(X)&“-”&Str(Y)&“=“ ’生成”x-y=“字符串Result=X-YCase3S=Str(X)&"*"&Str(Y)&"=“ ’生成”x*y=“字符串Result=X*YCase4S=Str(X)&"/"&Str(Y)&"=“ ’生成”x/y=“字符串Result=X/YEndSelect綜合練習實現(xiàn)步驟:以下在form_load()事件中編程綜合練習實現(xiàn)步驟:以下在form_load()事件中編程3、顯示算術(shù)式,給標簽賦值顯示算式Label5.Caption=S綜合練習實現(xiàn)步驟:以下在form_load()事件中編程綜合練習實現(xiàn)步驟:以下在Command1_Click()中編程4、比較用戶輸入和正確結(jié)果,顯示結(jié)論,并依照結(jié)果正誤對“正確”或“錯誤”數(shù)字加1IfVal(Text5.Text)=ResultThenPicture1.PrintS&Text5.Text&"√"Text2.Text=Text2.Text+1ElsePicture1.PrintS&Text5.Text&"×"Text3.Text=Text3.Text+1EndIf綜合練習實現(xiàn)步驟:以下在Command1_Click()中編綜合練習實現(xiàn)步驟:以下在Command1_Click()中編程5、“共答”數(shù)字加1Text1.Text=Text1.Text+16、計算“正確率”Text4.Text=Int((Text2.Text/Text1.Text)*100)7、清空輸入結(jié)果的文本框,設(shè)置焦點Text5.Text=“”Text5.SetFocus8、重新調(diào)用窗體載入過程Form_Load綜合練習實現(xiàn)步驟:以下在Command1_Click()中編綜合練習注意:聲明全局變量!!DimResultAsIntegerDimSAsString綜合練習注意:聲明全局變量!!第七章VisualBasic控制結(jié)構(gòu)本章主要任務:

(1)了解結(jié)構(gòu)化程序設(shè)計方法;(2)掌握選擇控制結(jié)構(gòu)程序設(shè)計;(3)掌握循環(huán)結(jié)構(gòu)程序設(shè)計。第七章VisualBasic控制結(jié)構(gòu)本章主要任務:結(jié)構(gòu)化程序設(shè)計三種結(jié)構(gòu):順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)結(jié)構(gòu)化程序設(shè)計三種結(jié)構(gòu):7.1選擇控制結(jié)構(gòu)關(guān)系運算:比較兩個運算量之間的關(guān)系,關(guān)系表達式的運算結(jié)果為邏輯量。若關(guān)系成立,結(jié)果為True,若關(guān)系不成立,結(jié)果為False。運算符含義優(yōu)先級實例結(jié)果<小于所有關(guān)系運算優(yōu)先級相同。低于算術(shù)運算的加“+”,減“-”運算,高于邏輯非“Not”運算。15+10<20False<=小于或等于10<=20True>大于10>20False>=大于或等于"This">="That"True=等于"This"="That"False<>不等于"This"<>"That"TrueLike字符串匹配"This"Like"*is"TrueIs對象比較

7.1選擇控制結(jié)構(gòu)關(guān)系運算:運算符含義優(yōu)先級實例結(jié)果<小7.1選擇控制結(jié)構(gòu)邏輯運算:邏輯運算符:Not,And,OrXor等7.1選擇控制結(jié)構(gòu)邏輯運算:7.1選擇控制結(jié)構(gòu)一、單行結(jié)構(gòu)條件語句格式:

If條件Thenthen部分[Elseelse部分]

如果“條件”為True,則執(zhí)行“then部分”,否則執(zhí)行“else部分”條件語句1語句2YN7.1選擇控制結(jié)構(gòu)一、單行結(jié)構(gòu)條件語句條件語句1語句2Y7.1選擇控制結(jié)構(gòu)一、單行結(jié)構(gòu)條件語句例如:輸出x,y兩個中值較大的一個值。

IFX>YThenPrintXElsePrintY條件語句的嵌套:7.1選擇控制結(jié)構(gòu)一、單行結(jié)構(gòu)條件語句7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句格式:If條件1Then

語句塊1[ElseIf條件2Then

語句塊2][ElseIf條件3Then

語句塊3]......[Else

語句塊n+1]EndIf7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句例:設(shè)計一個求解一元二次方程的程序ax2+bx+c=0

公式:

判斷:b2-4ac>=0(實根)b2-4ac<0(虛根)

代碼:

disc=b*b-4*a*cIfdisc>=0thenx1=(-b+sqr(disc))/(2*a)‘實根1x2=(-b-sqr(disc))/(2*a)‘實根2Elsex1=-b/(2*a)‘實部x2=sqr(abs(disc))/(2*a)‘虛部Endif7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句例:設(shè)計一個求解一元二次方程的程序思考:1、如果文本框中無輸入,或Text1中輸入0,單擊“求解”按鈕,則不構(gòu)成一元二次方程,不求解。IfText1.Text=""OrText2.Text=""OrText3.Text=""OrVal(Text1.Text)=0ThenExitSub7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句例:設(shè)計一個求解一元二次方程的程序

思考:2、如果限制3個文本框(Text1,Text2,Text3)只能輸入數(shù)字,不能接受其他字符?

數(shù)字0-9的ascii碼為48-57PrivateSubText1_KeyPress(KeyAsciiAsInteger)IfKeyAscii<48OrKeyAscii>57ThenKeyAscii=0EndIfEndSub7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句例:輸入一學生成績,評定其等級。方法是:90~100分為“優(yōu)秀”,80~89分為“良好”,70~79分為“中等”,60~69分為“及格”,60分以為“不合格”X>=90學生成績XX>=80X>=70X>=60打印“優(yōu)秀”打印“良好”打印“中等”打印“及格”打印“不合格”TTTTFFFF7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句X>=90學生成績7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句x=val(inputbox(“輸入學生成績”))Ifx>=90then Print“優(yōu)秀”Elseifx>=80then Print“良好”Elseifx>=70then Print“中等”Elseifx>=60then Print“及格”Else Print“不及格”Endif7.1選擇控制結(jié)構(gòu)二、塊結(jié)構(gòu)條件語句7.2多分支控制結(jié)構(gòu)格式:SelectCase測試表達式Case表達式表列1[語句塊1][Case表達式表列2[語句塊2]]......[CaseElse[語句塊n]]EndSelect7.2多分支控制結(jié)構(gòu)格式:7.2多分支控制結(jié)構(gòu)<表達式表列>下面幾種形式:例:

一組枚舉表達式(用逗號分隔)

2,4,6,8

表達式1To表達式2

60to100

Is關(guān)系運算符表達式

Is<607.2多分支控制結(jié)構(gòu)<表達式表列>下面幾種形式:7.2多分支控制結(jié)構(gòu)x=val(InputBox(“請輸入一個數(shù)”))SelectCasex Case1 語句塊1 Case2,4 語句塊2 Case5To10 語句塊3 CaseIs>10 語句塊4 CaseElse 語句塊5EndSelect7.2多分支控制結(jié)構(gòu)x=val(InputBox(“請輸7.2多分支控制結(jié)構(gòu)例如:將前例使用selectcase…..語句來實現(xiàn)的程序段如下:SelectCasexCase90to100Print"優(yōu)秀"Case80to89Print"良好"Case70to79Print"中等"Case60to69Print"及格"CaseElsePrint"不及格"EndSelect7.2多分支控制結(jié)構(gòu)例如:將前例使用selectcas7.3For循環(huán)控制結(jié)構(gòu)VB中的循環(huán)結(jié)構(gòu)For-Next循環(huán)While-Wend循環(huán)Do-Loop循環(huán)按規(guī)定次數(shù)執(zhí)行循環(huán)體某給定條件滿足時循環(huán)7.3For循環(huán)控制結(jié)構(gòu)VB中的循環(huán)結(jié)構(gòu)按規(guī)定次數(shù)執(zhí)行循7.3For循環(huán)控制結(jié)構(gòu)格式:

For循環(huán)變量=初值to終值[Step步長] 語句塊 [ExitFor] 語句塊Next循環(huán)變量循環(huán)體>0初值<終值;=1時,可省略<0初值>終值=0死循環(huán)步長7.3For循環(huán)控制結(jié)構(gòu)格式:循環(huán)體>0初值<7.3For循環(huán)控制結(jié)構(gòu)循環(huán)次數(shù)例:ForI=2To13Step3PrintI,NextIPrint“I=“,I

循環(huán)執(zhí)行次數(shù)

輸出I的值分別為:

25811

出了循環(huán)輸出為:

I=147.3For循環(huán)控制結(jié)構(gòu)循環(huán)次數(shù)例:ForI=27.3For循環(huán)控制結(jié)構(gòu)“循環(huán)變量”增加“步長”是自動完成的。在循環(huán)體中允許改變循環(huán)變量的值,但會影響到循環(huán)的次數(shù)。Fori=2To13Step3 printi, i=i+2NextiPrint“i=“,I

循環(huán)執(zhí)行次數(shù)=3輸出I的值分別為:2712出了循環(huán)輸出為:i=177.3For循環(huán)控制結(jié)構(gòu)“循環(huán)變量”增加“步長”是自動完7.3For循環(huán)控制結(jié)構(gòu)例.編程計算:S=1+2+3+…+100DimS,IS=0'累加前變量S為0ForI=1to100S=S+INextIPrint"S=",S7.3For循環(huán)控制結(jié)構(gòu)DimS,I7.4當循環(huán)控制結(jié)構(gòu)格式: While條件 [語句塊] Wend常用于循環(huán)次數(shù)難確定,但控制循環(huán)的條件或循環(huán)結(jié)束的條件容易給出的情況。該語句的功能與DoWhile<條件>….Loop實現(xiàn)的循環(huán)完全相同Whileb>0c=c+ab=b-1Wend7.4當循環(huán)控制結(jié)構(gòu)格式:常用于循環(huán)次數(shù)難確定,但控制循7.5Do循環(huán)控制結(jié)構(gòu)形式1:(當型循環(huán))

Do{While|Until}<條件>語句塊[ExitDo]語句塊LoopDoWhile…Loop循環(huán)邏輯框圖DoUntil…Loop循環(huán)邏輯框圖7.5Do循環(huán)控制結(jié)構(gòu)形式1:(當型循環(huán))7.5Do循環(huán)控制結(jié)構(gòu)形式2:(直到循環(huán))Do語句塊[ExitDo]語句塊Loop{While|Until}<條件>圖7.5Do…LoopWhile循環(huán)邏輯框圖圖7.6Do…LoopUntil循環(huán)邏輯框圖7.5Do循環(huán)控制結(jié)構(gòu)形式2:(直到循環(huán))圖7.5D7.5Do循環(huán)控制結(jié)構(gòu)說明:(1)當使用While<條件>構(gòu)成循環(huán)時,當條件為“真”,則反復執(zhí)行循環(huán)體,當條件為“假”,則退出循環(huán)。(2)當使用Until<條件>構(gòu)成循環(huán)時,當條件為“假”,則反復執(zhí)行循環(huán)體,直到條件成立,即為“真”時,則退出循環(huán)。(3)在循環(huán)體內(nèi)一般應有一個專門用來改變條件表達式中變量的語句,以使隨著循環(huán)的執(zhí)行,條件趨于不成立(或成立),最后達到退出循環(huán)。(4)語句ExitDo的作用是退出它所在的循環(huán)結(jié)構(gòu),它只能用在DO/Loop結(jié)構(gòu)中,并且常常是同選擇結(jié)構(gòu)一起出現(xiàn)在循環(huán)結(jié)構(gòu)中,用來實現(xiàn)當滿足某一條件時提前退出循環(huán)。7.5Do循環(huán)控制結(jié)構(gòu)說明:(3)在循環(huán)體內(nèi)一般應有一7.5Do循環(huán)控制結(jié)構(gòu)例:用do…Loop語句改寫前面的例題

編程計算:S=1+2+3+…+100DimS%,I%S=0'累加前變量S為0I=1'循環(huán)變量賦初值DoWhileI<=100S=S+II=I+1LoopPrint"S=",S

DimS%,I%S=0'累加前變量S為0I=1'循環(huán)變量賦初值DoS=S+II=I+1LoopWhileI<=100

Print"S=",S

7.5Do循環(huán)控制結(jié)構(gòu)例:用do…Loop語句改寫前面7.6多重循環(huán)如果在一個循環(huán)內(nèi)完整地包含另一個循環(huán)結(jié)構(gòu),則稱為多重循環(huán),或循環(huán)嵌套,嵌套的層數(shù)可以根據(jù)需要而定,嵌套一層稱為二重循環(huán),嵌套二層稱為三重循環(huán)。上面介紹的幾種循環(huán)控制結(jié)構(gòu)可以相互嵌套,下面是幾種常見的二重嵌套形式:7.6多重循環(huán)如果在一個循環(huán)內(nèi)完整地包含7.6多重循環(huán)(1)ForI=….…..

ForJ=….…. NextJ…..

NextI(2)ForI=….…..

DoWhile/Until….…. Loop…..NextI(3)DoWhile….…..

ForJ=….…. NextJ…..Loop(4)DoWhile/Until….…..

DoWhile/Until….…. Loop…..Loop7.6多重循環(huán)(1)ForI=….(2)ForI7.6多重循環(huán)例如:打印九九乘法表.

Fori=1To9Forj=1To9se=i&"×"&j&"="&i*jPicture1.PrintTab((j-1)*9);se;NextjPicture1.PrintNextITab(n):用來將插入點定位在絕對列號上,這里,n為列號。7.6多重循環(huán)例如:打印九九乘法表.7.7GoTo型控制一、GoTo語句

形式:

GoTo{標號|行號}

作用是無條件地轉(zhuǎn)移到標號或行號指定的那行語句.

標號:任何字符組合,以字母開頭,以冒號:結(jié)尾。必須放在行的開始位置。行號:任何數(shù)值組合。必須放在行的開始位置。(1)GoTo只能在本過程內(nèi)轉(zhuǎn)移。(2)一個過程中,標號、行號都必須唯一。(3)建議少用。

7.7GoTo型控制一、GoTo語句形式:7.7GoTo型控制一、GoTo語句例:用GoTo語句改寫前面的例題

編程計算:S=1+2+3+…+100DimsAsInteger,iAsIntegers=0'累加前賦初值i=1‘控制變量PP:‘標號s=s+ii=i+1Ifi<=100ThenGoToPPPrint"s=",s7.7GoTo型控制一、GoTo語句例:用GoTo語7.7GoTo型控制二、On-GoTo語句形式:On數(shù)值表達式GoTo行號表列|標號表列例如:OnxGoTo30,50,Line3,Line47.7GoTo型控制二、On-GoTo語句7.7GoTo型控制二、On-GoTo錯誤處理語句形式:OnErrorGoTo標號OnErrorResumeNext7.7GoTo型控制二、On-GoTo錯誤處理語循環(huán)結(jié)構(gòu)示例在Text1中輸入一個大于1的整數(shù),點擊“計算”按鈕,要求計算出從1到這個整數(shù)之間(包括這個整數(shù))的所有: (1)整數(shù)的累加 (2)整數(shù)的累乘 (3)奇數(shù)的累加 (4)偶數(shù)的累乘……… 并將結(jié)果顯示在Label1中。循環(huán)結(jié)構(gòu)示例在Text1中輸入一個大于1的整數(shù),點擊“計算”綜合練習

設(shè)計一個由計算機來當小學低年級學生算術(shù)老師的VB應用程序,要求給

溫馨提示

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

評論

0/150

提交評論