VB程序循環(huán)結(jié)構(gòu)、列表框和組合框ppt課件_第1頁
VB程序循環(huán)結(jié)構(gòu)、列表框和組合框ppt課件_第2頁
VB程序循環(huán)結(jié)構(gòu)、列表框和組合框ppt課件_第3頁
VB程序循環(huán)結(jié)構(gòu)、列表框和組合框ppt課件_第4頁
VB程序循環(huán)結(jié)構(gòu)、列表框和組合框ppt課件_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1第五章第五章 循環(huán)構(gòu)造、列表循環(huán)構(gòu)造、列表框和組合框框和組合框5.1 循環(huán)語句循環(huán)語句 5.2 循環(huán)嵌套循環(huán)嵌套 5.3 列表框和組合框列表框和組合框25.1 循環(huán)語句循環(huán)語句5.1.1 ForNext構(gòu)造構(gòu)造For 循環(huán)變量循環(huán)變量=初值初值 To 終值終值 Step 步長步長 Exit ForNext 循環(huán)變量循環(huán)變量31計算初值、終值及步長表達式的值,并將初值計算初值、終值及步長表達式的值,并將初值賦給循環(huán)變量;賦給循環(huán)變量;2判別循環(huán)變量的值能否判別循環(huán)變量的值能否“超越終值:超越終值:當步長為正時,當步長為正時,“超越是指循環(huán)變量的值超越是指循環(huán)變量的值終值;終值;當步長為負時,當

2、步長為負時,“超越是指循環(huán)變量的值超越是指循環(huán)變量的值終值;終值;假設(shè)假設(shè)“超越時,退出循環(huán),轉(zhuǎn)到超越時,退出循環(huán),轉(zhuǎn)到Next語句的下一語語句的下一語句;句;3執(zhí)行循環(huán)體中的語句;執(zhí)行循環(huán)體中的語句;4執(zhí)行執(zhí)行Next語句,循環(huán)變量添加一個步長;語句,循環(huán)變量添加一個步長;5前往第前往第2步。步。4循環(huán)變量 終值 ?循環(huán)變量 =初值執(zhí)行循環(huán)體Y循環(huán)變量 =循環(huán)變量 +步長N步長為負步長為負循環(huán)變量 終值 ?循環(huán)變量=初值執(zhí)行循環(huán)體Y循環(huán)變量=循環(huán)變量+步長N步長為正步長為正構(gòu)造流程圖構(gòu)造流程圖51“循環(huán)變量循環(huán)變量 必需為數(shù)值型;必需為數(shù)值型;2“初值、初值、“終值為數(shù)值表達式,假設(shè)值不是整

3、終值為數(shù)值表達式,假設(shè)值不是整數(shù),系統(tǒng)會自動取整;數(shù),系統(tǒng)會自動取整;3“步長為數(shù)值表達式,可為正數(shù),也可為負數(shù),步長為數(shù)值表達式,可為正數(shù),也可為負數(shù),假設(shè)值不是整數(shù),系統(tǒng)會自動取整;分步長大于假設(shè)值不是整數(shù),系統(tǒng)會自動取整;分步長大于0、步、步長小于長小于0、步長等于、步長等于0這幾種情況。步長等于這幾種情況。步長等于1時,可省時,可省略略Step子句;子句;例如:例如: For i10 To 1 Step 1 Print i Next i64循環(huán)次數(shù)的計算公式:循環(huán)次數(shù)的計算公式: 循環(huán)次數(shù)循環(huán)次數(shù)Int(終值終值-初值初值)步長步長+1), 假設(shè)所得為負數(shù),那么取循環(huán)次數(shù)假設(shè)所得為負數(shù)

4、,那么取循環(huán)次數(shù)0。5循環(huán)必需遵照循環(huán)必需遵照“先檢查、后執(zhí)行的原那么。先檢查、后執(zhí)行的原那么。6Exit For語句。該語句允許在循環(huán)體內(nèi)出現(xiàn)一次或語句。該語句允許在循環(huán)體內(nèi)出現(xiàn)一次或多次。多次。7Next后面的循環(huán)變量與后面的循環(huán)變量與For語句中的循環(huán)變量必需語句中的循環(huán)變量必需一樣,且兩者必需成對出現(xiàn)。一樣,且兩者必需成對出現(xiàn)。8在在For循環(huán)體中改動循環(huán)控制變量的值,將會影響循環(huán)體中改動循環(huán)控制變量的值,將會影響循環(huán)次數(shù)。循環(huán)次數(shù)。 例如:例如: Dim s As Integer,i As Integer For i1 To 10 s=s+i ii+1 Next i執(zhí)行幾次?執(zhí)行幾次

5、?5 5次次71、單擊窗體時,在窗體上打印輸出、單擊窗體時,在窗體上打印輸出5個個“_符號。符號。8程序代碼如下:程序代碼如下: Private Sub Form_Click() For i = 1 To 5 Print _ 循環(huán)體循環(huán)體 Next i End Sub 92、經(jīng)過循環(huán)變量的變化在窗體上輸出彩色字,、經(jīng)過循環(huán)變量的變化在窗體上輸出彩色字,程序運轉(zhuǎn)界面如下圖。程序運轉(zhuǎn)界面如下圖。10i 2000?i = 1green = Int (255 * Rnd + 1 )blue = Int ( 255 * Rnd + 1 )CurrentX = 500 + iCurrentY = 500

6、+ iForeColor = RGB(i, green, blue) Print 歡迎來到VB世界Yi= i+ 200N11Private Sub Form_Click() Dim i As Integer, green As Integer, blue As Integer Randomize Timer For i = 1 To 2000 Step 200 green = Int(255 * Rnd + 1) blue = Int(255 * Rnd + 1) CurrentX = 500 + i CurrentY = 500 + i ForeColor = RGB(i, green, b

7、lue) Print 歡迎來到歡迎來到VB世界世界 Next iEnd Sub12編寫程序找出編寫程序找出100999之間的一切之間的一切“水仙花數(shù)水仙花數(shù)。所謂。所謂“水仙花數(shù)是指一個三位數(shù),其各水仙花數(shù)是指一個三位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。位數(shù)字的立方和等于該數(shù)本身。13Private Sub Form_Click() Dim x As Integer Dim y As Integer Dim z As Integer For i = 100 To 999 x = i 100 y = (i - x * 100) 10 z = i - x * 100 - y * 10 If x 3

8、 + y 3 + z 3 = i Then Text1.Text = Text1.Text & & CStr(i) End If Next iEnd Sub145.1.2 DoLoop構(gòu)造構(gòu)造1、DoLoop語句語句2、Do WhileLoop語句語句3、DoLoop While語句語句4、Do UntilLoop語句語句5、DoLoop Until語句語句151、DoLoop語句語句Do Exit DoLoop 其中,其中,Exit Do語句是可選語句,它提供一種語句是可選語句,它提供一種退出退出Do循環(huán)的方法,并且只能在循環(huán)的方法,并且只能在Do循環(huán)中運用,循環(huán)中運用,可以

9、在循環(huán)體任何位置放置恣意多個可以在循環(huán)體任何位置放置恣意多個Exit Do語句。語句。根據(jù)所在位置,確定要退出的循環(huán)。根據(jù)所在位置,確定要退出的循環(huán)。要有退出循環(huán)要有退出循環(huán)的語句的語句16Dim n As Integer n0 Do n=n+1 If n10 Then Exit Do End If Loop程序運轉(zhuǎn)時,循環(huán)體語句程序運轉(zhuǎn)時,循環(huán)體語句nn+1被反復執(zhí)行被反復執(zhí)行10次次后,因執(zhí)行語句后,因執(zhí)行語句If n10 Then Exit Do End If時,滿足條件時,滿足條件n10,退出循環(huán)。,退出循環(huán)。 172、Do WhileLoop語句語句18條件為真?執(zhí)行循環(huán)體YN首先判

10、別條件表達式的首先判別條件表達式的值能否為值能否為True。假設(shè)為。假設(shè)為True,那么執(zhí)行循環(huán)體,那么執(zhí)行循環(huán)體中的語句,當執(zhí)行到中的語句,當執(zhí)行到Loop語句時,前往到語句時,前往到Do While語句,繼續(xù)判別條語句,繼續(xù)判別條件表達式的值能否為件表達式的值能否為True ;假設(shè)為;假設(shè)為False,那么退出循環(huán),執(zhí)行那么退出循環(huán),執(zhí)行Loop后面的語句。如此后面的語句。如此反復執(zhí)行,直到條件表反復執(zhí)行,直到條件表達式的值為達式的值為False才退出才退出循環(huán)。循環(huán)。必需存在改必需存在改動條件表達動條件表達式的語句式的語句19 Do、Loop、While都是關(guān)鍵字,都是關(guān)鍵字,Do Wh

11、ile和和Loop應(yīng)成對出現(xiàn);應(yīng)成對出現(xiàn); 條件表達式為關(guān)系或邏輯型,假設(shè)為數(shù)值型,條件表達式為關(guān)系或邏輯型,假設(shè)為數(shù)值型,以以0表示表示False,非,非0表示表示True; Do WhileLoop語句是先判別條件后執(zhí)行循環(huán)語句是先判別條件后執(zhí)行循環(huán)體,有能夠一次也不執(zhí)行;體,有能夠一次也不執(zhí)行; 遇到遇到Exit Do語句時,將強迫提早終了循環(huán),語句時,將強迫提早終了循環(huán),執(zhí)行執(zhí)行Loop后的下一條語句,該語句允許在循環(huán)體后的下一條語句,該語句允許在循環(huán)體內(nèi)出現(xiàn)一次或多次。內(nèi)出現(xiàn)一次或多次。203、Do Loop While語句語句21首先執(zhí)行一次循環(huán)體首先執(zhí)行一次循環(huán)體內(nèi)的語句,執(zhí)行到

12、內(nèi)的語句,執(zhí)行到Loop while語句時,判語句時,判別條件表達式的值能別條件表達式的值能否為否為True。假設(shè)為。假設(shè)為True,那么前往到循,那么前往到循環(huán)體的開場語句,再環(huán)體的開場語句,再次執(zhí)行循環(huán)體,這樣次執(zhí)行循環(huán)體,這樣不斷到條件表達式的不斷到條件表達式的值為值為False時才退出循時才退出循環(huán)。環(huán)。執(zhí)行循環(huán)體條件為真?NY必需存在改必需存在改動條件表達動條件表達式的語句式的語句22區(qū)別:區(qū)別:Do While.Loop循環(huán)先測試條件能否循環(huán)先測試條件能否成立;成立;Do.Loop While循環(huán)先執(zhí)行一次循環(huán)循環(huán)先執(zhí)行一次循環(huán)體。體。 條件為真?執(zhí)行循環(huán)體YN執(zhí)行循環(huán)體條件為真?

13、NY23例如:例如:程序段程序段1: Dim n As Integer n=1 Do While n1 n=n+1 Loop Print n程序段程序段2:Dim n As Integer n=1 Do n=n+1 Loop While n1 Print n輸出結(jié)果為:輸出結(jié)果為:1 輸出結(jié)果為:輸出結(jié)果為:2244、Do UntilLoop語句語句25首先判別條件表達式的首先判別條件表達式的值能否為值能否為False。假設(shè)。假設(shè)是是False,那么執(zhí)行循,那么執(zhí)行循環(huán)體,當執(zhí)行到環(huán)體,當執(zhí)行到Loop語語句時,前往到句時,前往到Do Until語句,繼續(xù)判別條件表語句,繼續(xù)判別條件表達式的值

14、能否為達式的值能否為False;假設(shè)是假設(shè)是True,那么退出,那么退出循環(huán),執(zhí)行循環(huán),執(zhí)行Loop后面的后面的語句。如此反復執(zhí)行,語句。如此反復執(zhí)行,直到條件表達式的值為直到條件表達式的值為True才退出循環(huán)。才退出循環(huán)。條件為真?執(zhí)行循環(huán)體NY26例如:求例如:求s=1+2+3+100的值。的值。 方法方法1:用:用Do WhileLoop語句實現(xiàn)的:語句實現(xiàn)的: Dim n As Integer ,s As Integer n=1 s=0Do While n100 s=s+n n=n+1LoopPrint sn=100 s=s+n n=n+1 Loop Print sn100285、Do

15、 Loop Until語句語句29首先執(zhí)行一次循環(huán)體內(nèi)首先執(zhí)行一次循環(huán)體內(nèi)的語句,執(zhí)行到的語句,執(zhí)行到Loop Until 語句時,判別條語句時,判別條件表達式的值能否為件表達式的值能否為False。假設(shè)為。假設(shè)為False,那么前往到循環(huán)體的開那么前往到循環(huán)體的開場語句,再次執(zhí)行循環(huán)場語句,再次執(zhí)行循環(huán)體,這樣不斷到條件表體,這樣不斷到條件表達式的值為達式的值為True時才退時才退出循環(huán)。出循環(huán)。執(zhí)行循環(huán)體條件為真?YN30例【例【5-6】:編寫程序在標簽中顯示】:編寫程序在標簽中顯示1100之之間既能被間既能被3整除又能被整除又能被7整除的整數(shù),并計算它整除的整數(shù),并計算它們的和。要求用們

16、的和。要求用DoLoop While和和DoLoop Until兩種語句分別編寫循環(huán)體部分。兩種語句分別編寫循環(huán)體部分。 31編程思緒:程序的循環(huán)次數(shù)是確定的,即從編程思緒:程序的循環(huán)次數(shù)是確定的,即從1到到100。對于用對于用DoLoop While語句編寫循環(huán)體部分,語句編寫循環(huán)體部分,While后的條件表達式是滿足條件執(zhí)行循環(huán),所以條件表達后的條件表達式是滿足條件執(zhí)行循環(huán),所以條件表達式是式是“n 100。 32Private Sub ComputeCmd _Click() Dim n As Integer, s As Integer Dim t As String n = 1:s =

17、0:t = Do If n Mod 3 = 0 And n Mod 7 = 0 Then t = t & Str(n) t = t & , s = s + n End If n = n + 1 Loop While n 100 NumLabel.Caption = t SumLabel.Caption = sEnd Sub34按以下公式計算:按以下公式計算:e=1+1/1!+1/2!+1/3!+1/n!+使使1/n!小于!小于0.000001Private Sub Form_Click() Dim e As Double Dim i As Integer Dim fact As

18、 Double Dim result As Long e = 0: i = 1: fact = 1: result = 1 Do fact = 1 / result e = e + fact result = result * i i = i + 1 Loop While fact 0.000001 Label1.Caption = Val(e)End Sub35S=1*(1+2)*(1+2+3)*(1+2+3+n)編程求編程求S不大于不大于20000時最大的時最大的n值值 36Private Sub Form_Click() Dim sum As Long Dim s As Long Dim

19、 n As Integer sum = 0: s = 1: n = 0 Do n = n + 1 sum = sum + n s = s * sum Loop Until s 20000 Label3.Caption = Val(n - 1)End Sub37定義:在一個循環(huán)體中含有另一個循環(huán)構(gòu)造,這就定義:在一個循環(huán)體中含有另一個循環(huán)構(gòu)造,這就構(gòu)成了循環(huán)的嵌套。以上幾節(jié)引見的循環(huán)語句都可構(gòu)成了循環(huán)的嵌套。以上幾節(jié)引見的循環(huán)語句都可以實現(xiàn)循環(huán)嵌套。兩層的循環(huán)嵌套,稱為二重循環(huán),以實現(xiàn)循環(huán)嵌套。兩層的循環(huán)嵌套,稱為二重循環(huán),三層以上的循環(huán)嵌套,稱為多重循環(huán)。三層以上的循環(huán)嵌套,稱為多重循環(huán)。5.

20、2 循環(huán)嵌套循環(huán)嵌套38 (1) 對于對于ForNext的循環(huán)嵌套,在每層循環(huán)中的的循環(huán)嵌套,在每層循環(huán)中的控制變量要運用不同的變量名??刂谱兞恳\用不同的變量名。 (2) 內(nèi)循環(huán)構(gòu)造語句必需完好地嵌在外循環(huán)體中,內(nèi)循環(huán)構(gòu)造語句必需完好地嵌在外循環(huán)體中,不可交叉。不可交叉。DoLoop或或ForNext語句需成對運用,語句需成對運用,Visual Basic會給每個循環(huán)構(gòu)造終了語句會給每個循環(huán)構(gòu)造終了語句(Loop或或Next)匹配最近的循環(huán)構(gòu)造開場語句匹配最近的循環(huán)構(gòu)造開場語句(Do或或For)。 (3) 多重循環(huán)執(zhí)行時,外循環(huán)每反復執(zhí)行一次,內(nèi)多重循環(huán)執(zhí)行時,外循環(huán)每反復執(zhí)行一次,內(nèi)循環(huán)那

21、么要完好地執(zhí)行其應(yīng)反復的次數(shù)。循環(huán)那么要完好地執(zhí)行其應(yīng)反復的次數(shù)。39例【例【5-8】:打印如圖】:打印如圖5-15所示的上三角的所示的上三角的九九乘法表。九九乘法表。 40程序代碼如下:程序代碼如下:Private Sub Form_Click() Dim s As String Print Tab(45); 九九乘法表九九乘法表 Print Tab(45); = For i = 1 To 9 For j = 1 To i s = i & * & j & = & i * j Print s; Spc(5); Next j Print Next iEnd Sub

22、41在窗體上打印星號在窗體上打印星號“*矩形矩形42Private Sub Command1_Click() Dim n As Integer n = Val(Text1.Text) For i = 1 To n For j = 1 To n Print *; Next j Print Next iEnd Sub435.3 列表框與組合框列表框與組合框1.常用屬性常用屬性(1) Columns屬性:用于設(shè)置列表項陳列的列數(shù)。屬性:用于設(shè)置列表項陳列的列數(shù)。 取值為取值為0,按單列顯示,垂直滾動條;取值為,按單列顯示,垂直滾動條;取值為1,按單列顯示,程度滾動條;取值大于按單列顯示,程度滾動條;

23、取值大于1,多列顯示。,多列顯示。(2) List屬性:是一個字符型數(shù)組,用于存放列表框?qū)傩裕菏且粋€字符型數(shù)組,用于存放列表框的選項內(nèi)容,其元素與列表的選項相對應(yīng),下標從的選項內(nèi)容,其元素與列表的選項相對應(yīng),下標從0開場。開場。(3) ListCount屬性:列表框中條目的個數(shù),屬性:列表框中條目的個數(shù),ListCount-1表示最后一項的序號。只能在程序中援表示最后一項的序號。只能在程序中援用。用。5.3.1 列表框列表框44(4) ListIndex屬性:表示運轉(zhuǎn)時被選定的選項的序?qū)傩裕罕硎具\轉(zhuǎn)時被選定的選項的序號下標。只能在程序中援用。號下標。只能在程序中援用。(5) Selected屬

24、性:一個邏輯型數(shù)組,表示運轉(zhuǎn)時對屬性:一個邏輯型數(shù)組,表示運轉(zhuǎn)時對應(yīng)選項被選中或未被選中。只能在程序中援用。應(yīng)選項被選中或未被選中。只能在程序中援用。(6) Sorted屬性:列表框中的條目能否按字母順序?qū)傩裕毫斜砜蛑械臈l目能否按字母順序陳列顯示。只能在屬性窗口設(shè)置。陳列顯示。只能在屬性窗口設(shè)置。(7) Text屬性:前往當前被選中工程的文本內(nèi)容。屬性:前往當前被選中工程的文本內(nèi)容。只能在程序中援用。只能在程序中援用。(8) MultiSelect屬性:設(shè)置能否多項選項以及如何屬性:設(shè)置能否多項選項以及如何進展選擇。只能在屬性窗口設(shè)置。進展選擇。只能在屬性窗口設(shè)置。(9) Style屬性:設(shè)置

25、控件外觀。屬性:設(shè)置控件外觀。452.常用方法常用方法(1) AddItem方法方法格式:列表框名格式:列表框名AddItem ,下標,下標闡明:用于在列表框指定位置上添加一個新工程。闡明:用于在列表框指定位置上添加一個新工程。假設(shè)下標省略,那么把假設(shè)下標省略,那么把文本添加到列表框文本添加到列表框的尾部,下標范圍從的尾部,下標范圍從0到到ListCount-1。(2) Clear方法方法格式:列表框名格式:列表框名Clear闡明:用于去除列表框中的全部內(nèi)容。執(zhí)行該方法闡明:用于去除列表框中的全部內(nèi)容。執(zhí)行該方法后,后,ListCount重新被設(shè)置為重新被設(shè)置為0。463.事件事件 列表框可以呼應(yīng)列表框可以呼應(yīng)Click事件和事件和DblClick事件。假設(shè)事件。假設(shè)在在Click事件中有代碼,那么事件中有代碼,那么DblClick事件將永遠不事件將永遠不會被觸發(fā),由于會被觸發(fā),由于Click事件是優(yōu)先被觸

溫馨提示

  • 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

提交評論