版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第七章VisualBasic控制結構本章主要任務:
(1)了解結構化程序設計方法;(2)掌握選擇控制結構程序設計;(3)掌握循環(huán)結構程序設計。結構化程序設計三種結構:順序結構選擇結構循環(huán)結構7.1選擇控制結構關系運算:比較兩個運算量之間的關系,關系表達式的運算結果為邏輯量。若關系成立,結果為True,若關系不成立,結果為False。運算符含義優(yōu)先級實例結果<小于所有關系運算優(yōu)先級相同。低于算術運算的加“+”,減“-”運算,高于邏輯非“Not”運算。15+10<20False<=小于或等于10<=20True>大于10>20False>=大于或等于"This">="That"True=等于"This"="That"False<>不等于"This"<>"That"TrueLike字符串匹配"This"Like"*is"TrueIs對象比較
7.1選擇控制結構邏輯運算:邏輯運算符:Not,And,OrXor
等7.1選擇控制結構一、單行結構條件語句格式:
If條件
Then
then部分
[Else
else部分]
如果“條件”為True,則執(zhí)行“then部分”,否則執(zhí)行“else部分”條件語句1語句2YN7.1選擇控制結構一、單行結構條件語句例如:輸出x,y兩個中值較大的一個值。
IFX>YThenPrintXElsePrintY
條件語句的嵌套:7.1選擇控制結構二、塊結構條件語句格式:
If條件1
Then
語句塊1[ElseIf
條件2
Then
語句塊2][ElseIf
條件3
Then
語句塊3]
......[Else
語句塊n+1]EndIf7.1選擇控制結構二、塊結構條件語句例:設計一個求解一元二次方程的程序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選擇控制結構二、塊結構條件語句例:設計一個求解一元二次方程的程序思考:1、如果文本框中無輸入,或Text1中輸入0,單擊“求解”按鈕,則不構成一元二次方程,不求解。IfText1.Text=""OrText2.Text=""OrText3.Text=""OrVal(Text1.Text)=0ThenExitSub7.1選擇控制結構二、塊結構條件語句例:設計一個求解一元二次方程的程序
思考:2、如果限制3個文本框(Text1,Text2,Text3)只能輸入數(shù)字,不能接受其他字符?
數(shù)字0-9的ascii碼為48-57PrivateSubText1_KeyPress(KeyAsciiAsInteger)IfKeyAscii<48OrKeyAscii>57Then
KeyAscii=0EndIfEndSub7.1選擇控制結構二、塊結構條件語句例:輸入一學生成績,評定其等級。方法是:90~100分為“優(yōu)秀”,80~89分為“良好”,70~79分為“中等”,60~69分為“及格”,60分以為“不合格”X>=90學生成績XX>=80X>=70X>=60打印“優(yōu)秀”打印“良好”打印“中等”打印“及格”打印“不合格”TTTTFFFF7.1選擇控制結構二、塊結構條件語句x=val(inputbox(“輸入學生成績”))Ifx>=90then Print“優(yōu)秀”Elseifx>=80then Print“良好”Elseifx>=70then Print“中等”Elseifx>=60then Print“及格”Else Print“不及格”Endif7.2多分支控制結構格式:
SelectCase
測試表達式
Case
表達式表列1
[語句塊1][Case表達式表列2[語句塊2]]
......[CaseElse[語句塊n]]EndSelect7.2多分支控制結構<表達式表列>下面幾種形式:例:
一組枚舉表達式(用逗號分隔)
2,4,6,8
表達式1To表達式2
60to100
Is關系運算符表達式
Is<607.2多分支控制結構x=val(InputBox(“請輸入一個數(shù)”))SelectCasex Case1
語句塊1 Case2,4
語句塊2 Case5To10
語句塊3 CaseIs>10
語句塊4 CaseElse
語句塊5EndSelect7.2多分支控制結構例如:將前例使用selectcase…..語句來實現(xiàn)的程序段如下:SelectCasexCase90to100Print"優(yōu)秀"Case80to89Print"良好"Case70to79Print"中等"Case60to69Print"及格"CaseElsePrint"不及格"EndSelect7.3For循環(huán)控制結構VB中的循環(huán)結構
For-Next循環(huán)
While-Wend循環(huán)
Do-Loop循環(huán)按規(guī)定次數(shù)執(zhí)行循環(huán)體某給定條件滿足時循環(huán)7.3For循環(huán)控制結構格式:
For循環(huán)變量=初值to終值[Step步長]
語句塊
[ExitFor]
語句塊
Next循環(huán)變量循環(huán)體
>0初值<終值;=1時,可省略<0初值>終值=0死循環(huán)步長7.3For循環(huán)控制結構循環(huán)次數(shù)例:ForI=2To13Step3PrintI,NextIPrint“I=“,I
循環(huán)執(zhí)行次數(shù)
輸出I的值分別為:
25811
出了循環(huán)輸出為:
I=147.3For循環(huán)控制結構“循環(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)控制結構例.編程計算:S=1+2+3+…+100DimS,IS=0'累加前變量S為0ForI=1to100S=S+INextIPrint"S=",S7.4當循環(huán)控制結構格式:
While條件
[語句塊] Wend常用于循環(huán)次數(shù)難確定,但控制循環(huán)的條件或循環(huán)結束的條件容易給出的情況。該語句的功能與DoWhile<條件>….Loop實現(xiàn)的循環(huán)完全相同Whileb>0c=c+ab=b-1Wend7.5Do循環(huán)控制結構形式1:(當型循環(huán))
Do{While|Until}<條件>
語句塊
[ExitDo]
語句塊
LoopDoWhile…Loop循環(huán)邏輯框圖DoUntil…Loop循環(huán)邏輯框圖7.5Do循環(huán)控制結構形式2:(直到循環(huán))
Do
語句塊
[ExitDo]
語句塊
Loop{While|Until}<條件>圖7.5Do…LoopWhile循環(huán)邏輯框圖圖7.6Do…LoopUntil循環(huán)邏輯框圖7.5Do循環(huán)控制結構說明:(1)當使用While<條件>構成循環(huán)時,當條件為“真”,則反復執(zhí)行循環(huán)體,當條件為“假”,則退出循環(huán)。(2)當使用Until<條件>構成循環(huán)時,當條件為“假”,則反復執(zhí)行循環(huán)體,直到條件成立,即為“真”時,則退出循環(huán)。(3)在循環(huán)體內(nèi)一般應有一個專門用來改變條件表達式中變量的語句,以使隨著循環(huán)的執(zhí)行,條件趨于不成立(或成立),最后達到退出循環(huán)。(4)語句ExitDo的作用是退出它所在的循環(huán)結構,它只能用在DO/Loop結構中,并且常常是同選擇結構一起出現(xiàn)在循環(huán)結構中,用來實現(xiàn)當滿足某一條件時提前退出循環(huán)。7.5Do循環(huán)控制結構例:用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.6多重循環(huán)如果在一個循環(huán)內(nèi)完整地包含另一個循環(huán)結構,則稱為多重循環(huán),或循環(huán)嵌套,嵌套的層數(shù)可以根據(jù)需要而定,嵌套一層稱為二重循環(huán),嵌套二層稱為三重循環(huán)。上面介紹的幾種循環(huán)控制結構可以相互嵌套,下面是幾種常見的二重嵌套形式: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)例如:打印九九乘法表.
Fori=1To9Forj=1To9se=i&"×"&j&"="&i*jPicture1.PrintTab((j-1)*9);se;NextjPicture1.PrintNextITab(n):用來將插入點定位在絕對列號上,這里,n為列號。7.7GoTo
型控制一、GoTo
語句
形式:
GoTo{標號|行號}
作用是無條件地轉移到標號或行號指定的那行語句.
標號:任何字符組合,以字母開頭,以冒號:結尾。必須放在行的開始位置。行號:任何數(shù)值組合。必須放在行的開始位置。(1)GoTo只能在本過程內(nèi)轉移。(2)一個過程中,標號、行號都必須唯一。(3)建議少用。
7.7GoTo
型控制一、GoTo
語句例:用GoTo語句改寫前面的例題
編程計算:S=1+2+3+…+100DimsAsInteger,iAsIntegers=0'累加前賦初值i=1‘控制變量PP:‘標號s=s+ii=i+1Ifi<=100ThenGoToPPPrint"s=",s7.7GoTo
型控制二、On-GoTo
語句形式:
On數(shù)值表達式GoTo
行號表列|標號表列例如:OnxGoTo30,50,Line3,Line47.7GoTo
型控制二、On-GoTo
錯誤處理語句形式:
OnErrorGoTo
標號
OnErrorResumeNext循環(huán)結構示例在Text1中輸入一個大于1的整數(shù),點擊“計算”按鈕,要求計算出從1到這個整數(shù)之間(包括這個整數(shù))的所有: (1)整數(shù)的累加 (2)整數(shù)的累乘 (3)奇數(shù)的累加 (4)偶數(shù)的累乘………
并將結果顯示在Label1中。綜合練習
設計一個由計算機來當小學低年級學生算術老師的VB應用程序,要求給出一系列的兩個1~10數(shù)的四則運算的算術題,學生輸入該題的答案,計算機根據(jù)學生的答案判斷正確與否,并給出成績。
綜合練習分析:產(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ù)生成器進行初始化。綜合練習載入窗體:
1、隨機生成x,y 2、隨機生成算術式,計算出相應正確結果。
3、顯示算術式點擊確定按鈕:
4、比較用戶輸入和正確結果,顯示結論,并依照結果正誤對“正確”或“錯誤”數(shù)字加1 5、“共答”數(shù)字加1 6、計算“正確率”
7、清空輸入結果的文本框,設置焦點
8、重新調用窗體載入過程
綜合練習實現(xiàn)步驟:以下在form_load()事件中編程1、隨機生成x,yRandomizeX=Int(10*Rnd+1)‘1-10的隨機數(shù)Y=Int(10*Rnd+1)綜合練習實現(xiàn)步驟:以下在form_load()事件中編程2、隨機生成算術式,計算出相應正確結果SelectCaseInt(4*Rnd)+1‘產(chǎn)生1-4的隨機數(shù)
Case1S=Str(X)&“+”&Str(Y)&“=“ ’生成”x+y=“字符串
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度二手摩托車買賣合同包含車輛交易雙方權利義務規(guī)定3篇
- 大同市中考二模數(shù)學試卷
- 初中寶安區(qū)二模數(shù)學試卷
- 2024版商業(yè)聯(lián)營合作合同電子版下載一
- 成人自考理工類數(shù)學試卷
- 四年級數(shù)學(小數(shù)加減運算)計算題專項練習與答案
- 淄博廠區(qū)隔聲屏障施工方案
- 日本假山假石施工方案
- 2025版納米材料檢測委托合同標準范本3篇
- 幫我搜些數(shù)學試卷
- 腫瘤科醫(yī)院感染管理制度
- 產(chǎn)品拆解:飛書多維表格怎么用
- 意識障礙的診斷鑒別診斷及處理
- 客房服務員(四級)考證理論考核試題及答案
- 英語演講知到章節(jié)答案智慧樹2023年哈爾濱工程大學
- 商務禮儀培訓職業(yè)禮儀員工培訓PPT
- 圍手術期手術部位感染預防與控制措施試題及答案
- 本田品質管理基礎課程(課堂PPT)
- 教育科學研究方法(第二版) 單元1 主題6 熟悉本學科著名的辦學機構
- JC∕T 2647-2021 預拌混凝土生產(chǎn)企業(yè)廢水回收利用規(guī)范
- 三星公司供應鏈管理流程綜合分析報告
評論
0/150
提交評論