第七章--VisualBasic控制結(jié)構(gòu)-循環(huán)結(jié)構(gòu)ppt課件(全)_第1頁
第七章--VisualBasic控制結(jié)構(gòu)-循環(huán)結(jié)構(gòu)ppt課件(全)_第2頁
第七章--VisualBasic控制結(jié)構(gòu)-循環(huán)結(jié)構(gòu)ppt課件(全)_第3頁
第七章--VisualBasic控制結(jié)構(gòu)-循環(huán)結(jié)構(gòu)ppt課件(全)_第4頁
第七章--VisualBasic控制結(jié)構(gòu)-循環(huán)結(jié)構(gòu)ppt課件(全)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第七章 Visual Basic控制結(jié)構(gòu)-循環(huán)結(jié)結(jié)構(gòu) 在Visual Basic程序的三種結(jié)構(gòu)中,循環(huán)結(jié)構(gòu)是一種重要結(jié)構(gòu)。循環(huán)的本質(zhì):不斷地重復(fù)某種動(dòng)作。對(duì)計(jì)算機(jī)程序而言,循環(huán)必須具備兩個(gè)重要因素:1. 在一定的條件下,重復(fù)執(zhí)行一組語句2. 必然出現(xiàn)不滿足條件的情況,使循環(huán)終止一、循環(huán)程序設(shè)計(jì)結(jié)構(gòu) VB中提供了兩種類型的循環(huán)語句:一種是計(jì)數(shù)循環(huán)語句;另一種是條件循環(huán)語句。Visual Basic 支持的循環(huán)結(jié)構(gòu)有: DoLoop For.Next WhileWend GoTo 語句重點(diǎn)掌握: DoLoop、 For.Next、 WhileWend等前三種循環(huán)1、DoLoop循環(huán)結(jié)構(gòu) DoLoo

2、p循環(huán)用于事先不知道循環(huán)次數(shù)的循環(huán)結(jié)構(gòu)。此種語句四種語法格式: . Do While Loop 語句 . Do Loop While 語句 . Do Until Loop 語句 . Do Loop Until 語句 . Do While Loop語句語法格式:Do While 條件表達(dá)式 循環(huán)體 Exit Do 循環(huán)體 LoopTF條件循環(huán)體流程圖說明: 條件表達(dá)式可以是一個(gè)邏輯表達(dá)式,也可以是一個(gè)關(guān)系表達(dá)式,其值應(yīng)是邏輯型。 Do While和Loop應(yīng)成對(duì)出現(xiàn)。 循環(huán)體中要有改變循環(huán)控制變量值的語句,以避免出現(xiàn)死循環(huán)。 由于該循環(huán)的特點(diǎn)是先判斷條件,然后再?zèng)Q定是否要執(zhí)行循環(huán)體里的語句。所以

3、,這種循環(huán)可以一次也不執(zhí)行循環(huán)體。 Exit Do 表示當(dāng)遇到該語句時(shí),強(qiáng)制退出循環(huán),執(zhí)行Loop后的下一條語句,一般與If 語句聯(lián)用(2). Do Loop While語句語法格式: Do 循環(huán)體 Exit Do 循環(huán)體 Loop While條件表達(dá)式流程圖TF條件循環(huán)體注意: 至少要執(zhí)行循環(huán)體一次。 與Do While循環(huán)的區(qū)別:Do While循環(huán)先測試條件是否成立,只有成立才執(zhí)行循環(huán);而該循環(huán)先執(zhí)行循環(huán)體,后測試條件是否成立。語法格式: Do Until條件表達(dá)式 循環(huán)體 Exit Do 循環(huán)體 Loop . Do Until Loop語句Do Until Loop語句流程圖 . Do

4、 Loop Until語句格式:Do 循環(huán)體 Exit Do 循環(huán)體 Loop Until條件表達(dá)式TF條件循環(huán)體Do Loop Until語句流程圖FT條件循環(huán)體A=val(InputBox(“請輸入第1個(gè)學(xué)生成績”)B=val(InputBox(“請輸入第2個(gè)學(xué)生成績”)C=val(InputBox(“請輸入第3個(gè)學(xué)生成績”)Avg=(A+B+C)/3Print Avg編程:通過輸入對(duì)話框輸入三個(gè)學(xué)生成績,計(jì)算成績平均分。 此程序存在問題:如果需要輸入20個(gè)成績或更多或成績個(gè)數(shù)根本不確定,則幾乎讓人無法忍受編程:通過輸入對(duì)話框輸入10個(gè)學(xué)生成績,計(jì)算成績平均分。i=1Do While i=

5、10 A=val(InputBox(“請輸入第1個(gè)學(xué)生成績”) i=i+1LoopAvg=(A+B+C)/10Print Avg思路:在前一程序的基礎(chǔ)上作些改動(dòng),10個(gè)數(shù)據(jù)的輸入過程用循環(huán)實(shí)現(xiàn):讓第一個(gè)輸入語句循環(huán)10次思考:此程序存在哪些問題?1、輸入的前面9個(gè)成績丟失,B 和 C中無值2、輸入對(duì)話框中的提示總是顯示“第1個(gè)”解決辦法:1、每個(gè)輸入的成績即時(shí)累加;2、提示信息分解成三部分: “請輸入第” 、變量i 、 “個(gè)學(xué)生成績”i=1:s=0Do While i=10 A=val(InputBox(“請輸入第” & i & “個(gè)學(xué)生成績”) s=s+Val(A) : i=i+1LoopA

6、vg=s/10Print Avg編程:通過輸入對(duì)話框輸入若干成績,如果輸入的成績?yōu)?1,表示輸入數(shù)據(jù)完畢,計(jì)算成績平均分。 s = 0 : n = 1 cj = Val(InputBox(請輸入第 & n & 個(gè)成績) Do While cj -1 s = s + cj n = n + 1 cj = Val(InputBox(請輸入第 & n & 個(gè)成績) Loop avg= s / (n-1) Print 平均成績?yōu)椋?; avg2、ForNext循環(huán)結(jié)構(gòu)循環(huán)體Exit For循環(huán)體循環(huán)變量增加步長循環(huán)變量獲得初值FT變量在終值內(nèi)?For循環(huán)的執(zhí)行過程語法格式:For 循環(huán)變量 = 初值 T

7、o 終值 Step 步長 Exit For Next 循環(huán)變量例題: 編程計(jì)算:S=1+2+3+100Dim S% , i%S=0 累加前變量S為0For i=1 to 100 S=S+iNext iPrint S= , S 說明 格式中的參數(shù)說明: 循環(huán)變量必須為數(shù)值型。 循環(huán)的初值、終值和步長都是數(shù)值表達(dá)式,其值不一定是整數(shù),可以是實(shí)數(shù),VB自動(dòng)取整。其中,增量參數(shù)可正可負(fù)。如果增量為正,則初值必須小于等于終值,否則不能執(zhí)行循環(huán)體內(nèi)的語句;如果增量為負(fù),則初值必須大于等于終值。如果沒有設(shè)置step,則增量默認(rèn)為1。 在For語句和Next語句之間的語句序列稱為循環(huán)體,可以是一個(gè)或多個(gè)語句。

8、 Exit For為強(qiáng)行退出循環(huán)語句。當(dāng)遇到該語句時(shí),退出循環(huán),執(zhí)行Next的下一個(gè)語句。 Next是循環(huán)終端語句,在Next后面的循環(huán)變量與For中的循環(huán)變量必須相同。當(dāng)循環(huán)是單層循環(huán)時(shí),Next后面的循環(huán)變量可以不寫。 For循環(huán)語句的執(zhí)行過程是:首先把初值賦給循環(huán)變量,接著檢查循環(huán)變量的值是否超過終值,如果超過就不執(zhí)行循環(huán)體,跳出循環(huán),執(zhí)行Next后面的語句;否則執(zhí)行一次循環(huán)體,然后把循環(huán)變量增加步長,再賦給循環(huán)變量,重復(fù)上述過程。 當(dāng)初值等于終值時(shí),不管步長是正數(shù)還是負(fù)數(shù),都執(zhí)行一次循環(huán)體。 循環(huán)次數(shù)由初值、終值和步長決定,計(jì)算公式為: 循環(huán)次數(shù)=INT(終值 初值)/步長+1) Fo

9、r語句和Next語句必須成對(duì)出現(xiàn),不能單獨(dú)使用。 如果要在循環(huán)變量到達(dá)終值前退出循環(huán),可用Exit For語句來實(shí)現(xiàn)。該語句可以在For循環(huán)中出現(xiàn)多次,且位置不限。 在循環(huán)體中可以使用循環(huán)變量,但一般不再對(duì)循環(huán)變量賦值。功能:當(dāng)While的條件表達(dá)式的值是True時(shí)執(zhí)行循環(huán)體內(nèi)的代碼,直到While后的條件表達(dá)式的值為False。說明:它與Do Loop語句的差別是:While Wend語句中不能使用Exit語句跳出循環(huán)。語法格式:While (條件表達(dá)式 ) 等價(jià)于 do While(條件表達(dá)式) 循環(huán)體 循環(huán)體Wend LOOP3、WhileWend循環(huán)結(jié)構(gòu)二、循環(huán)的嵌套多重循環(huán)結(jié)構(gòu)1、如

10、果在一個(gè)循環(huán)內(nèi)完整地包含另一個(gè)循環(huán)結(jié)構(gòu),則稱為多重循環(huán),或循環(huán)嵌套,2、嵌套的層數(shù)可以根據(jù)需要而定,嵌套一層稱為二重循環(huán),嵌套二層稱為三重循環(huán)。 上面介紹的幾種循環(huán)控制結(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 . Loop(4)Do While/Until. . Do While/Until . . Loop . Loop例題:打印九九乘法表. For i = 1 To 9 For j = 1 To 9 se = i & & j & = & i * j Picture1.Print Tab(j - 1) * 9 + 1); se; Next j Picture1.Print Next i對(duì)于循環(huán)的嵌套,要注意以下事項(xiàng):(1) 內(nèi)循環(huán)變量與外循環(huán)變量不能同名;(2) 外循環(huán)必須完全包含內(nèi)循環(huán),不能交叉; (3) 不能從循環(huán)體外轉(zhuǎn)向循環(huán)體內(nèi),也不能從外循環(huán)轉(zhuǎn)向內(nèi)循環(huán). 正 確錯(cuò) 誤 For i =1 To 10

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論