




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第3 3章章 程序的根本構(gòu)造程序的根本構(gòu)造程序開(kāi)發(fā)的兩步程序開(kāi)發(fā)的兩步程序根本控制構(gòu)造三種程序根本控制構(gòu)造三種3.1 順序構(gòu)造順序構(gòu)造 順序構(gòu)造的程序設(shè)計(jì)是最簡(jiǎn)單的,只需按照處理問(wèn)題的順序?qū)懗鱿鄳?yīng)的語(yǔ)句就行。順序構(gòu)培育是各語(yǔ)句按出現(xiàn)的先后次序執(zhí)行 順序構(gòu)造可以獨(dú)立運(yùn)用構(gòu)成一個(gè)簡(jiǎn)單的完好程序,常見(jiàn)的輸入、計(jì)算,輸出三部曲的程序就是順序構(gòu)造,例如計(jì)算圓的面積。語(yǔ)法格式:變量名語(yǔ)法格式:變量名 = 表達(dá)式表達(dá)式 3.1.1 賦值語(yǔ)句賦值語(yǔ)句功能功能: 計(jì)算賦值號(hào)計(jì)算賦值號(hào)“=右邊表達(dá)式的值,然后右邊表達(dá)式的值,然后賦給賦值號(hào)賦給賦值號(hào)“=左邊的變量。左邊的變量。給變量賦值和設(shè)定屬性是VB編程中常見(jiàn)
2、的兩個(gè)義務(wù)如以下語(yǔ)句, n = n + 1 計(jì)數(shù)累加 Label1.Text 歡迎運(yùn)用VB 本書(shū)目錄本書(shū)目錄 以下語(yǔ)句方式很常用:以下語(yǔ)句方式很常用: dim sum% , x% dim sum% , x% sum=100 : x=5 sum=100 : x=5 sum = sum + x sum = sum + x 執(zhí)行后,執(zhí)行后,sumsum的值為多少?的值為多少? dim n% dim n% n=7 n=7 n = n + 1 n = n + 1 執(zhí)行后,執(zhí)行后,n n的值為多少?的值為多少?本書(shū)目錄本書(shū)目錄3.1.2 用戶交互函數(shù)用戶交互函數(shù) 為了便于運(yùn)用程序與用戶之間進(jìn)展信息交互,完
3、成信息的輸入和輸出,用戶可采用文本框、標(biāo)簽等控件來(lái)實(shí)現(xiàn),也可用VB.NET提供的InputBox、MsgBox來(lái)實(shí)現(xiàn)。 InputBox的功能是等待并提示用戶為程序運(yùn)轉(zhuǎn)輸入指定的數(shù)據(jù),簡(jiǎn)稱“輸入對(duì)話框。 MsgBox的功能是進(jìn)展提示,用以確認(rèn)某種程序的操作,簡(jiǎn)稱“音訊框。 本書(shū)目錄本書(shū)目錄1. InputBox 輸入對(duì)話框函數(shù)輸入對(duì)話框函數(shù) 輸入對(duì)話框普通由標(biāo)題、提示信息、輸入對(duì)話框普通由標(biāo)題、提示信息、“確定確定按鈕、按鈕、“取消按鈕和一個(gè)供用戶輸入的文本框組取消按鈕和一個(gè)供用戶輸入的文本框組成。當(dāng)用戶將輸入信息輸入到文本框,并單擊成。當(dāng)用戶將輸入信息輸入到文本框,并單擊“確確定按鈕后,函數(shù)
4、前往用戶輸入的字符串?dāng)?shù)據(jù)。當(dāng)定按鈕后,函數(shù)前往用戶輸入的字符串?dāng)?shù)據(jù)。當(dāng)單擊單擊“取消按鈕時(shí),前往一個(gè)空字符串。取消按鈕時(shí),前往一個(gè)空字符串。語(yǔ)法格式:語(yǔ)法格式:InputBox(Prompt,Title,Default)本書(shū)目錄本書(shū)目錄例例 創(chuàng)建一個(gè)輸入對(duì)話框。如以下圖所示:創(chuàng)建一個(gè)輸入對(duì)話框。如以下圖所示:Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.E
5、ventArgs) _Handles Me.ClickHandles Me.Click Dim myvalue As Object Dim myvalue As Object myvalue = InputBox( myvalue = InputBox(請(qǐng)輸入數(shù)值,數(shù)值在請(qǐng)輸入數(shù)值,數(shù)值在1313之間!之間!, , 輸入提示輸入提示, 1), 1) End SubEnd Sub本書(shū)目錄本書(shū)目錄2. MsgBox音訊框音訊框 MsgBox函數(shù)用于在屏幕上的音訊框中顯示簡(jiǎn)短音函數(shù)用于在屏幕上的音訊框中顯示簡(jiǎn)短音訊,并等待用戶單擊按鈕,然后前往一個(gè)整數(shù)型的數(shù)值,訊,并等待用戶單擊按鈕,然后前往一個(gè)整
6、數(shù)型的數(shù)值,讓運(yùn)用程序了解用戶單擊的是哪一個(gè)按鈕。讓運(yùn)用程序了解用戶單擊的是哪一個(gè)按鈕。語(yǔ)法格式:語(yǔ)法格式: MsgBox(Prompt,Buttons ,Title)功能:在屏幕上顯示一個(gè)音訊框,根據(jù)選擇確定其后的功能:在屏幕上顯示一個(gè)音訊框,根據(jù)選擇確定其后的操作。操作。本書(shū)目錄本書(shū)目錄 當(dāng)用戶單擊音訊框上的某按鈕時(shí),當(dāng)用戶單擊音訊框上的某按鈕時(shí),MsgBox函數(shù)將前往一個(gè)常量來(lái)確函數(shù)將前往一個(gè)常量來(lái)確認(rèn)該按鈕被按動(dòng)了,下表是按鈕和常量之間的對(duì)應(yīng)關(guān)系。經(jīng)過(guò)對(duì)前往值的認(rèn)該按鈕被按動(dòng)了,下表是按鈕和常量之間的對(duì)應(yīng)關(guān)系。經(jīng)過(guò)對(duì)前往值的判別,就可以確定音訊框中究竟是哪個(gè)按鈕被按動(dòng),從而確定程序下一
7、步判別,就可以確定音訊框中究竟是哪個(gè)按鈕被按動(dòng),從而確定程序下一步的運(yùn)轉(zhuǎn)方式。的運(yùn)轉(zhuǎn)方式。符號(hào)常量符號(hào)常量值值用戶單擊的按鈕用戶單擊的按鈕vbOK1“確定確定”vbCancel2“取消取消”vbAbort3“中止中止”vbRetry4“重試重試”vbIgnore5“忽略忽略”vbYes6“是是”vbNo7“否否”表表 Msgbox函數(shù)的能夠前往值函數(shù)的能夠前往值本書(shū)目錄本書(shū)目錄例例 在在Form1_Click事件過(guò)程中定義一個(gè)音訊框,代碼如下:事件過(guò)程中定義一個(gè)音訊框,代碼如下:Private Sub Form1_Click(ByVal sender As Object, ByVal e As
8、 System.EventArgs) _ Handles Me.Click Dim s As Integer s = MsgBox(用戶名必需包含數(shù)字和字母用戶名必需包含數(shù)字和字母, 5 + 48, 警告警告) If s = vbCancel Then End 假設(shè)用戶單擊假設(shè)用戶單擊取消取消,那么程序退出,那么程序退出End Sub單擊窗體,將彈出音訊框,如圖單擊窗體,將彈出音訊框,如圖3-5所示。所示。3.2 選擇構(gòu)造選擇構(gòu)造對(duì)于要先做判別再選擇的問(wèn)題就要運(yùn)用分支構(gòu)造,如下面例子, 分支構(gòu)造的執(zhí)行是根據(jù)一定的條件選擇執(zhí)行途徑,而不是嚴(yán)厲按照語(yǔ)句出現(xiàn)的物理順序。單分支構(gòu)造單分支構(gòu)造多行方式多
9、行方式 If 表達(dá)式表達(dá)式 Then 語(yǔ)句塊語(yǔ)句塊 End If單行方式單行方式 If If 表達(dá)式表達(dá)式 Then Then 語(yǔ)句塊語(yǔ)句塊表達(dá)式語(yǔ)句塊TF 當(dāng)表達(dá)式的值為當(dāng)表達(dá)式的值為True,執(zhí)行,執(zhí)行Then后面的語(yǔ)句塊,后面的語(yǔ)句塊,否那么不做任何操作。否那么不做任何操作。單分支構(gòu)造單分支構(gòu)造關(guān)系表達(dá)式:關(guān)系表達(dá)式:If x y Then num1=50 : MsgboxIf x y Then num1=50 : Msgbox“他好!他好!If (x+30)If (x+30)* *100 = (y20) then num2=num5100 y) or (num1y) or (num1=
10、num2) Then i=i+1算術(shù)表達(dá)式算術(shù)表達(dá)式If 5+3 Then j=j+2If 5+3 Then j=j+2If num1+num2If num1+num2* *10 Then sum=sum-num310 Then sum=sum-num3例:將保管在變量例:將保管在變量a a和和 b b中的整中的整數(shù)按升序陳列。即數(shù)按升序陳列。即a a的值一定的值一定不大于不大于b b的值的值分析:分析:abab ab時(shí),兩者的時(shí),兩者的值交換值交換 If b a Then If b a Then t = a t = a a = b a = b b = t b = t End If End I
11、f 單分支構(gòu)造舉例單分支構(gòu)造舉例也可改寫(xiě)成行也可改寫(xiě)成行IF語(yǔ)句,如下所示,語(yǔ)句,如下所示,If b a Then t = a : a = b: b = t123雙分支構(gòu)造雙分支構(gòu)造多行方式多行方式 If 表達(dá)式表達(dá)式 Then 語(yǔ)句塊語(yǔ)句塊1 Else 語(yǔ)句塊語(yǔ)句塊2 End If 單行方式單行方式If If 表達(dá)式表達(dá)式 Then Then 語(yǔ)句塊語(yǔ)句塊1 Else 1 Else 語(yǔ)句塊語(yǔ)句塊2 2當(dāng)表達(dá)式的值為當(dāng)表達(dá)式的值為TrueTrue時(shí),執(zhí)行時(shí),執(zhí)行ThenThen后面的語(yǔ)句塊后面的語(yǔ)句塊1 1,否那么執(zhí)行否那么執(zhí)行ElseElse后面的語(yǔ)句塊后面的語(yǔ)句塊2 2表達(dá)式表達(dá)式語(yǔ)句塊語(yǔ)
12、句塊1語(yǔ)句塊語(yǔ)句塊2TFIfThenElse雙分支構(gòu)造舉例雙分支構(gòu)造舉例例例 經(jīng)過(guò)經(jīng)過(guò)InputBox輸入實(shí)數(shù)輸入實(shí)數(shù)x,求以下分段函數(shù),求以下分段函數(shù)f(x)值,最后經(jīng)過(guò)值,最后經(jīng)過(guò)MsgBox輸出輸出f(x),其中:其中:編制事件過(guò)程編制事件過(guò)程Form1_Click如下:如下:Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Me.Click Dim x As Single x = Val(InputBox(輸入實(shí)數(shù)輸入實(shí)數(shù)x, 計(jì)算分段函數(shù)的值計(jì)算分段函數(shù)的值)
13、If x = 4 Then MsgBox(f(x)= + Str(1 - x * x) Else _ MsgBox(f(x)= + Str(x - 4) 0.25) End Sub思索:該處續(xù)行符思索:該處續(xù)行符能否去掉?能否去掉?例例: 計(jì)算當(dāng)計(jì)算當(dāng) 0 x10時(shí),時(shí),y=x,否那么,否那么 y=100 ,正確的語(yǔ)正確的語(yǔ)句是句是_。If 0 x10 then y=x else y=100If 0 x and x10 then y=x else y=100 If 0 x and x10 then y=x else y=100If 0 x or x= A And UCase(ch) = A A
14、nd UCase(ch) = 0 And ch = 0 And ch a Then c = a: a = b: b = c End If If b c Then x = b ElseIf a c Then x = c Else x = a End If Msgbox( x=“ & x) End SubPrivate Sub Form1_Click()Dim a, b, c, d As SingleDim x As Singlea = 100b = 20c = 1000 x=100If語(yǔ)句的嵌套是指語(yǔ)句的嵌套是指If或或Else后面的語(yǔ)句塊中又包含后面的語(yǔ)句塊中又包含If語(yǔ)句語(yǔ)句. If
15、 表達(dá)式表達(dá)式1 Then If 表達(dá)式表達(dá)式2 Then End If End IfIf語(yǔ)句的嵌套語(yǔ)句的嵌套 本章目錄本章目錄Select case語(yǔ)句語(yǔ)句Select Case 變量或表達(dá)變量或表達(dá)式式 Case 表達(dá)式列表表達(dá)式列表1 語(yǔ)句塊語(yǔ)句塊1Case 表達(dá)式列表表達(dá)式列表2 語(yǔ)句塊語(yǔ)句塊2Case Else 語(yǔ)句塊語(yǔ)句塊n+1End Select表達(dá)式列表表達(dá)式列表 i 必需與必需與“變量或表達(dá)式的類型一樣變量或表達(dá)式的類型一樣表達(dá)式列表表達(dá)式列表 i是下面三種方式之一:是下面三種方式之一:1.表達(dá)式表達(dá)式 例例: “A“ 例:例: 52.表達(dá)式表達(dá)式1 To 表達(dá)式表達(dá)式2 例
16、:例:60 To 100 例例:“atoz較小的數(shù)值要出如今較小的數(shù)值要出如今 To 之前之前3. Is 表達(dá)式配合關(guān)系運(yùn)算符表達(dá)式配合關(guān)系運(yùn)算符例:例:Is =304. 以上三種方式的以逗號(hào)分隔的恣以上三種方式的以逗號(hào)分隔的恣意組合枚舉值意組合枚舉值例:例:2,4 to 8,is50,is-7留意:留意:變量的類型或表達(dá)式的結(jié)果必需變量的類型或表達(dá)式的結(jié)果必需為數(shù)值或字符串。為數(shù)值或字符串。對(duì)于多個(gè)變量進(jìn)展條件判別時(shí),對(duì)于多個(gè)變量進(jìn)展條件判別時(shí),不能運(yùn)用不能運(yùn)用select case語(yǔ)句,只能語(yǔ)句,只能運(yùn)用運(yùn)用IF 語(yǔ)句語(yǔ)句將前面的例子改用將前面的例子改用 Select Case Selec
17、t Case 語(yǔ)句實(shí)現(xiàn):語(yǔ)句實(shí)現(xiàn): Select Case ch Select Case ch Case a To z, A To Z Case a To z, A To Z MsgBox (ch + MsgBox (ch + 是字母字符是字母字符) Case 0 To 9 Case 0 To 9 MsgBox (ch & MsgBox (ch & 是數(shù)字字符是數(shù)字字符) Case Else Case Else MsgBox (ch + MsgBox (ch + 是其他字符是其他字符) End Select End SelectSelect語(yǔ)句舉例語(yǔ)句舉例 Dim Number
18、% Number = Val(InputBox(輸入整數(shù)) Select Case Number Case 1 To 5 范圍為1,5 Msgbox( Between 1 and 5“) Case 6, 7, 8 Msgbox (Between 6 and 8“) Case 9, 10 Msgbox (Greater than 8“) Case Else Msgbox (Not between 1 and 10“) End SelectSelect語(yǔ)句舉例語(yǔ)句舉例例:編寫(xiě)程序例:編寫(xiě)程序, ,當(dāng)輸入當(dāng)輸入X X的值后用的值后用Selct CaseSelct Case語(yǔ)句語(yǔ)句 計(jì)算輸出計(jì)算輸出Y
19、 Y的值的值。 Private Sub Button1_Click(ByVal _ sender As System.Object, ByVal e As _ System.EventArgs) Handles _ Button1.Click Dim x, y As Single x = Val(TextBox1.Text) Select Case x Case Is 0 y = x Case Is = 10 y = x * x Case Is yTmax = IIf(x y,x x,y) y) 該語(yǔ)句與如下語(yǔ)句等價(jià)該語(yǔ)句與如下語(yǔ)句等價(jià) :If x y Then Tmax = x Else T
20、max = y If x y Then Tmax = x Else Tmax = y IIF函數(shù)函數(shù)3.3 循環(huán)構(gòu)造循環(huán)構(gòu)造問(wèn)題問(wèn)題1: 求求 1100之間的奇數(shù)之和之間的奇數(shù)之和 即計(jì)算即計(jì)算 1 + 3 + 5 + 7 + 9 + 。 + 97 + 99 變量變量 i : 從從1 到到 100 之間的奇數(shù)之間的奇數(shù) 和:和: 變量變量sum 最初設(shè)置最初設(shè)置sum=0 第一次:第一次:i的初值為的初值為1 sum=sum+i sum=0+1=1 第二次第二次 :i=i+2 執(zhí)行后執(zhí)行后 i=3 sum=sum+i 執(zhí)行后執(zhí)行后 sum=4 第三次第三次 :i=i+2 執(zhí)行后執(zhí)行后 i=5
21、sum=sum+i 執(zhí)行后執(zhí)行后 sum=9 。 直至直至i=終值終值當(dāng)步長(zhǎng)為當(dāng)步長(zhǎng)為1 1時(shí),可省略時(shí),可省略Step Step 步長(zhǎng)步長(zhǎng) 。 0 初值初值終值終值 不執(zhí)行循環(huán)體不執(zhí)行循環(huán)體=終值終值, 那么循環(huán)那么循環(huán) 假設(shè)假設(shè) 初值初值 終值終值經(jīng)過(guò)經(jīng)過(guò)Exit For循環(huán)變量循環(huán)變量= 初值初值循環(huán)變量循環(huán)變量= 終值終值循環(huán)體循環(huán)體循環(huán)變量循環(huán)變量 =循環(huán)變量循環(huán)變量 +步長(zhǎng)步長(zhǎng)TFExit ForFOR循環(huán)的執(zhí)行流程循環(huán)的執(zhí)行流程循環(huán)終止條件:循環(huán)終止條件:循環(huán)變量循環(huán)變量 = 終終值值循環(huán)體循環(huán)體循環(huán)變量循環(huán)變量 =循環(huán)變量循環(huán)變量 +步長(zhǎng)步長(zhǎng)TFExit ForFORFOR語(yǔ)句
22、的循環(huán)次數(shù)如何計(jì)算?語(yǔ)句的循環(huán)次數(shù)如何計(jì)算? For i=1 to 3 step 1For i=1 to 3 step 1 循環(huán)次數(shù):循環(huán)次數(shù): ( (3-1)/1 )+1 ( (3-1)/1 )+1For i=1 to 5 step 2For i=1 to 5 step 2 循環(huán)次數(shù):循環(huán)次數(shù): ( (5-1)/2)+1 ( (5-1)/2)+1For i=1 to 6 step 2For i=1 to 6 step 2 循環(huán)次數(shù):循環(huán)次數(shù): int( (6-1)/2)+1 int( (6-1)/2)+1For i=6 to 1 step -2 (For i=6 to 1 step -2 (
23、留意:步長(zhǎng)為負(fù)數(shù)留意:步長(zhǎng)為負(fù)數(shù)) ) 循環(huán)次數(shù):循環(huán)次數(shù): int( (1-6)/(-2) )+1 int( (1-6)/(-2) )+1 計(jì)算以下循環(huán)語(yǔ)句的次數(shù)計(jì)算以下循環(huán)語(yǔ)句的次數(shù)(1)For i= 5.5 to 3.5 step -0.5Int ( ( 3.5-5.5)/(-0.5)+1 =5(2) For i= 3.5 to 5.5 step -0.5 不執(zhí)行循環(huán)體不執(zhí)行循環(huán)體(3) For i= -3 to 20 step 0步長(zhǎng)為步長(zhǎng)為0,死循環(huán),死循環(huán)循環(huán)體內(nèi)需求有循環(huán)體內(nèi)需求有 exit for 語(yǔ)句才可跳出該循環(huán)語(yǔ)句才可跳出該循環(huán)例例4.8 以下程序結(jié)果是以下程序結(jié)果是 ?
24、 Private Sub Form1_Click(ByVal sender As _ Object, ByVal e As System.EventArgs) _ Handles Me.Click Dim i As Integer, sum As Long Dim t1#, n t1 = 1 : sum = 0 : n = 0 For i = 1 To 3 n = n + 1 t1 = t1 * i sum = sum + t1 Next i MsgBox(sum= & sum & n= & n) End Sub留意:跳出循環(huán)后,循環(huán)控留意:跳出循環(huán)后,循環(huán)控制變量值的
25、問(wèn)題。制變量值的問(wèn)題。例例:程序段:程序段: Dim i As Integer For i = 2 To 13 Step 3 Msgbox( i) Next i Msgbox( i=“ & i)結(jié)果:結(jié)果:sum= 9 n= 3結(jié)果:結(jié)果: i 14 Dim s%, i% Dim s%, i% s = 1 s = 1 For i = 1 To 10 For i = 1 To 10 s = s s = s * * i i If i = 2 Then If i = 2 Then Exit For Exit For End If End If Next i Next i Msgbox(“s=
26、“ & s & “ i=“ & i) Msgbox(“s=“ & s & “ i=“ & i)經(jīng)過(guò)經(jīng)過(guò)Exit For 語(yǔ)句終止循環(huán)后,循環(huán)控制變量語(yǔ)句終止循環(huán)后,循環(huán)控制變量 的值?的值?s=2 i=2FOR循環(huán)舉例循環(huán)舉例例:例: 求求100以內(nèi)能被以內(nèi)能被3和和7整除的一切正整數(shù)之和整除的一切正整數(shù)之和. 要求打印要求打印出符合條件的正整數(shù)以及他們的和。出符合條件的正整數(shù)以及他們的和。 Dim sum%, i% sum = 0 For i = 1 To 100 If (i Mod 3) = 0 And (i Mod 7) = 0 Then
27、sum = sum + i msgbox (i=“ & i) End If Next i msgbox( sum=“ & sum)結(jié)果:結(jié)果:i= 21i= 42i= 63i= 84sum= 210例:判別例:判別x能否是素?cái)?shù)?能否是素?cái)?shù)?注:素?cái)?shù)又稱質(zhì)數(shù)。指僅能被注:素?cái)?shù)又稱質(zhì)數(shù)。指僅能被1和此整數(shù)本身整除的大于或等和此整數(shù)本身整除的大于或等于于2的整數(shù)。判別方法是的整數(shù)。判別方法是: 對(duì)于數(shù)對(duì)于數(shù)x 從從 i=2,3,x-1判別判別x能否被能否被i整除,只需有一個(gè)能整除,只需有一個(gè)能整除,整除,x就不是素?cái)?shù),否那么就不是素?cái)?shù),否那么x是素?cái)?shù)。是素?cái)?shù)。 Dim x , i a
28、s integer, flag as boolean x = Val(InputBox(“輸入一個(gè)大于1,且小于32767的正整數(shù)) flag=true For i = 2 To x - 1 If (x Mod i) = 0 Then Msgbox( x & 不是素?cái)?shù) “& x & mod & i & =0“) flag=false Exit For End If Next i If ? Then Msgbox( x & 是素?cái)?shù)“)flag=true另一種判別方法:另一種判別方法:對(duì)執(zhí)行完循環(huán)體后循環(huán)變對(duì)執(zhí)行完循環(huán)體后循環(huán)變量量i的值進(jìn)展判別的值
29、進(jìn)展判別3.3.2 DoLoop語(yǔ)句語(yǔ)句問(wèn)題:?jiǎn)栴}: 需統(tǒng)計(jì)某班成果需統(tǒng)計(jì)某班成果mark 大于大于80 的學(xué)生人數(shù)的學(xué)生人數(shù)num num初始值設(shè)為初始值設(shè)為0循環(huán)條件:循環(huán)條件:mark80 時(shí),時(shí),num=num+1 但循環(huán)次數(shù)知道么?但循環(huán)次數(shù)知道么?循環(huán)次數(shù)需求根據(jù)條件來(lái)判別循環(huán)次數(shù)未知循環(huán)次數(shù)需求根據(jù)條件來(lái)判別循環(huán)次數(shù)未知運(yùn)用運(yùn)用 DoLoop語(yǔ)句語(yǔ)句3.3.2 DOLoop語(yǔ)句語(yǔ)句DoLoop語(yǔ)句用于循環(huán)次數(shù)未知的循環(huán)構(gòu)造。語(yǔ)句用于循環(huán)次數(shù)未知的循環(huán)構(gòu)造。格式格式1: Do While|Until 條件條件 語(yǔ)句塊語(yǔ)句塊 Exit Do 語(yǔ)句塊語(yǔ)句塊Loop格式格式2: Do 語(yǔ)
30、句塊語(yǔ)句塊 Exit Do 語(yǔ)句塊語(yǔ)句塊Loop While|Until 條件條件 特點(diǎn):特點(diǎn):1.先執(zhí)行后判別,循環(huán)體至少執(zhí)行一次先執(zhí)行后判別,循環(huán)體至少執(zhí)行一次2.循環(huán)次數(shù)循環(huán)次數(shù) 1特點(diǎn):特點(diǎn):1.先判別后執(zhí)行,循環(huán)體能夠一次先判別后執(zhí)行,循環(huán)體能夠一次都不執(zhí)行都不執(zhí)行2.循環(huán)次數(shù)循環(huán)次數(shù) 0。While條件:條件: 條件結(jié)果為條件結(jié)果為True或或 非非0時(shí)執(zhí)行循環(huán)體;為時(shí)執(zhí)行循環(huán)體;為False(或或0)時(shí)終了循環(huán)時(shí)終了循環(huán)Until條件:條件: 條件結(jié)果為條件結(jié)果為True或或 非非0時(shí)終了循環(huán)體;為時(shí)終了循環(huán)體;為False(或或0)時(shí)執(zhí)行循環(huán)時(shí)執(zhí)行循環(huán)Dim i ,x as i
31、ntegeri=4x=5DO while i 0 i=i+1 x=x+2Loop Msgbox( “i=“ & I &“ x=“ & x)循環(huán)體執(zhí)行的次數(shù)?循環(huán)體執(zhí)行的次數(shù)?程序段的執(zhí)行結(jié)果?程序段的執(zhí)行結(jié)果?執(zhí)行次數(shù):執(zhí)行次數(shù):0次次結(jié)果為結(jié)果為: i= 4 x= 5Dim i ,x as integeri=4X=5DO i=i+1 x=x+2Loop while i 0Msgbox( “i=“ & I &“ x=“ & x)執(zhí)行次數(shù):執(zhí)行次數(shù):1次次結(jié)果為結(jié)果為: i= 5 x= 7思索:思索:while位于關(guān)鍵字位于關(guān)鍵字Do后面和位于關(guān)鍵
32、字后面和位于關(guān)鍵字loop后面對(duì)循環(huán)后面對(duì)循環(huán)控制的區(qū)別控制的區(qū)別 ?Dim i%,x%i=6x=9DO while i = 7 i=i+1 x=x+2Loop Msgbox( “i=“& i &“ x=“ & x)循環(huán)體執(zhí)行的次數(shù)?循環(huán)體執(zhí)行的次數(shù)?程序段的執(zhí)行結(jié)果?程序段的執(zhí)行結(jié)果?執(zhí)行次數(shù):執(zhí)行次數(shù):2次次 結(jié)果為結(jié)果為: i= 8 x= 13Dim i%,x%i=6x=9DO i=i+1 x=x+2Loop while i =1次時(shí),次時(shí),while關(guān)關(guān)鍵字可以寫(xiě)在鍵字可以寫(xiě)在Do關(guān)鍵字或者關(guān)鍵字或者Loop關(guān)鍵字關(guān)鍵字 的后面的后面Dim i% , x%i=6
33、x=9DO while i = 6 i=i+1 x=x+2Loop Msgbox( “i=“ & i &“ x=“ & x)循環(huán)體執(zhí)行的次數(shù)?循環(huán)體執(zhí)行的次數(shù)?程序段的執(zhí)行結(jié)果?程序段的執(zhí)行結(jié)果?執(zhí)行次數(shù):執(zhí)行次數(shù):1次次 結(jié)果為結(jié)果為: i= 7 x= 11Dim i% , x%i=6x=9DO i=i+1 x=x+2Loop while i =0 n = n + 1 j = j + n * (n + 1)LoopMsgbox(“n=“ & n & “ j=“ & j)循環(huán)體執(zhí)行的次數(shù)?循環(huán)體執(zhí)行的次數(shù)?程序段的執(zhí)行結(jié)果?程序段的執(zhí)行結(jié)果?執(zhí)行
34、次數(shù):執(zhí)行次數(shù):0次次結(jié)果為結(jié)果為: n=0 j=1Dim j% ,n%j = 1: n = 0Do n = n + 1 j = j + n * (n + 1)Loop Until n =0Msgbox(“n=“ & n & “ j=“ & j)執(zhí)行次數(shù):執(zhí)行次數(shù):1次次結(jié)果為結(jié)果為: n=1 j=3思索:思索:Until位于關(guān)鍵字位于關(guān)鍵字Do后面后面和位于關(guān)鍵字和位于關(guān)鍵字Loop后面對(duì)循環(huán)后面對(duì)循環(huán)控制的區(qū)別控制的區(qū)別 ?Dim i%, x%i=4x=5DO until i 4 i=i+1 x=x+2Loop Msgbox(“i=“ & i & “
35、 x=“ & x)執(zhí)行次數(shù):執(zhí)行次數(shù):1次次結(jié)果為結(jié)果為: i= 5 x= 7Dim i%, x%i=4x=5DO i=i+1 x=x+2Loop until i 4Msgbox( “i=“ & i & “ x=“ & x)執(zhí)行次數(shù):執(zhí)行次數(shù):1次次結(jié)果為結(jié)果為: i= 5 x= 7運(yùn)用運(yùn)用Until 關(guān)鍵字時(shí),循環(huán)次數(shù)關(guān)鍵字時(shí),循環(huán)次數(shù)=1次時(shí),次時(shí),Until關(guān)鍵字可以寫(xiě)在關(guān)鍵字可以寫(xiě)在Do關(guān)鍵字關(guān)鍵字或者或者Loop關(guān)鍵字關(guān)鍵字 的后面的后面Do循環(huán)舉例循環(huán)舉例珠穆朗瑪峰珠穆朗瑪峰高度:高度:8848米米例:將厚度為例:將厚度為0.5毫米的紙張對(duì)折多毫米的
36、紙張對(duì)折多少次后,其總厚度可超越珠穆朗瑪少次后,其總厚度可超越珠穆朗瑪峰的高度?峰的高度?Dim num%, n!n=0.5*10(-3)num=0Do until n 8848 n=2*n num=num+1 LoopMsgbox“折疊次數(shù)為折疊次數(shù)為“ & num能否以毫米做單位?能否以毫米做單位?Dim num% , n!n=0.5Do until n8848*103可以,由于可以,由于n為單精度為單精度類型,不會(huì)溢出類型,不會(huì)溢出Do循環(huán)舉例循環(huán)舉例例:用輾轉(zhuǎn)相除法歐幾里德算法,求例:用輾轉(zhuǎn)相除法歐幾里德算法,求正整數(shù)正整數(shù)m和和n的最大公約數(shù)和最小公倍數(shù)的最大公約數(shù)和最小公倍
37、數(shù)最大公約數(shù)最大公約數(shù) 算法:算法:1. 對(duì)于知兩數(shù),令對(duì)于知兩數(shù),令mn2.令令r為為m / n 所得余數(shù)所得余數(shù) 0 r n 假設(shè)假設(shè) r= 0,算法終了;,算法終了;n 即為即為最大公約數(shù)。最大公約數(shù)。3. 互換:置互換:置 mn,nr,并前往,并前往第第2步步Private Sub Form1_Click(ByVal _ sender As Object, ByVal e As _ System.EventArgs) Handles Me.Click Dim r%, m%, n% m = InputBox(請(qǐng)輸入正整數(shù)m!) n = InputBox(請(qǐng)輸入正整數(shù)n!) r = m M
38、od n Do While (r 0) m = n n = r r = m Mod n Loop MsgBox(最大公約數(shù)= & n) End Sub3.3.3 多重循環(huán)多重循環(huán) 在一個(gè)循環(huán)體內(nèi)又在一個(gè)循環(huán)體內(nèi)又包含了另一個(gè)完好的循包含了另一個(gè)完好的循環(huán)稱為循環(huán)的嵌套。環(huán)稱為循環(huán)的嵌套。 左邊的嵌套循環(huán)也左邊的嵌套循環(huán)也稱為雙重循環(huán)稱為雙重循環(huán)留意:要防止循環(huán)交叉留意:要防止循環(huán)交叉Dim i%, j% Dim i%, j% Dim n%, m%, k%Dim n%, m%, k%m = 0: k = 0m = 0: k = 0For i = 1 To 5For i = 1 To 5
39、k = k + 1 k = k + 1 n = 0 n = 0 For j = 1 To 3 For j = 1 To 3 n = n + 1 n = n + 1 m = m + 1 m = m + 1 Next j Next jNext iNext i1 12 23 34 45 56 67 78 89 910101111 For i=1 To 10 For i=1 To 20 Next i Next i For i =1 To 10 For j=1 To 20 Next j Next i For i =1 To 10 For j=1 To 20 Next i Next j For i =1
40、To 10 Next i For i =1 To 10 Next i對(duì)于循環(huán)的嵌套,要留意以下事項(xiàng):對(duì)于循環(huán)的嵌套,要留意以下事項(xiàng):內(nèi)循環(huán)變量與外循環(huán)變量不能同名;內(nèi)循環(huán)變量與外循環(huán)變量不能同名;外循環(huán)必需完全包含內(nèi)循環(huán),不能交叉;外循環(huán)必需完全包含內(nèi)循環(huán),不能交叉;不能從循環(huán)體外轉(zhuǎn)向循環(huán)體內(nèi),反之那么可以。不能從循環(huán)體外轉(zhuǎn)向循環(huán)體內(nèi),反之那么可以。正確正確錯(cuò)誤錯(cuò)誤錯(cuò)錯(cuò)錯(cuò)錯(cuò)小技巧:小技巧:Next后不寫(xiě)后不寫(xiě)循環(huán)變量名,可防止循環(huán)變量名,可防止循環(huán)交叉。循環(huán)交叉。3.3.3 多重循環(huán)多重循環(huán)Dim i%, j% Dim i%, j% Dim n%, m%, k%Dim n%, m%, k%m
41、= 0: k = 0m = 0: k = 0For i = 1 To 5For i = 1 To 5 k = k + 1 k = k + 1 n = 0 n = 0 For j = 1 To 3 For j = 1 To 3 n = n + 1 n = n + 1 m = m + 1 m = m + 1 Next j Next jNext iNext iMsgbox(i= & i)Msgbox(i= & i)Msgbox(j= & j)Msgbox(j= & j)Msgbox(k= & k)Msgbox(k= & k)Msgbox(n= &
42、; n)Msgbox(n= & n)Msgbox(m= & m)Msgbox(m= & m)1 12 23 34 45 56 67 78 89 910101111121213131414151516161.外循環(huán)外循環(huán)i循環(huán)的循環(huán)體中的語(yǔ)循環(huán)的循環(huán)體中的語(yǔ)句句5共執(zhí)行了多少次?共執(zhí)行了多少次?答案:答案:52.內(nèi)循環(huán)內(nèi)循環(huán)j循環(huán)的循環(huán)體中的語(yǔ)循環(huán)的循環(huán)體中的語(yǔ)句句9共執(zhí)行了多少次?共執(zhí)行了多少次?答案:答案:5*33.雙重循環(huán)終了后,變量雙重循環(huán)終了后,變量 i, j, n, m, k的值分別是多少?的值分別是多少?答案:答案: i= 6 j=4 k= 5 n=3 m=
43、 154.語(yǔ)句語(yǔ)句7執(zhí)行了多少次?執(zhí)行了多少次? 答案:答案: 5次次3.3.3 多重循環(huán)多重循環(huán) 問(wèn)題:當(dāng)時(shí)鐘轉(zhuǎn)了問(wèn)題:當(dāng)時(shí)鐘轉(zhuǎn)了1 1圈時(shí)即圈時(shí)即1212個(gè)小時(shí),秒針在這段時(shí)間個(gè)小時(shí),秒針在這段時(shí)間向前走了多少下?每走一向前走了多少下?每走一下為下為1 1秒秒思索:思索:秒針走滿秒針走滿1 1圈,分針圈,分針+1+1;秒針;秒針又從頭開(kāi)場(chǎng)走又從頭開(kāi)場(chǎng)走分針走滿分針走滿1 1圈,時(shí)針圈,時(shí)針+1+1;分針、秒針從頭開(kāi)場(chǎng)走分針、秒針從頭開(kāi)場(chǎng)走時(shí)針走滿時(shí)針走滿1 1圈,即圈,即1212小時(shí),循小時(shí),循環(huán)終了環(huán)終了Dim i%, j%Dim i%, j%,k% k% i i為時(shí)針,為時(shí)針,j j為
44、分針,為分針,k k為秒針為秒針Dim num%Dim num%num=0num=0For i = 1 To 12For i = 1 To 12 for j=1 to 60 for j=1 to 60 for k=1 to 60 for k=1 to 60 num=num+1 num=num+1 Next k Next k Next j Next jNext iNext iMsgboxMsgbox“num=“ & num“num=“ & num問(wèn)題:循環(huán)終了后,問(wèn)題:循環(huán)終了后,num為多少?為多少?多重循環(huán)的循環(huán)次數(shù)等于每一重多重循環(huán)的循環(huán)次數(shù)等于每一重循環(huán)次數(shù)的乘積循環(huán)次數(shù)
45、的乘積num=43200FOR循環(huán)的嵌套舉例循環(huán)的嵌套舉例例:輸出矩形的九九乘法表例:輸出矩形的九九乘法表分析:分析:For i = 1 To 9For i = 1 To 9 For j = 1 To 9 For j = 1 To 9 ? ? Next Next 輸出顯示輸出顯示NextNextij處理此類問(wèn)題的普通規(guī)律是利用雙重循環(huán):處理此類問(wèn)題的普通規(guī)律是利用雙重循環(huán):外循環(huán)控制行外循環(huán)控制行內(nèi)循環(huán)控制列內(nèi)循環(huán)控制列如此,可寫(xiě)出根本框架:如此,可寫(xiě)出根本框架:九九表可看作是由字符組成的平面圖形。九九表可看作是由字符組成的平面圖形。 Private Sub Form1_Click(ByVal
46、 sender As Object, ByVal e As _ System.EventArgs) Handles Me.Click Dim j As Integer, i As Integer Dim s As String For i = 1 To 9 For j = 1 To 9 s = s & i & x & j & = & String.Format(0,-6, Str(i * j) Next j s = s & vbCrLf vbCrLf用來(lái)控制換行 Next i Label1.Text = s End Sub1. Exit1. Ex
47、it語(yǔ)句語(yǔ)句 在在VB.NetVB.Net中,有多種方式的中,有多種方式的ExitExit語(yǔ)句,用于退出語(yǔ)句,用于退出某種控制構(gòu)造的執(zhí)行。某種控制構(gòu)造的執(zhí)行。 Exit Exit的方式如下:的方式如下:Exit ForExit For、Exit DoExit Do、Exit SubExit Sub、Exit FunctionExit Function等。等。2. End2. End語(yǔ)句語(yǔ)句 獨(dú)立的獨(dú)立的EndEnd語(yǔ)句用于終了一個(gè)程序的運(yùn)轉(zhuǎn),它可語(yǔ)句用于終了一個(gè)程序的運(yùn)轉(zhuǎn),它可以放在任何事件過(guò)程中。以放在任何事件過(guò)程中。 在在VB.NetVB.Net中,還有多種方式的中,還有多種方式的EndEnd語(yǔ)句,用于終了語(yǔ)句,用于終了一個(gè)過(guò)程或塊,在控制語(yǔ)句或過(guò)程中經(jīng)常運(yùn)用。一個(gè)過(guò)程或塊,在控制語(yǔ)句或過(guò)程中經(jīng)常運(yùn)用。EndEnd語(yǔ)語(yǔ)句的多種方式如下:句的多種方式如下:End IfEnd If、End SelectEnd Select、End WithEnd With、End Type End Type 、End End Sub Sub 、End Function End Function 等,它與對(duì)應(yīng)的語(yǔ)句配對(duì)運(yùn)用。等,它與對(duì)應(yīng)的語(yǔ)句配對(duì)運(yùn)用。3.3.4 退出和終了語(yǔ)句退出和終了語(yǔ)句 3.4綜合運(yùn)用綜合運(yùn)用結(jié)果是每項(xiàng)累加之和。假設(shè)累加之和放在變量結(jié)果是每項(xiàng)累加之和。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 全程獨(dú)家代賣合同范本
- 華帝櫥柜合同范例
- 組裝電腦銷售合同范本
- 單位電路維修合同范本
- 鋼結(jié)構(gòu)廠房拆除合同范本
- 吊頂線型燈采購(gòu)合同范例
- 合同范本商務(wù)
- 變更臨時(shí)租賃合同范本
- 交車合同范本
- 倒運(yùn)費(fèi)合同范本
- 藥房品種類別及數(shù)量清單
- 玻璃工藝學(xué)第4章 玻璃的性質(zhì)
- 四川省藥械集中采購(gòu)及醫(yī)藥價(jià)格監(jiān)測(cè)平臺(tái)操作指引
- 機(jī)關(guān)檔案管理工作培訓(xùn)PPT課件
- 大學(xué)生安全教育課件(ppt共41張)
- 初中物理人教版八年級(jí)下冊(cè) 第1節(jié)牛頓第一定律 課件
- 網(wǎng)站培訓(xùn)內(nèi)容trswcm65表單選件用戶手冊(cè)
- 監(jiān)理大綱(范本)
- 空調(diào)系統(tǒng)維保記錄表格模板
- 打印版-圓與二次函數(shù)綜合題精練(帶答案)
- 工程結(jié)算書(shū)標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論