vb控制結(jié)構(gòu)-循環(huán)結(jié)構(gòu)程序設(shè)計(jì)_第1頁(yè)
vb控制結(jié)構(gòu)-循環(huán)結(jié)構(gòu)程序設(shè)計(jì)_第2頁(yè)
vb控制結(jié)構(gòu)-循環(huán)結(jié)構(gòu)程序設(shè)計(jì)_第3頁(yè)
vb控制結(jié)構(gòu)-循環(huán)結(jié)構(gòu)程序設(shè)計(jì)_第4頁(yè)
vb控制結(jié)構(gòu)-循環(huán)結(jié)構(gòu)程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩44頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第6章章 VB控制結(jié)構(gòu)(控制結(jié)構(gòu)(2)循環(huán)結(jié)構(gòu)程序設(shè)計(jì)循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 本章內(nèi)容及要求:本章內(nèi)容及要求:(1)掌握)掌握For.Next語(yǔ)句及語(yǔ)句及Exit For語(yǔ)句的使用;語(yǔ)句的使用; (2)掌握)掌握Do.Loop循環(huán)語(yǔ)句與循環(huán)語(yǔ)句與Exit Do語(yǔ)句的使用;語(yǔ)句的使用;(3)掌握循環(huán)結(jié)構(gòu)的嵌套應(yīng)用;)掌握循環(huán)結(jié)構(gòu)的嵌套應(yīng)用;(4)掌握循環(huán)結(jié)構(gòu)和選擇結(jié)構(gòu)的嵌套應(yīng)用。)掌握循環(huán)結(jié)構(gòu)和選擇結(jié)構(gòu)的嵌套應(yīng)用。6.1 概述概述在在Visual Basic程序設(shè)計(jì)中,程序設(shè)計(jì)中,實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的語(yǔ)句主要有實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的語(yǔ)句主要有下列下列幾幾種:種: l l ForNext語(yǔ)句語(yǔ)句l DoLoop語(yǔ)句

2、語(yǔ)句 l l WhileWend語(yǔ)句語(yǔ)句 Do While Loop形式形式Do Loop While 形式形式Do Until Loop形式形式Do Loop Until 形式形式Do Loop形式形式打印九九乘法表打印九九乘法表 Dim Sgs As String Dim i, j As Integer For i = 1 To 9 被乘數(shù)從被乘數(shù)從1變到變到9 For j = i To 9 乘數(shù)從乘數(shù)從1變到變到9 Sgs = i & & j & = & Str(i * j) 打印公式如打印公式如11=1 Picture1.Print Tab(j - 1)

3、 * 9 + 1); Sgs; Next j Picture1.Print Next I For循環(huán)語(yǔ)句循環(huán)語(yǔ)句 (一般用于循環(huán)次數(shù)已知一般用于循環(huán)次數(shù)已知)形式:形式:For 循環(huán)變量初值循環(huán)變量初值 to 終值終值 Step 步長(zhǎng)步長(zhǎng) 語(yǔ)句塊語(yǔ)句塊Exit For 語(yǔ)句塊語(yǔ)句塊Next 循環(huán)變量循環(huán)變量 循 環(huán) 變 量 在 終 值 內(nèi) 語(yǔ) 句 塊 Exit For 語(yǔ) 句 塊 循 環(huán) 變 量 加 步 長(zhǎng) T F 循 環(huán) 變 量 得 初 值 循環(huán)體 =0 循環(huán)變量循環(huán)變量=終值終值 =終值終值=1 可省略可省略 步長(zhǎng)步長(zhǎng)6.2 For.Next循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)循環(huán)次數(shù)循環(huán)次數(shù)) 1(步長(zhǎng)初值

4、終值Int例例: For I=2 To 13 Step 3 Print I , Next I Print “I=“, I 循環(huán)執(zhí)行次數(shù)循環(huán)執(zhí)行次數(shù) 4輸出輸出I的值分別為的值分別為: 2 5 8 11 出了循環(huán)輸出為出了循環(huán)輸出為: I=146.2 For.Next循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)6.2 For.Next循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)注意跳出注意跳出FOR循環(huán)時(shí)的循環(huán)變量的值循環(huán)時(shí)的循環(huán)變量的值For i= 1 to 10 step 1 s=s+iNext iPrint iFor i= -1 to -10 step -1 s=s+iNext iPrint i6.2 For.Next循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)注意對(duì)于注

5、意對(duì)于ForNext語(yǔ)句來(lái)說(shuō),一旦進(jìn)入循環(huán),其語(yǔ)句來(lái)說(shuō),一旦進(jìn)入循環(huán),其“終止值終止值”和和“增量增量”便不會(huì)再改變了。便不會(huì)再改變了。Private Sub Form_Click()Dim i As Integer, j As Integer, k As Integer j = 10: k = 1 For i = 1 To j Step k Print i j = j - 1 k = k + 1 Next Print j, kEnd Sub練習(xí):分析下面程序段結(jié)束時(shí)窗體上顯示的值是多少?練習(xí):分析下面程序段結(jié)束時(shí)窗體上顯示的值是多少?(2)i2=0For i = 1 To -2 Step -

6、1i2 = i2+1NextPrint i , i2 (-3 4)(1)For i = 1 To 10 i2 = i2+1NextPrint i(11)(3)i2=0For i = 1 To 5 Step 2i2 = i2+1NextPrint i(7)(4)i2 = 1For i = 1 To 10i = i + 1i2 = i2 + 1NextPrint i, i2(11 6)(5) i2 = 1i3 = 10i = 10For i = 1 To i3i = i + 1i2 = i2 + 1i3 = i3 + 1NextPrint i, i2(11 6)(6)i2 = 0For i = 1

7、 To 10 i2 = i2 + 1 If i 6 Then Exit ForNextPrint i, i2(7 7)(7) i2 = 0i = 10Do i2 = i2 + 1Loop While i = i2Print i2(1)例例6.7 編程計(jì)算:編程計(jì)算:S=1+2+3+100Dim S%, I%S=0 累加前變量累加前變量S為為0For I=1 to 100 S=S+INext IPrint S=,S 當(dāng)I=100I=I+1打印SS=0,I=1S=S+I例例6.7的算法流程圖的算法流程圖6.2 For.Next循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)前測(cè)型前測(cè)型: Do While 語(yǔ)句塊語(yǔ)句塊 Exit

8、 Do 語(yǔ)句塊語(yǔ)句塊 Loop 條 件 F T E xit D o 語(yǔ) 句 塊 語(yǔ) 句 塊 D o W hile L oop 執(zhí) 行 過(guò) 程 DoLoop循環(huán)語(yǔ)句使用形式循環(huán)語(yǔ)句使用形式 6.3 Do.Loop循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)6.2 Do.Loop循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)Private Sub Form_Click() Dim i As Integer: Dim a As Integer 定義所需變量定義所需變量 i = 0: a = 0 給變量賦初值給變量賦初值0,這兩條語(yǔ)句可省略這兩條語(yǔ)句可省略 Do While i 100 i = i + 1 每次循環(huán),變量每次循環(huán),變量i都增加都增加1 a =

9、 a + i 每次循環(huán),變量每次循環(huán),變量a都加變量都加變量i的值的值 Loop Print a 計(jì)算完畢,變量計(jì)算完畢,變量a的值即為所求的值即為所求End Sub例例:使用使用Do WhileLoop循環(huán)語(yǔ)句計(jì)算循環(huán)語(yǔ)句計(jì)算1+2+3+100的值的值后測(cè)型后測(cè)型: Do 語(yǔ)句塊語(yǔ)句塊 Exit Do 語(yǔ)句塊語(yǔ)句塊 Loop While T F Exit D o 語(yǔ) 句 塊 語(yǔ) 句 塊 條 件 D o Loop W hile 的 執(zhí) 行 過(guò) 程 6.3 Do.Loop循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)6.3 Do.Loop循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)例例:使用使用Do Loop While循環(huán)語(yǔ)句計(jì)算循環(huán)語(yǔ)句計(jì)算1+2+

10、3+n的值的值,n的的值由文本框輸入。值由文本框輸入。Private Sub Command1_Click() Dim i As Integer, n As Integer, a As Integer 定義所需變量定義所需變量 n = Text1.Text 得到輸入的值得到輸入的值 Do i = i + 1 每次循環(huán),變量每次循環(huán),變量i都增加都增加1 a = a + i 每次循環(huán),變量每次循環(huán),變量a都加變量都加變量i的值的值 Loop While i n Text2.Text = a 顯示計(jì)算結(jié)果,變量顯示計(jì)算結(jié)果,變量a的值即為所求的值即為所求End Sub前測(cè)型前測(cè)型: Do Unti

11、l 語(yǔ)句塊語(yǔ)句塊 Exit Do 語(yǔ)句塊語(yǔ)句塊 Loop 條 件 T FE xit D o 語(yǔ) 句 塊 語(yǔ) 句 塊 D o U ntil L oop 執(zhí) 行 過(guò) 程 DoLoop循環(huán)語(yǔ)句使用形式循環(huán)語(yǔ)句使用形式 6.3 Do.Loop循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)6.3 Do.Loop循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)例例:計(jì)算階乘計(jì)算階乘 n!的值(!的值(n的值由文本框輸入)。的值由文本框輸入)。Private Sub Command1_Click() Dim i As Integer, n As Integer Dim a As Long n = Text1.Text 得到輸入的值得到輸入的值n a = 1 必須為變量

12、必須為變量a賦初值賦初值1 Do Until i = n i = i + 1 每次循環(huán),變量每次循環(huán),變量i都增加都增加1 a = a * i 每次循環(huán),變量每次循環(huán),變量a都乘以變量都乘以變量i的值的值 Loop Text2.Text = a 計(jì)算完畢,變量計(jì)算完畢,變量a的值即為所求的值即為所求End Sub后測(cè)型后測(cè)型: Do 語(yǔ)句塊語(yǔ)句塊 Exit Do 語(yǔ)句塊語(yǔ)句塊 Loop Until F T Exit Do 語(yǔ) 句 塊 語(yǔ) 句 塊 條 件 Do Loop Until 的 執(zhí) 行 過(guò) 程 6.3 Do.Loop循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)例例:使用級(jí)數(shù)求使用級(jí)數(shù)求的值。的值。根據(jù)下式,計(jì)算圓周

13、率根據(jù)下式,計(jì)算圓周率的近似值,當(dāng)計(jì)算到絕對(duì)值小于的近似值,當(dāng)計(jì)算到絕對(duì)值小于0.0001的通項(xiàng)時(shí),認(rèn)為滿(mǎn)足精度要求,停止計(jì)算。的通項(xiàng)時(shí),認(rèn)為滿(mǎn)足精度要求,停止計(jì)算。/4=1- 1/3 + 1/5 -1/7 +(-1)n+11/2n-1+6.3 Do.Loop循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)Private Sub cmdPi_Click() Dim a As Single 變量變量a保存通項(xiàng)之和保存通項(xiàng)之和 Dim m As Single 變量變量m保存通項(xiàng)的絕對(duì)值保存通項(xiàng)的絕對(duì)值 Dim s As Integer 變量變量s產(chǎn)生通項(xiàng)的符號(hào)產(chǎn)生通項(xiàng)的符號(hào) Dim i As Integer 變量變量i產(chǎn)生通項(xiàng)的

14、分母產(chǎn)生通項(xiàng)的分母 s = 1 第一項(xiàng)符號(hào)為正第一項(xiàng)符號(hào)為正 i = 1 第一項(xiàng)為第一項(xiàng)為1 Do 開(kāi)始循環(huán)開(kāi)始循環(huán) m = 1 / i 計(jì)算通項(xiàng)的絕對(duì)值計(jì)算通項(xiàng)的絕對(duì)值 a = a + s * m 總和加上一個(gè)通項(xiàng)總和加上一個(gè)通項(xiàng) i = i + 2 產(chǎn)生下一個(gè)通項(xiàng)分母產(chǎn)生下一個(gè)通項(xiàng)分母 s = -s 輪流轉(zhuǎn)換通項(xiàng)的正負(fù)號(hào)輪流轉(zhuǎn)換通項(xiàng)的正負(fù)號(hào) Loop Until m 0.0001 測(cè)試是否滿(mǎn)足精度要求測(cè)試是否滿(mǎn)足精度要求 Text1.Text = a * 4 輸出計(jì)算結(jié)果輸出計(jì)算結(jié)果End Sub6.3 Do.Loop循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)6.3 Do.Loop循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)Do 語(yǔ)句塊語(yǔ)句塊

15、 Exit Do 語(yǔ)句塊語(yǔ)句塊LoopPrivate Sub Command1_Click() Dim i As Integer, n As Integer Dim a As Long n = val(Text1.Text) a = 1 Do i = i + 1 a = a * i If i = n Then Exit Do Loop Text2.Text = a End Sub例例6.5:計(jì)算計(jì)算n!本節(jié)小結(jié):本節(jié)小結(jié): (1 1)當(dāng)使用)當(dāng)使用WhileWhile 構(gòu)成循環(huán)時(shí),當(dāng)條件為構(gòu)成循環(huán)時(shí),當(dāng)條件為“真真”,則反復(fù)執(zhí)行循環(huán)體,當(dāng)條件為則反復(fù)執(zhí)行循環(huán)體,當(dāng)條件為“假假”,則退出循環(huán)。,

16、則退出循環(huán)。 (2)當(dāng)使用)當(dāng)使用Until 構(gòu)成循環(huán)時(shí),當(dāng)條件為構(gòu)成循環(huán)時(shí),當(dāng)條件為“假假”,則反復(fù)執(zhí)行循環(huán)體,直到條件成立,即為則反復(fù)執(zhí)行循環(huán)體,直到條件成立,即為“真真”時(shí),則退出循時(shí),則退出循環(huán)。環(huán)。 (3 3)在循環(huán)體內(nèi)一般應(yīng)有一個(gè)專(zhuān)門(mén)用來(lái)改變條件表達(dá)式中)在循環(huán)體內(nèi)一般應(yīng)有一個(gè)專(zhuān)門(mén)用來(lái)改變條件表達(dá)式中變量的語(yǔ)句,以使隨著循環(huán)的執(zhí)行,條件趨于不成立(或成變量的語(yǔ)句,以使隨著循環(huán)的執(zhí)行,條件趨于不成立(或成立),最后達(dá)到退出循環(huán)。立),最后達(dá)到退出循環(huán)。 (4)語(yǔ)句)語(yǔ)句Exit Do的作用是退出它所在的循環(huán)結(jié)構(gòu),它只能的作用是退出它所在的循環(huán)結(jié)構(gòu),它只能用在用在DO/Loop結(jié)構(gòu)中,

17、并且常常是同選擇結(jié)構(gòu)一起出現(xiàn)在循環(huán)結(jié)構(gòu)中,并且常常是同選擇結(jié)構(gòu)一起出現(xiàn)在循環(huán)結(jié)構(gòu)中,用來(lái)實(shí)現(xiàn)當(dāng)滿(mǎn)足某一條件時(shí)提前退出循環(huán)。結(jié)構(gòu)中,用來(lái)實(shí)現(xiàn)當(dāng)滿(mǎn)足某一條件時(shí)提前退出循環(huán)。 6.3 Do.Loop循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 思考思考: :將一個(gè)十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制。將一個(gè)十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制。 算法流程圖算法流程圖6.3 Do.Loop循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 用用Do.LoopDo.Loop循環(huán)的五種形式分別完成循環(huán)的五種形式分別完成 將一個(gè)十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制。將一個(gè)十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制。 算法流程圖算法流程圖6.3 Do.Loop循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)分析分析: : 將一個(gè)十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制采用連除將一個(gè)十進(jìn)制數(shù)

18、轉(zhuǎn)換成二進(jìn)制采用連除2 2取余數(shù)的方法,即將十進(jìn)制數(shù)除以取余數(shù)的方法,即將十進(jìn)制數(shù)除以2取余數(shù),直取余數(shù),直到商為到商為0,然后所得的余數(shù)即為二進(jìn)制數(shù)各位的,然后所得的余數(shù)即為二進(jìn)制數(shù)各位的數(shù)碼,從右到左排列,第一次除數(shù)碼,從右到左排列,第一次除2的余數(shù)在最右的余數(shù)在最右邊。算法設(shè)計(jì)如下:用變量邊。算法設(shè)計(jì)如下:用變量Dec表示十進(jìn)制數(shù),表示十進(jìn)制數(shù),BinBin表示轉(zhuǎn)換所得的二進(jìn)制數(shù)字符串。表示轉(zhuǎn)換所得的二進(jìn)制數(shù)字符串。(1) 輸入十進(jìn)制輸入十進(jìn)制Dec(2) Dec除以除以2 2得余數(shù)得余數(shù)R Res,商又賦值給商又賦值給Dec;讓?zhuān)蛔孊in = Res & BinBin = Re

19、s & Bin(3) 若若DecDec=0,則算法結(jié)束;否則執(zhí)行(,則算法結(jié)束;否則執(zhí)行(2)將一個(gè)十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制的程序如下將一個(gè)十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制的程序如下: : Private Sub Form_Click() Dim Dec As Integer 表示十進(jìn)制數(shù)表示十進(jìn)制數(shù) Dim Bin As String 轉(zhuǎn)換為二進(jìn)制表示轉(zhuǎn)換為二進(jìn)制表示 Dim Res As Integer Dec = Val(InputBox(輸入一個(gè)十進(jìn)制數(shù)輸入一個(gè)十進(jìn)制數(shù)Dec=?) Print 十進(jìn)制數(shù):十進(jìn)制數(shù):; Dec Do Res = Dec Mod 2 求出除以求出除以2的余數(shù)的余數(shù)

20、 Bin = Res & Bin Dec = Dec 2 Loop Until Dec=0 Print 轉(zhuǎn)換為二進(jìn)制數(shù)為:轉(zhuǎn)換為二進(jìn)制數(shù)為:; BinEnd SubEnd Sub 6.3 Do.Loop循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)6.4.1 WhileWend語(yǔ)句語(yǔ)句 使用格式如下:使用格式如下: While Wend 說(shuō)明:說(shuō)明:該語(yǔ)句的功能與該語(yǔ)句的功能與Do While .Loop實(shí)現(xiàn)的實(shí)現(xiàn)的循環(huán)完全相同。循環(huán)完全相同。6.4 WhileWend語(yǔ)句語(yǔ)句 6.5.1 循環(huán)的嵌套循環(huán)的嵌套多重循環(huán)結(jié)構(gòu)多重循環(huán)結(jié)構(gòu) 如果在一個(gè)循環(huán)內(nèi)完整地包含另一個(gè)循環(huán)結(jié)構(gòu),則稱(chēng)如果在一個(gè)循環(huán)內(nèi)完整地包含另一個(gè)循

21、環(huán)結(jié)構(gòu),則稱(chēng)為多重循環(huán),或循環(huán)嵌套,嵌套的層數(shù)可以根據(jù)需要而定,為多重循環(huán),或循環(huán)嵌套,嵌套的層數(shù)可以根據(jù)需要而定,嵌套一層稱(chēng)為二重循環(huán),嵌套二層稱(chēng)為三重循環(huán)。嵌套一層稱(chēng)為二重循環(huán),嵌套二層稱(chēng)為三重循環(huán)。 上面介紹的幾種循環(huán)控制結(jié)構(gòu)可以相互嵌套,下面是上面介紹的幾種循環(huán)控制結(jié)構(gòu)可以相互嵌套,下面是幾種常見(jiàn)的二重嵌套形式:幾種常見(jiàn)的二重嵌套形式:6.5 嵌套結(jié)構(gòu)嵌套結(jié)構(gòu)(1)For I=. . For J=. . Next J . Next I(2)For I=. . Do While/Until . . Loop . Next I(3)Do While. . For J=. . Next J

22、. Loop(4)Do While/Until. . Do While/Until . . Loop . Loop6.5 嵌套結(jié)構(gòu)嵌套結(jié)構(gòu) For i =1 To 10 For j=1 To 20 Next j Next i For i =1 To 10 Next i For i =1 To 10 Next i 對(duì)于循環(huán)的嵌套,要注意以下事項(xiàng):對(duì)于循環(huán)的嵌套,要注意以下事項(xiàng): (1) 內(nèi)循環(huán)變量與外循環(huán)變量不能同名;內(nèi)循環(huán)變量與外循環(huán)變量不能同名; (2) 外循環(huán)必須完全包含內(nèi)循環(huán),不能交叉;外循環(huán)必須完全包含內(nèi)循環(huán),不能交叉;下面是正確的嵌套下面是正確的嵌套6.5 嵌套結(jié)構(gòu)嵌套結(jié)構(gòu) For

23、i =1 To 10 For j=1 To 20 Next i Next j For i =1 To 10 For i=1 To 20 Next i Next i下面是不正確的嵌套下面是不正確的嵌套6.5 嵌套結(jié)構(gòu)嵌套結(jié)構(gòu) Private Sub Form_Click() Dim i As Integer, j As Integer For i = 1 To 3 Print i=; i For j = 1 To 3 Print Tab; j=; j Next NextEnd Sub循環(huán)嵌套的執(zhí)行流程循環(huán)嵌套的執(zhí)行流程:6.5 嵌套結(jié)構(gòu)嵌套結(jié)構(gòu)6.5 嵌套結(jié)構(gòu)嵌套結(jié)構(gòu)Private SubCom

24、mand1_Click() Dim x%, a%,y% For x = 1 to 2 a=0 For y = 1 to x+1 a = a+1 Next y Print a; Next xEnd Sub程序運(yùn)行后程序運(yùn)行后,單擊命令按鈕單擊命令按鈕,在窗體上顯在窗體上顯示的值是示的值是 ( 2 3 )6.5 嵌套結(jié)構(gòu)嵌套結(jié)構(gòu)Exit Do和和Exit For語(yǔ)句在循環(huán)嵌套時(shí)的作用語(yǔ)句在循環(huán)嵌套時(shí)的作用6.5 嵌套結(jié)構(gòu)嵌套結(jié)構(gòu)例:打印九九乘法表例:打印九九乘法表. For i = 1 To 9 For j = 1 To 9 se = i & & j & = & i

25、 * j Picture1.Print Tab(j - 1) * 9 + 1); se; Next j Picture1.Print Next i6.5 嵌套結(jié)構(gòu)嵌套結(jié)構(gòu)6.5 嵌套結(jié)構(gòu)嵌套結(jié)構(gòu)例例: 編一程序,顯示出所有的水仙花數(shù)。所謂水仙花數(shù),編一程序,顯示出所有的水仙花數(shù)。所謂水仙花數(shù),是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)字本身。例是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)字本身。例如,如,153153是水仙花數(shù),因?yàn)椋菏撬苫〝?shù),因?yàn)椋?3333511536.5 嵌套結(jié)構(gòu)嵌套結(jié)構(gòu)Private Sub Form_Click() Dim i As Integer, j As Integ

26、er, k As Integer Dim n As Integer For i = 1 To 9 i表示百位上的數(shù)表示百位上的數(shù) For j = 0 To 9 j表示十位上的數(shù)表示十位上的數(shù) For k = 0 To 9 k表示個(gè)位上的數(shù)表示個(gè)位上的數(shù) n = i * 100 + j * 10 + k If i 3 + j 3 + k 3 = n Then Print n Next k Next j Next iEnd Sub解法一解法一:6.5 嵌套結(jié)構(gòu)嵌套結(jié)構(gòu)解法二解法二:Private Sub Form_Click() Dim i As Integer, j As Integer, k

27、As Integer Dim n As Integer For n = 100 To 999 i = n 100 得到百位上的數(shù)字得到百位上的數(shù)字 j = n 10 - i * 10 得到十位上的數(shù)字得到十位上的數(shù)字 k = n Mod 10 得到個(gè)位上的數(shù)字得到個(gè)位上的數(shù)字 If i 3 + j 3 + k 3 = n Then Print n Next nEnd Sub6.5.2 循環(huán)結(jié)構(gòu)與選擇結(jié)構(gòu)的嵌套循環(huán)結(jié)構(gòu)與選擇結(jié)構(gòu)的嵌套 在循環(huán)結(jié)構(gòu)中可以完整嵌套選擇結(jié)構(gòu)在循環(huán)結(jié)構(gòu)中可以完整嵌套選擇結(jié)構(gòu),即整個(gè)選擇結(jié)構(gòu)即整個(gè)選擇結(jié)構(gòu)都屬于循環(huán)體。在選擇結(jié)構(gòu)中嵌套循環(huán)結(jié)構(gòu)時(shí),則要求整都屬于循環(huán)體。在選

28、擇結(jié)構(gòu)中嵌套循環(huán)結(jié)構(gòu)時(shí),則要求整個(gè)循環(huán)結(jié)構(gòu)必須完整地嵌套在一個(gè)分支內(nèi),一個(gè)循環(huán)結(jié)構(gòu)個(gè)循環(huán)結(jié)構(gòu)必須完整地嵌套在一個(gè)分支內(nèi),一個(gè)循環(huán)結(jié)構(gòu)不允許出現(xiàn)在兩個(gè)或兩個(gè)以上的分支內(nèi)。不允許出現(xiàn)在兩個(gè)或兩個(gè)以上的分支內(nèi)。 6.5 嵌套結(jié)構(gòu)嵌套結(jié)構(gòu)(1)For I= IF Then End IF Next I(6) IF Then For I= End IF Next I(5)Select Case For I= Case Case Next I End Select(3)For I= IF Then Next I End IF(2)IF Then For I= Next I End IF(4)For I= S

29、elect Case Case Case End Select Next I6.5 嵌套結(jié)構(gòu)嵌套結(jié)構(gòu)6.6強(qiáng)制退出循環(huán)強(qiáng)制退出循環(huán)6.6.1用Exit for語(yǔ)句強(qiáng)制退出For循環(huán) Exit For 語(yǔ)句可以使程序從For循環(huán)中退出來(lái),轉(zhuǎn)到Next語(yǔ)句后面的程序繼續(xù)執(zhí)行,而不必等到循環(huán)變量到達(dá)終值時(shí)才退出來(lái)。注意:在循環(huán)體外面,不可以使用Exit For 語(yǔ)句,而且Exit For通常與IF語(yǔ)句一起使用。例:用300元買(mǎi)100只雞,母雞9元1只,小雞1元1只,問(wèn)母雞、小雞各應(yīng)買(mǎi)多少只?分析:設(shè)買(mǎi)母雞x只,則x的變化范圍為130只,因?yàn)橘I(mǎi)的母雞只數(shù)不可能超過(guò)30只,超過(guò)30只就不可能買(mǎi)到100只雞。設(shè)小雞為y只,則y=100-x。下面要做的工作就是求x為何值時(shí),9x+y=300成立。6.6強(qiáng)制退出循環(huán)強(qiáng)制退出循環(huán)程序代碼:Option ExplicitPrivate Sub Form_Click()Dim x as IntegerDim y as IntegerFor x=1 to 30 Y=100-x If 9*x+y=300 then Exit for

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論