




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、VB程序設(shè)計教程程序設(shè)計教程(第第3版版)Visual BasicVisual Basic程序設(shè)計教程程序設(shè)計教程( (第第3 3版版) )VB程序設(shè)計教程程序設(shè)計教程(第第3版版)2第第4 4章章 VBVB控制結(jié)構(gòu)控制結(jié)構(gòu)4.1 4.1 順序結(jié)構(gòu)順序結(jié)構(gòu)4.2 4.2 選擇結(jié)構(gòu)選擇結(jié)構(gòu)4.3 4.3 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)4.4 4.4 其它輔助控制語句其它輔助控制語句4.5 4.5 綜合應(yīng)用綜合應(yīng)用4.6 4.6 程序調(diào)試程序調(diào)試VB程序設(shè)計教程程序設(shè)計教程(第第3版版)34.1 4.1 順序結(jié)構(gòu)順序結(jié)構(gòu) VB具有結(jié)構(gòu)化程序設(shè)計的具有結(jié)構(gòu)化程序設(shè)計的三種程序控制結(jié)構(gòu):三種程序控制結(jié)構(gòu): 順序結(jié)構(gòu)
2、順序結(jié)構(gòu)、選擇結(jié)構(gòu)選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu),是程序設(shè)計的,是程序設(shè)計的基礎(chǔ)?;A(chǔ)。本章目錄本章目錄(1)順序結(jié)構(gòu))順序結(jié)構(gòu) 各語句按出現(xiàn)的先后次序執(zhí)行各語句按出現(xiàn)的先后次序執(zhí)行bABa用傳統(tǒng)流程用傳統(tǒng)流程圖表示為圖表示為VB程序設(shè)計教程程序設(shè)計教程(第第3版版)VB程序設(shè)計教程程序設(shè)計教程(第第3版版)5(3 3)循環(huán)結(jié)構(gòu))循環(huán)結(jié)構(gòu)I 、當(dāng)型循環(huán)結(jié)構(gòu)、當(dāng)型循環(huán)結(jié)構(gòu) 條件條件?成立成立循環(huán)體循環(huán)體b b不成立不成立a aa a循環(huán)體循環(huán)體b b不成立不成立成立成立條件?條件?II 、直到型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu) 根據(jù)條件重復(fù)執(zhí)行語句根據(jù)條件重復(fù)執(zhí)行語句(稱為循環(huán)體稱為循環(huán)體)VB程序設(shè)計教程程
3、序設(shè)計教程(第第3版版)64.1 4.1 順序結(jié)構(gòu)順序結(jié)構(gòu)u 一般程序設(shè)計語言中順序結(jié)構(gòu)的語句主要一般程序設(shè)計語言中順序結(jié)構(gòu)的語句主要: 賦值語句賦值語句和和 輸入輸入/輸出語句輸出語句等。等。u 在在VB中中 賦值語句賦值語句 輸入輸入/輸出通過輸出通過:l 文本框控件、標(biāo)簽控件、文本框控件、標(biāo)簽控件、l InputBox函數(shù)、函數(shù)、MsgBox函數(shù)和過程函數(shù)和過程l Print方法等來實(shí)現(xiàn)。方法等來實(shí)現(xiàn)。 VB程序設(shè)計教程程序設(shè)計教程(第第3版版)74.1.1 4.1.1 賦值語句賦值語句 形式:形式: 變量名表達(dá)式變量名表達(dá)式 對象名對象名. 屬性名屬性名=表達(dá)式表達(dá)式 功能:計算表達(dá)式
4、的值,再將此值賦給變量或?qū)δ埽河嬎惚磉_(dá)式的值,再將此值賦給變量或?qū)?象屬性。象屬性。給給變量賦值變量賦值和和設(shè)定屬性設(shè)定屬性是是VB編程中常見的兩個編程中常見的兩個任務(wù)。任務(wù)。例如:例如:n n = n + 1n + 1 計數(shù)累加計數(shù)累加 Text1.TextText1.Text 清除文本框的內(nèi)容清除文本框的內(nèi)容Text1.TextText1.Text 歡迎使用歡迎使用VB 文本框顯示字符串文本框顯示字符串 本章目錄本章目錄VB程序設(shè)計教程程序設(shè)計教程(第第3版版)8賦值語句注意點(diǎn)賦值語句注意點(diǎn) “=”符號有兩個意義符號有兩個意義 賦值號賦值號與表示等于的與表示等于的關(guān)系運(yùn)算符關(guān)系運(yùn)算符都用
5、都用“=”表示,表示,系統(tǒng)會根據(jù)所處的位置判斷符號的意義。系統(tǒng)會根據(jù)所處的位置判斷符號的意義。 賦值號左邊賦值號左邊只能是變量只能是變量,不能是常量、常數(shù)符號、,不能是常量、常數(shù)符號、表達(dá)式。下面均為表達(dá)式。下面均為錯誤的錯誤的賦值語句:賦值語句:Now()=x+y Now()=x+y 左邊是表達(dá)式左邊是表達(dá)式(函數(shù)函數(shù))5=sqr(s)+x+y 5=sqr(s)+x+y 左邊是常量左邊是常量X+y=z X+y=z 左邊是表達(dá)式左邊是表達(dá)式本章目錄本章目錄VB程序設(shè)計教程程序設(shè)計教程(第第3版版)9賦值語句的兩個常見形式賦值語句的兩個常見形式(1)累加 sum=sum+x (2)計數(shù) n=n+
6、1VB程序設(shè)計教程程序設(shè)計教程(第第3版版)104.1.2 4.1.2 數(shù)據(jù)的輸入和輸出數(shù)據(jù)的輸入和輸出 1. 標(biāo)簽和文本框標(biāo)簽和文本框 (1)標(biāo)簽標(biāo)簽 利用標(biāo)簽的利用標(biāo)簽的Caption屬性輸出數(shù)據(jù)。屬性輸出數(shù)據(jù)。 (2)文本框文本框 利用文本框的利用文本框的Text屬性獲得用戶輸入的數(shù)據(jù)或?qū)傩垣@得用戶輸入的數(shù)據(jù)或?qū)⒂嬎愕慕Y(jié)果輸出。將計算的結(jié)果輸出。 例如:例如:r=Val(Text1.Text)VB程序設(shè)計教程程序設(shè)計教程(第第3版版)112. 2. 輸入對話框輸入對話框 InputBoxInputBox函數(shù)函數(shù) 其作用是其作用是打開一個對話框打開一個對話框,等待用戶輸入,返回字,等待用戶
7、輸入,返回字符串類型的輸入值。符串類型的輸入值。形式形式:InputBoxInputBox(提示提示,標(biāo)題標(biāo)題,默認(rèn)值默認(rèn)值,x坐標(biāo)坐標(biāo)位置位置,y坐標(biāo)位置坐標(biāo)位置)本章目錄本章目錄 注意注意:提示項(xiàng)提示項(xiàng)不能省略。不能省略。若要多行提示,可在每行若要多行提示,可在每行行末加回車換行行末加回車換行vbCrLfvbCrLf。例例4.14.1利用利用InputBoxInputBox輸入基本工資和營業(yè)額,按輸入基本工資和營業(yè)額,按營業(yè)額的營業(yè)額的5%5%提成,計算實(shí)發(fā)工資并顯示。提成,計算實(shí)發(fā)工資并顯示。 VB程序設(shè)計教程程序設(shè)計教程(第第3版版)12作用作用:打開一個消息框,等待用戶選擇一個按鈕。
8、:打開一個消息框,等待用戶選擇一個按鈕。 MsgBox函數(shù)返回所選函數(shù)返回所選按鈕的值按鈕的值 MsgBox過程不返回值過程不返回值MsgBox函數(shù)形式函數(shù)形式: 變量變量% = MsgBox MsgBox(提示提示,按鈕按鈕,標(biāo)題標(biāo)題)MsgBox過程形式:過程形式: MsgBoxMsgBox 提示提示,按鈕按鈕,標(biāo)題標(biāo)題 按鈕項(xiàng)是一整型表達(dá)式,決定信息框按鈕的數(shù)目和按鈕項(xiàng)是一整型表達(dá)式,決定信息框按鈕的數(shù)目和類型及出現(xiàn)在信息框上的圖標(biāo)形式。類型及出現(xiàn)在信息框上的圖標(biāo)形式。 3. 3. 消息對話框消息對話框MsgBoxMsgBox函數(shù)和過程函數(shù)和過程 VB程序設(shè)計教程程序設(shè)計教程(第第3版版
9、)13MsgBoxMsgBox按鈕設(shè)置按鈕設(shè)置 第第3個按鈕為默認(rèn)個按鈕為默認(rèn)512VBDefaultButton3第第2個按鈕為默認(rèn)個按鈕為默認(rèn) 56VBDefaultButton2第第1個按鈕為默認(rèn)個按鈕為默認(rèn) 0VBDefaultButton1默認(rèn)默認(rèn)按鈕按鈕 信息圖標(biāo)信息圖標(biāo) 64VBInformation警告信息圖標(biāo)警告信息圖標(biāo) 48VBExclamation詢問信息圖標(biāo)詢問信息圖標(biāo) 32VBQuestion關(guān)鍵信息圖標(biāo)關(guān)鍵信息圖標(biāo) 16VBCritical圖標(biāo)圖標(biāo)類型類型 重試、取消按鈕重試、取消按鈕 5VBRetryCancel是、否按鈕是、否按鈕 4VBYesNo是、否、取消按
10、鈕是、否、取消按鈕 3VBYesNoCancel終止、重試、忽略按鈕終止、重試、忽略按鈕 2VBAboutRetryIgnore確定、取消按鈕確定、取消按鈕 1VBOkCancel確定按鈕確定按鈕 0VBOkOnly按鈕按鈕數(shù)目數(shù)目 描描 述述值值內(nèi)內(nèi) 部部 常常 數(shù)數(shù)分組分組 VB程序設(shè)計教程程序設(shè)計教程(第第3版版)14MsgBoxMsgBox所選按鈕返回值所選按鈕返回值 例例4.2 編一賬號和密碼輸入的檢驗(yàn)程序,當(dāng)輸入不正編一賬號和密碼輸入的檢驗(yàn)程序,當(dāng)輸入不正確,如賬號為非數(shù)字字符,密碼不正確等,顯示有關(guān)確,如賬號為非數(shù)字字符,密碼不正確等,顯示有關(guān)信息,再輸入。信息,再輸入。內(nèi)部常數(shù)
11、內(nèi)部常數(shù)返回值返回值被單擊被單擊的按鈕的按鈕vbOkvbOk1 1確定確定vbCancelvbCancel2 2取消取消vbAbortvbAbort3 3終止終止vbRetryvbRetry4 4重試重試vbIgnorevbIgnore5 5忽略忽略vbYesvbYes6 6是是vbNovbNo7 7否否VB程序設(shè)計教程程序設(shè)計教程(第第3版版)154.Print4.Print方法方法作用作用: :在對象上輸出信息。在對象上輸出信息。形式:形式:對象對象. .PrintPrintSpc(Spc(n n)|Tab()|Tab(n n)輸出列表輸出列表 ;|,;|,其中:其中: 對象對象:窗體、圖
12、形框或打印機(jī)。缺省為窗體。:窗體、圖形框或打印機(jī)。缺省為窗體。Spc(n)Spc(n)函數(shù):從當(dāng)前位置起空函數(shù):從當(dāng)前位置起空n n個空格個空格Tab(n)Tab(n)函數(shù):從最左端開始計算的第函數(shù):從最左端開始計算的第n n列列分號分號:定位在上一個:定位在上一個被被顯示的字符顯示的字符之之后后逗號逗號:定位在下一個打印區(qū)開始處:定位在下一個打印區(qū)開始處( (每區(qū)每區(qū)1414列列) )PrintPrint語句尾語句尾無分號無分號或或逗號逗號,輸出后,輸出后換行換行例例4.3 4.3 PrintPrint方法輸出圖形方法輸出圖形 利用利用StringString函數(shù)顯示重復(fù)字符函數(shù)顯示重復(fù)字符
13、 利用循環(huán)結(jié)構(gòu)、利用循環(huán)結(jié)構(gòu)、Spc、Tab函數(shù)函數(shù)顯示有規(guī)律圖形顯示有規(guī)律圖形VB程序設(shè)計教程程序設(shè)計教程(第第3版版)165. Format5. Format格式輸出函數(shù)格式輸出函數(shù) 形式:形式: Format Format (表達(dá)式表達(dá)式, 格式字符串格式字符串)常用數(shù)值格式化符及舉例常用數(shù)值格式化符及舉例 1.23E-010.00E+001234.567用指數(shù)表示E+$1234.57$#.#1234.567在數(shù)字前強(qiáng)加123456.7%#.#%1234.567數(shù)值乘以100,加百分號%1,234.567#,#0.0001234.567千分位,1234.567#.#1234.567位置不
14、足時不填充0#01234.567000000.00001234.567用0填充不足的位置0顯示結(jié)果格式字符串表達(dá)式作 用符號例例4.4 利用利用Format函數(shù)顯示數(shù)值。函數(shù)顯示數(shù)值。 VB程序設(shè)計教程程序設(shè)計教程(第第3版版)174.2 4.2 選擇結(jié)構(gòu)選擇結(jié)構(gòu) u計算機(jī)要處理的問題往往是復(fù)雜多變的,計算機(jī)要處理的問題往往是復(fù)雜多變的,僅采用順序結(jié)構(gòu)是不夠的。僅采用順序結(jié)構(gòu)是不夠的。u必須利用選擇結(jié)構(gòu)等來解決實(shí)際應(yīng)用中的必須利用選擇結(jié)構(gòu)等來解決實(shí)際應(yīng)用中的各種問題。各種問題。uVB中主要通過中主要通過If If條件語句和條件語句和SelectSelect情況語情況語句來實(shí)現(xiàn)。它們都是對條件進(jìn)
15、行判斷,根據(jù)句來實(shí)現(xiàn)。它們都是對條件進(jìn)行判斷,根據(jù)判斷結(jié)果,選擇執(zhí)行不同的分支。判斷結(jié)果,選擇執(zhí)行不同的分支。 本章目錄本章目錄VB程序設(shè)計教程程序設(shè)計教程(第第3版版)184.2.1 If4.2.1 If條件語句條件語句 1. IfThen語句語句(單分支結(jié)構(gòu)單分支結(jié)構(gòu)) If If Then Then 語句塊語句塊(可以是一句或多句語句)(可以是一句或多句語句) End IfEnd If或或 If If Then Then 表達(dá)式:關(guān)系表達(dá)式、邏輯表達(dá)式,算術(shù)表達(dá)式。表達(dá)式:關(guān)系表達(dá)式、邏輯表達(dá)式,算術(shù)表達(dá)式。表達(dá)式值按表達(dá)式值按非零為非零為TrueTrue,零為零為FalseFalse進(jìn)
16、行判斷。進(jìn)行判斷。該語句的該語句的作用作用是當(dāng)表達(dá)式的值為是當(dāng)表達(dá)式的值為TrueTrue,執(zhí)行,執(zhí)行ThenThen后后面的語句塊,否則不做任何操作。面的語句塊,否則不做任何操作。表達(dá)式 語句塊 T F IF演示演示VB程序設(shè)計教程程序設(shè)計教程(第第3版版)19單分支結(jié)構(gòu)單分支結(jié)構(gòu) 例:例:已知兩個數(shù)已知兩個數(shù)x x和和y y,比較它們的大小,使得,比較它們的大小,使得x x大于大于y y。 If xy ThenIf xy Then t=x t=x x=y x=y y=t y=t End If End If 或或 If xy Then t=x: x=y: y=t 簡單簡單IfIf形式無形式無
17、End IfEnd If時,只能是一句語句或語句間用時,只能是一句語句或語句間用冒號分隔,而且必須在一行上書寫。冒號分隔,而且必須在一行上書寫。 t y x VB程序設(shè)計教程程序設(shè)計教程(第第3版版)20雙分支結(jié)構(gòu)雙分支結(jié)構(gòu)2. IfThenElse語句語句If If 表達(dá)式表達(dá)式 ThenThen語句塊語句塊1ElseElse語句塊語句塊2End IfEnd If或或 If If 表達(dá)式表達(dá)式 ThenThen 語句語句1 ElseElse 語句語句2 當(dāng)表達(dá)式的值為當(dāng)表達(dá)式的值為True時,執(zhí)行時,執(zhí)行Then后面的后面的語句塊語句塊1,否則執(zhí)行,否則執(zhí)行Else后面的語句塊后面的語句塊2
18、 表達(dá)式 F 語句塊 1 T 語句塊 2 VB程序設(shè)計教程程序設(shè)計教程(第第3版版)21雙分支結(jié)構(gòu)例雙分支結(jié)構(gòu)例計算分段函數(shù)計算分段函數(shù)yxxxxxxxsincos231030 單分支單分支 y=cos(x)x3+3*x 結(jié)構(gòu)實(shí)現(xiàn)結(jié)構(gòu)實(shí)現(xiàn) If x0 Then y=sin(x)+sqrt (x*x+1) If x0 Then 雙分支雙分支 y=sin(x)+sqr (x*x+1) Else結(jié)構(gòu)實(shí)現(xiàn)結(jié)構(gòu)實(shí)現(xiàn) y=cos(x)x3+3*x End IfVB程序設(shè)計教程程序設(shè)計教程(第第3版版)22多分支結(jié)構(gòu)多分支結(jié)構(gòu) 3. IfThenElseIf 語句語句 If If 表達(dá)式表達(dá)式1 Then
19、Then 語句塊語句塊1 ElseIf ElseIf 表達(dá)式表達(dá)式2 Then Then 語句塊語句塊2 Else 語句塊語句塊 n+1 End IfEnd If 表 達(dá) 式 2 表 達(dá) 式n T F T F 語 句 塊 n+ 1 語 句 塊 2 語 句 塊 1 F T 表 達(dá) 式 1 語 句 塊 n 作用:根據(jù)不同的表達(dá)式值確定執(zhí)行哪個語句塊作用:根據(jù)不同的表達(dá)式值確定執(zhí)行哪個語句塊 VB程序設(shè)計教程程序設(shè)計教程(第第3版版)23例例4.7 4.7 已知變量已知變量chch中存放了一個字符,判斷該字符是中存放了一個字符,判斷該字符是字母字符、數(shù)字字符還是其他字符。字母字符、數(shù)字字符還是其他字
20、符。 If UCase(ch) = A And UCase(ch) = 0 And ch = 9 Then 數(shù)字字符數(shù)字字符 MsgBox(ch + 是數(shù)字字符是數(shù)字字符) Else 除上述字符以外的字符除上述字符以外的字符 MsgBox(ch + 是其他字符是其他字符) End If不管有幾個分支,依次判斷,當(dāng)某條件滿足,執(zhí)行相應(yīng)不管有幾個分支,依次判斷,當(dāng)某條件滿足,執(zhí)行相應(yīng)的語句,其余分支不再執(zhí)行;若條件都不滿足,且有的語句,其余分支不再執(zhí)行;若條件都不滿足,且有ElseElse子句,則執(zhí)行該語句塊,否則什么也不執(zhí)行。子句,則執(zhí)行該語句塊,否則什么也不執(zhí)行。 ElseIfElseIf不能
21、寫成不能寫成 Else IfElse If多分支結(jié)構(gòu)例多分支結(jié)構(gòu)例VB程序設(shè)計教程程序設(shè)計教程(第第3版版)24 指指If或或Else后面的語句塊中又包含后面的語句塊中又包含If語句。語句。If 表達(dá)式表達(dá)式1 Then If 表達(dá)式表達(dá)式2 Then End If End IfIf xy Then t=x: x=y: y=t If yz Then t=y: y=z: z=t If xyz用一個用一個IF語句和一個嵌套語句和一個嵌套的的IF語句實(shí)現(xiàn)語句實(shí)現(xiàn)VB程序設(shè)計教程程序設(shè)計教程(第第3版版)254.2.2 Select Case4.2.2 Select Case語句語句 Select C
22、aseSelect Case 變量或表達(dá)式變量或表達(dá)式 Case 表達(dá)式列表表達(dá)式列表1 1 語句塊語句塊1 Case 表達(dá)式列表表達(dá)式列表2 2 語句塊語句塊2 Case Else 語句塊語句塊n+1End SelectEnd Select表達(dá)式列表表達(dá)式列表與與變量或表達(dá)式變量或表達(dá)式的類型必的類型必須相同,是下面須相同,是下面4 4種形式之一種形式之一 :表達(dá)式表達(dá)式 例例: A一組用逗號分隔的枚舉值一組用逗號分隔的枚舉值 2,4,6,8 表達(dá)式表達(dá)式1 To 表達(dá)式表達(dá)式2 60 To 100Is 關(guān)系運(yùn)算符表達(dá)式關(guān)系運(yùn)算符表達(dá)式 Is 0 And y 0 Then MsgBox(在第
23、一象限在第一象限) ElseIf x 0 Then MsgBox(在第二象限在第二象限)ElseIf x 0 And y 0 And y 0 And y 0 MsgBox(“在第一象限在第一象限”) Case x 0 MsgBox(“在第二象限在第二象限”) Case x 0 And y 0 And y y,x,y) 該語句與如下語句等價該語句與如下語句等價 : If x y Then Tmax = x Else Tmax = y VB程序設(shè)計教程程序設(shè)計教程(第第3版版)294.2.3 4.2.3 條件函數(shù)條件函數(shù) (2) Choose函數(shù)函數(shù) ChooseChoose(整數(shù)表達(dá)式,選項(xiàng)列表
24、整數(shù)表達(dá)式,選項(xiàng)列表)根據(jù)表達(dá)式的值根據(jù)表達(dá)式的值i,i,返回選項(xiàng)列表中第返回選項(xiàng)列表中第i個選項(xiàng)。如個選項(xiàng)。如果整數(shù)表達(dá)式的值越出選項(xiàng)范圍時,返回果整數(shù)表達(dá)式的值越出選項(xiàng)范圍時,返回Null。例例 根據(jù)根據(jù)NopNop的值,得到的值,得到+ +、- -、中的某運(yùn)算符:中的某運(yùn)算符:Op= Choose(Nop,+,- -,) 例例4.10 4.10 根據(jù)當(dāng)前日期,顯示今日是星期幾。根據(jù)當(dāng)前日期,顯示今日是星期幾。t = Choose(Weekday(Now), “星期日星期日”, “星期一星期一”, “星期星期二二”, “星期三星期三”, “星期四星期四”, “星期五星期五”, “星期六星期
25、六”)MsgBox(今天是:今天是: & Now & t) Dim nop As Integer, op As CharRandomize()nop = Int(Rnd() * 4 + 1)op = Choose(nop, +, -, , )MsgBox(nop= & nop & op= & op)VB程序設(shè)計教程程序設(shè)計教程(第第3版版)304.3 4.3 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) u計算機(jī)最擅長的功能之一就是按規(guī)定的條件,計算機(jī)最擅長的功能之一就是按規(guī)定的條件,重復(fù)執(zhí)行某些操作。重復(fù)執(zhí)行某些操作。u例如,按照人口某增長率,對人口增長統(tǒng)計;例如,按照人口某增長
26、率,對人口增長統(tǒng)計;根據(jù)各課程的學(xué)分、績點(diǎn)和學(xué)生的成績,統(tǒng)計根據(jù)各課程的學(xué)分、績點(diǎn)和學(xué)生的成績,統(tǒng)計每個學(xué)生的平均績點(diǎn)等。每個學(xué)生的平均績點(diǎn)等。u這類問題都可通過循環(huán)結(jié)構(gòu)來方便地實(shí)現(xiàn)。這類問題都可通過循環(huán)結(jié)構(gòu)來方便地實(shí)現(xiàn)。VB中提供了中提供了主要兩類循環(huán)語句主要兩類循環(huán)語句:l For循環(huán)語句循環(huán)語句(一般一般已知循環(huán)次數(shù)已知循環(huán)次數(shù)););l Do條件型循環(huán)語句條件型循環(huán)語句(一般一般未知循環(huán)次數(shù)未知循環(huán)次數(shù)).VB程序設(shè)計教程程序設(shè)計教程(第第3版版)314.3.1 For4.3.1 For循環(huán)語句循環(huán)語句 For循環(huán)語句用于控制循環(huán)次數(shù)預(yù)知的循環(huán)結(jié)構(gòu)。循環(huán)語句用于控制循環(huán)次數(shù)預(yù)知的循環(huán)結(jié)
27、構(gòu)。For For 循環(huán)變量循環(huán)變量 初值初值 To To 終值終值 Step 步長步長語句塊語句塊Exit For語句塊語句塊Next Next 循環(huán)變量循環(huán)變量循環(huán)變量必須為數(shù)值型。循環(huán)變量必須為數(shù)值型。循環(huán)次數(shù)循環(huán)次數(shù)) 1(步長初值終值Int 0 初值初值終值終值 =1 時,可省略時,可省略終值終值=0 死循環(huán)死循環(huán)步長步長例例4.11 計算計算1100的奇數(shù)和 Dim i%, sum%For i = 1 To 100 Step 2 sum = sum + iNext iMsgBox(sum)VB程序設(shè)計教程程序設(shè)計教程(第第3版版)32ForFor循環(huán)語句循環(huán)語句 循環(huán)流程:循環(huán)流程
28、:(1) 循環(huán)變量被賦初值,它循環(huán)變量被賦初值,它僅被賦值一次。僅被賦值一次。(2) 判斷循環(huán)變量是否在終判斷循環(huán)變量是否在終值內(nèi),如果是,執(zhí)行循環(huán)體;值內(nèi),如果是,執(zhí)行循環(huán)體;如果否,結(jié)束循環(huán),執(zhí)行如果否,結(jié)束循環(huán),執(zhí)行Next的下一語句。的下一語句。(3) 循環(huán)變量加步長,轉(zhuǎn)循環(huán)變量加步長,轉(zhuǎn)(2),繼續(xù)循環(huán)繼續(xù)循環(huán) T T 循環(huán)變量終值 語句塊 語句塊 循環(huán)變量=循環(huán)變量+步長 F 循環(huán)變量=初值 有 Exit For F Next 的下一語句 VB程序設(shè)計教程程序設(shè)計教程(第第3版版)334.3.2 DoLoop4.3.2 DoLoop循環(huán)語句循環(huán)語句 Do循環(huán)用于控制循環(huán)次數(shù)循環(huán)用于
29、控制循環(huán)次數(shù)未知未知的循環(huán)結(jié)構(gòu)。的循環(huán)結(jié)構(gòu)。形式形式1: Do Do While|UntilWhile|Until 語句塊語句塊 Exit Do 語句塊語句塊LoopLoop形式形式1為為先判斷后執(zhí)行先判斷后執(zhí)行,有可能一次也不執(zhí)行;,有可能一次也不執(zhí)行;形式形式2為為先執(zhí)行后判斷先執(zhí)行后判斷,至少執(zhí)行一次。,至少執(zhí)行一次。 形式形式2:Do 語句塊語句塊 Exit Do 語句塊語句塊Loop While|Until VB程序設(shè)計教程程序設(shè)計教程(第第3版版)34DoLoopDoLoop流程流程 F T 語句塊 語句塊 Do WhileLoop 表達(dá)式列表 1 有 Exit Do F T T
30、F 語句塊 語句塊 表達(dá)式列表 1 Do Loop While 有 Exit Do F T VB程序設(shè)計教程程序設(shè)計教程(第第3版版)35循環(huán)例題循環(huán)例題例例4.13 4.13 我國有我國有1313億人口,按人口年增長億人口,按人口年增長0.8%0.8%計算,多少年后我國人口超過計算,多少年后我國人口超過2626億。億。解此問題兩種方法,可根據(jù)公式:解此問題兩種方法,可根據(jù)公式:)008. 1log()2log(n 0.008)13(126n直接利用標(biāo)準(zhǔn)函數(shù)對數(shù)可求得,但求得的年數(shù)不直接利用標(biāo)準(zhǔn)函數(shù)對數(shù)可求得,但求得的年數(shù)不為整數(shù);也可利用循環(huán)求得為整數(shù);也可利用循環(huán)求得 。VB程序設(shè)計教程程
31、序設(shè)計教程(第第3版版)364.3.3 4.3.3 循環(huán)的嵌套循環(huán)的嵌套 在一個循環(huán)體內(nèi)又包含了一個完整的循環(huán)在一個循環(huán)體內(nèi)又包含了一個完整的循環(huán)結(jié)構(gòu)稱為循環(huán)的嵌套。循環(huán)嵌套對結(jié)構(gòu)稱為循環(huán)的嵌套。循環(huán)嵌套對For循環(huán)語句循環(huán)語句和和DoLoop語句均適用。語句均適用。例例4.14 4.14 打印九九乘法表打印九九乘法表 思考:思考:打印上三角或下三角程序如何改動?打印上三角或下三角程序如何改動?VB程序設(shè)計教程程序設(shè)計教程(第第3版版)374.4 4.4 其他輔助控制語句其他輔助控制語句 4.4.1 Go To 語句語句 無條件地轉(zhuǎn)移到標(biāo)號或行號指定的那行語句。無條件地轉(zhuǎn)移到標(biāo)號或行號指定的那
32、行語句。 Go To Go To 標(biāo)號標(biāo)號| |行號行號 注意注意:標(biāo)號是字符序列,:標(biāo)號是字符序列,首字符必須為字母首字符必須為字母,標(biāo)號后,標(biāo)號后應(yīng)有冒號;行號是一個數(shù)字序列;應(yīng)有冒號;行號是一個數(shù)字序列;例例4.15 4.15 判斷輸入的數(shù)是否為素數(shù)判斷輸入的數(shù)是否為素數(shù)素數(shù)就是除素數(shù)就是除1 1和本身以外,不能被其他任何整數(shù)整除的和本身以外,不能被其他任何整數(shù)整除的數(shù)。根據(jù)此定義,判別某數(shù)數(shù)。根據(jù)此定義,判別某數(shù)m m是否為素數(shù)是否為素數(shù)最簡單的方法最簡單的方法就是依次用就是依次用i=2i=2m m-1-1去除,只要有一個數(shù)能整除去除,只要有一個數(shù)能整除m m,m m就就不是素數(shù);否則
33、不是素數(shù);否則m m是素數(shù)。是素數(shù)。 要求一定范圍內(nèi)的素數(shù),只要將要求一定范圍內(nèi)的素數(shù),只要將m作為外循環(huán)體變量。作為外循環(huán)體變量。 VB程序設(shè)計教程程序設(shè)計教程(第第3版版)384.4.2 4.4.2 退出和結(jié)束語句退出和結(jié)束語句 1.Exit語句語句VB中有多種形式的中有多種形式的Exit語句,用于退出某種控語句,用于退出某種控制結(jié)構(gòu)的執(zhí)行。制結(jié)構(gòu)的執(zhí)行。Exit的形式如下:的形式如下: Exit ForExit For、Exit DoExit Do、 Exit SubExit Sub、Exit FunctionExit Function2.End語句語句獨(dú)立的獨(dú)立的EndEnd語句用于結(jié)
34、束一個程序的運(yùn)行,它語句用于結(jié)束一個程序的運(yùn)行,它可以放在任何事件過程中??梢苑旁谌魏问录^程中。VB程序設(shè)計教程程序設(shè)計教程(第第3版版)394.5 4.5 綜合應(yīng)用綜合應(yīng)用 例例4.16 由計算機(jī)自動產(chǎn)生四則運(yùn)算題,并能判斷答由計算機(jī)自動產(chǎn)生四則運(yùn)算題,并能判斷答案的正確性。案的正確性。設(shè)計思路:設(shè)計思路:(1)為了減少輸入和增加試題內(nèi)容的隨機(jī)性,通過隨為了減少輸入和增加試題內(nèi)容的隨機(jī)性,通過隨機(jī)函數(shù)機(jī)函數(shù)Rnd產(chǎn)生試題的操作數(shù)和運(yùn)算符,操作數(shù)范圍產(chǎn)生試題的操作數(shù)和運(yùn)算符,操作數(shù)范圍是是110,運(yùn)算符運(yùn)算符+、-、可對應(yīng)編號可對應(yīng)編號14,產(chǎn)生,產(chǎn)生表達(dá)式通過表達(dá)式通過Form_Load事
35、件過程。事件過程。(2)當(dāng)產(chǎn)生表達(dá)式后,學(xué)生在文本框內(nèi)輸入結(jié)果后按當(dāng)產(chǎn)生表達(dá)式后,學(xué)生在文本框內(nèi)輸入結(jié)果后按回車鍵,在回車鍵,在圖形框圖形框顯示正確與否的判斷結(jié)果。顯示正確與否的判斷結(jié)果。(3)當(dāng)單擊當(dāng)單擊“計分計分”按鈕時按鈕時,計算機(jī)顯示得分結(jié)果。計算機(jī)顯示得分結(jié)果。 本題主要將隨機(jī)函數(shù)、本題主要將隨機(jī)函數(shù)、If語句、語句、Select語句綜合語句綜合在一起使用。在一起使用。本章目錄本章目錄VB程序設(shè)計教程程序設(shè)計教程(第第3版版)404.5 4.5 綜合應(yīng)用綜合應(yīng)用-級數(shù)求和級數(shù)求和例例4.184.18求自然對數(shù)求自然對數(shù)e e的近似值,其誤差小于的近似值,其誤差小于0.000010.0
36、0001。近似公式近似公式 分析:本例涉及到程序設(shè)計中兩個重要運(yùn)算:分析:本例涉及到程序設(shè)計中兩個重要運(yùn)算: 累加累加 、連乘、連乘i!。累加:累加:在原有和的基礎(chǔ)上再加一個數(shù);在原有和的基礎(chǔ)上再加一個數(shù);連乘:連乘:在原有積的基礎(chǔ)上再乘以一個數(shù)。在原有積的基礎(chǔ)上再乘以一個數(shù)。該題先求該題先求i!,再將,再將1/i!進(jìn)行累加,循環(huán)次數(shù)未知,進(jìn)行累加,循環(huán)次數(shù)未知,可先設(shè)置一個次數(shù)很大的值,然后在循環(huán)體內(nèi)判可先設(shè)置一個次數(shù)很大的值,然后在循環(huán)體內(nèi)判斷是否到達(dá)精度,也可用斷是否到達(dá)精度,也可用Do While來實(shí)現(xiàn)。來實(shí)現(xiàn)。 VB程序設(shè)計教程程序設(shè)計教程(第第3版版)414.6 4.6 程序調(diào)試程
37、序調(diào)試 u隨著程序的復(fù)雜性提高,程序中的錯誤也隨著程序的復(fù)雜性提高,程序中的錯誤也伴隨而來。伴隨而來。u對初學(xué)者,看到出現(xiàn)錯誤不要害怕,關(guān)鍵對初學(xué)者,看到出現(xiàn)錯誤不要害怕,關(guān)鍵是如何改正錯誤,失敗是成功之母。是如何改正錯誤,失敗是成功之母。u上機(jī)的目的,不光是為了驗(yàn)證你編寫的程上機(jī)的目的,不光是為了驗(yàn)證你編寫的程序的正確性,還要通過上機(jī)調(diào)試,學(xué)會查找序的正確性,還要通過上機(jī)調(diào)試,學(xué)會查找和糾正錯誤的方法和能力。和糾正錯誤的方法和能力。uVB為調(diào)試程序提供了一組交互的、有效的為調(diào)試程序提供了一組交互的、有效的調(diào)試工具。調(diào)試工具。 VB程序設(shè)計教程程序設(shè)計教程(第第3版版)424.6.1 4.6.1 錯誤類型錯誤類型語法錯誤、運(yùn)行時錯誤和邏輯錯誤三類。語法錯誤、運(yùn)行時錯誤和邏輯錯誤三類。1 1、語法錯誤、語法錯誤錯誤的代碼顯示為紅色,錯誤的代碼顯示為紅色,窗口上顯示出錯的原因。窗口上顯示出錯的原因。 VB程序設(shè)計教程程序設(shè)計教程(第第3版版)432 2
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年電氣工程師職業(yè)資格考試試題及答案匯編
- 2025年高級護(hù)理執(zhí)業(yè)考試試題及答案解析
- 2025年財務(wù)管理師考試試卷及答案回顧
- 2025年產(chǎn)品設(shè)計與開發(fā)考試試卷及答案
- 2025年?duì)I養(yǎng)治療師資格考試試題及答案
- 線上外語口語培訓(xùn)平臺合作協(xié)議
- 人工智能工業(yè)機(jī)器人編程項(xiàng)目培訓(xùn)協(xié)議
- 數(shù)字短視頻版權(quán)保護(hù)及糾紛解決服務(wù)協(xié)議
- 外籍翻譯在跨國金融業(yè)務(wù)中的應(yīng)用協(xié)議
- 《歷史人物傳記系列》課件
- 劍橋KET詞匯表(中英對照)
- 2024年山西省太原市中考二模地理試卷
- AQ∕T 7009-2013 機(jī)械制造企業(yè)安全生產(chǎn)標(biāo)準(zhǔn)化規(guī)范
- 公墓經(jīng)營管理方案
- 基于原文與課文比較的語文學(xué)習(xí)情境創(chuàng)設(shè)研究-以《火燒云》為例
- 2024年高考語文復(fù)習(xí):散文化小說閱讀 專項(xiàng)練習(xí)題(含答案解析)
- 間質(zhì)性肺病治療方案
- 2型糖尿病科普講座課件
- 民法典解讀–總則編1
- 建設(shè)工程前期手續(xù)辦理程序
- 干部履歷表(中共中央組織部2015年制)
評論
0/150
提交評論