




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第七章VisualBasic控制結(jié)構(gòu)-循環(huán)結(jié)結(jié)構(gòu)在VisualBasic程序的三種結(jié)構(gòu)中,循環(huán)結(jié)構(gòu)是一種重要結(jié)構(gòu)。循環(huán)的本質(zhì):不斷地重復(fù)某種動作。對計算機程序而言,循環(huán)必須具備兩個重要因素:1.在一定的條件下,重復(fù)執(zhí)行一組語句2.必然出現(xiàn)不滿足條件的情況,使循環(huán)終止第七章VisualBasic控制結(jié)構(gòu)-循環(huán)結(jié)結(jié)構(gòu)在Vi一、循環(huán)程序設(shè)計結(jié)構(gòu)
VB中提供了兩種類型的循環(huán)語句:一種是計數(shù)循環(huán)語句;另一種是條件循環(huán)語句。VisualBasic支持的循環(huán)結(jié)構(gòu)有:☆Do…Loop☆For...Next☆While…Wend☆GoTo語句重點掌握:Do…Loop、For.Next、While…Wend等前三種循環(huán)一、循環(huán)程序設(shè)計結(jié)構(gòu)VB中提供了兩種類型的循環(huán)語1、Do…Loop循環(huán)結(jié)構(gòu)
Do…Loop循環(huán)用于事先不知道循環(huán)次數(shù)的循環(huán)結(jié)構(gòu)。此種語句四種語法格式:
⑴.DoWhile…Loop語句⑵.Do…LoopWhile語句⑶.DoUntil…Loop語句⑷.Do…LoopUntil語句1、Do…Loop循環(huán)結(jié)構(gòu)Do…Loop循環(huán)用于事先⑴.DoWhile…Loop語句語法格式:DoWhile〈條件表達式〉〈循環(huán)體〉[ExitDo]〈循環(huán)體〉LoopTF條件循環(huán)體流程圖⑴.DoWhile…Loop語句TF條件循說明:①條件表達式可以是一個邏輯表達式,也可以是一個關(guān)系表達式,其值應(yīng)是邏輯型。②DoWhile和Loop應(yīng)成對出現(xiàn)。③循環(huán)體中要有改變循環(huán)控制變量值的語句,以避免出現(xiàn)死循環(huán)。④由于該循環(huán)的特點是先判斷條件,然后再決定是否要執(zhí)行循環(huán)體里的語句。所以,這種循環(huán)可以一次也不執(zhí)行循環(huán)體。⑤ExitDo表示當遇到該語句時,強制退出循環(huán),執(zhí)行Loop后的下一條語句,一般與If語句聯(lián)用說明:(2).Do…LoopWhile語句語法格式:
Do〈循環(huán)體〉[ExitDo]〈循環(huán)體〉LoopWhile〈條件表達式〉流程圖TF條件循環(huán)體注意:①至少要執(zhí)行循環(huán)體一次。②與DoWhile循環(huán)的區(qū)別:
DoWhile循環(huán)先測試條件是否成立,只有成立才執(zhí)行循環(huán);而該循環(huán)先執(zhí)行循環(huán)體,后測試條件是否成立。(2).Do…LoopWhile語句語法格式:流程圖語法格式:
DoUntil〈條件表達式〉〈循環(huán)體〉[ExitDo]〈循環(huán)體〉Loop
⑶.DoUntil…Loop語句DoUntil…Loop語句流程圖⑷.Do…LoopUntil語句格式:Do〈循環(huán)體〉[ExitDo]〈循環(huán)體〉
LoopUntil〈條件表達式〉TF條件循環(huán)體Do…LoopUntil語句流程圖FT條件循環(huán)體語法格式:⑶.DoUntil…Loop語句DoA=val(InputBox(“請輸入第1個學(xué)生成績”)B=val(InputBox(“請輸入第2個學(xué)生成績”)C=val(InputBox(“請輸入第3個學(xué)生成績”)Avg=(A+B+C)/3PrintAvg編程:通過輸入對話框輸入三個學(xué)生成績,計算成績平均分。此程序存在問題:如果需要輸入20個成績或更多或成績個數(shù)根本不確定,則幾乎讓人無法忍受A=val(InputBox(“請輸入第1個學(xué)生成績”)編程編程:通過輸入對話框輸入10個學(xué)生成績,計算成績平均分。i=1DoWhilei<=10A=val(InputBox(“請輸入第1個學(xué)生成績”)i=i+1LoopAvg=(A+B+C)/10PrintAvg思路:在前一程序的基礎(chǔ)上作些改動,10個數(shù)據(jù)的輸入過程用循環(huán)實現(xiàn):讓第一個輸入語句循環(huán)10次思考:此程序存在哪些問題?1、輸入的前面9個成績丟失,B和C中無值2、輸入對話框中的提示總是顯示“第1個”編程:通過輸入對話框輸入10個學(xué)生成績,計算成績平均分。i=解決辦法:1、每個輸入的成績即時累加;2、提示信息分解成三部分:“請輸入第”、變量i、“個學(xué)生成績”i=1:s=0DoWhilei<=10A=val(InputBox(“請輸入第”&i&“個學(xué)生成績”)s=s+Val(A):i=i+1LoopAvg=s/10PrintAvg解決辦法:1、每個輸入的成績即時累加;2、提示信息分解成三部編程:通過輸入對話框輸入若干成績,如果輸入的成績?yōu)?1,表示輸入數(shù)據(jù)完畢,計算成績平均分。s=0:n=1cj=Val(InputBox("請輸入第"&n&"個成績"))DoWhilecj<>-1s=s+cjn=n+1cj=Val(InputBox("請輸入第"&n&"個成績"))Loopavg=s/(n-1)Print"平均成績?yōu)椋?;avg編程:通過輸入對話框輸入若干成績,如果輸入的成績?yōu)?1,表示2、For…Next循環(huán)結(jié)構(gòu)循環(huán)體ExitFor循環(huán)體循環(huán)變量增加步長循環(huán)變量獲得初值FT變量在終值內(nèi)?For循環(huán)的執(zhí)行過程語法格式:For循環(huán)變量=初值To終值[Step步長]<循環(huán)體>[ExitFor]<循環(huán)體>Next[循環(huán)變量]2、For…Next循環(huán)結(jié)構(gòu)循環(huán)體ExitFor循環(huán)體循環(huán)例題:
編程計算:S=1+2+3+…+100DimS%,i%S=0'累加前變量S為0Fori=1to100S=S+iNextiPrint"S=",SDimS%,i%說明①格式中的參數(shù)說明:☆循環(huán)變量必須為數(shù)值型?!钛h(huán)的初值、終值和步長都是數(shù)值表達式,其值不一定是整數(shù),可以是實數(shù),VB自動取整。其中,增量參數(shù)可正可負。如果增量為正,則初值必須小于等于終值,否則不能執(zhí)行循環(huán)體內(nèi)的語句;如果增量為負,則初值必須大于等于終值。如果沒有設(shè)置step,則增量默認為1。
☆在For語句和Next語句之間的語句序列稱為循環(huán)體,可以是一個或多個語句?!頔xitFor為強行退出循環(huán)語句。當遇到該語句時,退出循環(huán),執(zhí)行Next的下一個語句?!頝ext是循環(huán)終端語句,在Next后面的循環(huán)變量與For中的循環(huán)變量必須相同。當循環(huán)是單層循環(huán)時,Next后面的循環(huán)變量可以不寫。說明①格式中的參數(shù)說明:②For循環(huán)語句的執(zhí)行過程是:首先把初值賦給循環(huán)變量,接著檢查循環(huán)變量的值是否超過終值,如果超過就不執(zhí)行循環(huán)體,跳出循環(huán),執(zhí)行Next后面的語句;否則執(zhí)行一次循環(huán)體,然后把循環(huán)變量增加步長,再賦給循環(huán)變量,重復(fù)上述過程。③當初值等于終值時,不管步長是正數(shù)還是負數(shù),都執(zhí)行一次循環(huán)體。④循環(huán)次數(shù)由初值、終值和步長決定,計算公式為:
循環(huán)次數(shù)=INT((終值–初值)/步長+1)⑤For語句和Next語句必須成對出現(xiàn),不能單獨使用。⑥如果要在循環(huán)變量到達終值前退出循環(huán),可用ExitFor語句來實現(xiàn)。該語句可以在For循環(huán)中出現(xiàn)多次,且位置不限。⑦在循環(huán)體中可以使用循環(huán)變量,但一般不再對循環(huán)變量賦值。②For循環(huán)語句的執(zhí)行過程是:首先把初值賦給循環(huán)變量,接著功能:當While的條件表達式的值是True時執(zhí)行循環(huán)體內(nèi)的代碼,直到While后的條件表達式的值為False。說明:它與Do…Loop語句的差別是:While…Wend語句中不能使用Exit語句跳出循環(huán)。語法格式:While(條件表達式)等價于doWhile(條件表達式)循環(huán)體循環(huán)體WendLOOP3、While…Wend循環(huán)結(jié)構(gòu)功能:當While的條件表達式的值是True時執(zhí)行循環(huán)體內(nèi)的二、循環(huán)的嵌套——多重循環(huán)結(jié)構(gòu)1、如果在一個循環(huán)內(nèi)完整地包含另一個循環(huán)結(jié)構(gòu),則稱為多重循環(huán),或循環(huán)嵌套,2、嵌套的層數(shù)可以根據(jù)需要而定,嵌套一層稱為二重循環(huán),嵌套二層稱為三重循環(huán)。上面介紹的幾種循環(huán)控制結(jié)構(gòu)可以相互嵌套,下面是幾種常見的二重嵌套形式:二、循環(huán)的嵌套——多重循環(huán)結(jié)構(gòu)1、如果在一個循環(huán)內(nèi)完整地包含(1)ForI=….…..ForJ=….….NextJ…..NextI(2)ForI=….…..DoWhile/Until….….Loop…..NextI(3)DoWhile….…..ForJ=….….NextJ…..Loop(4)DoWhile/Until….…..DoWhile/Until….….Loop…..Loop(1)ForI=….(2)ForI=….(3)Do例題:打印九九乘法表.
Fori=1To9Forj=1To9se=i&"×"&j&"="&i*jPicture1.PrintTab((j-1)*9+1);se;NextjPicture1.PrintNexti例題:打印九九乘法表.對于循環(huán)的嵌套,要注意以下事項:(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).
正確 錯誤
Fori=1To10Forj=1To20… Nexti NextjFori=1To10Forj=1To20… NextjNextiFori=1To10…NextiFori=1To10…NextiFori=1To10Fori=1To20… Nexti Nexti對于循環(huán)的嵌套,要注意以下事項:For三、幾種循環(huán)語句比較三、幾種循環(huán)語句比較第七章VisualBasic控制結(jié)構(gòu)-循環(huán)結(jié)結(jié)構(gòu)在VisualBasic程序的三種結(jié)構(gòu)中,循環(huán)結(jié)構(gòu)是一種重要結(jié)構(gòu)。循環(huán)的本質(zhì):不斷地重復(fù)某種動作。對計算機程序而言,循環(huán)必須具備兩個重要因素:1.在一定的條件下,重復(fù)執(zhí)行一組語句2.必然出現(xiàn)不滿足條件的情況,使循環(huán)終止第七章VisualBasic控制結(jié)構(gòu)-循環(huán)結(jié)結(jié)構(gòu)在Vi一、循環(huán)程序設(shè)計結(jié)構(gòu)
VB中提供了兩種類型的循環(huán)語句:一種是計數(shù)循環(huán)語句;另一種是條件循環(huán)語句。VisualBasic支持的循環(huán)結(jié)構(gòu)有:☆Do…Loop☆For...Next☆While…Wend☆GoTo語句重點掌握:Do…Loop、For.Next、While…Wend等前三種循環(huán)一、循環(huán)程序設(shè)計結(jié)構(gòu)VB中提供了兩種類型的循環(huán)語1、Do…Loop循環(huán)結(jié)構(gòu)
Do…Loop循環(huán)用于事先不知道循環(huán)次數(shù)的循環(huán)結(jié)構(gòu)。此種語句四種語法格式:
⑴.DoWhile…Loop語句⑵.Do…LoopWhile語句⑶.DoUntil…Loop語句⑷.Do…LoopUntil語句1、Do…Loop循環(huán)結(jié)構(gòu)Do…Loop循環(huán)用于事先⑴.DoWhile…Loop語句語法格式:DoWhile〈條件表達式〉〈循環(huán)體〉[ExitDo]〈循環(huán)體〉LoopTF條件循環(huán)體流程圖⑴.DoWhile…Loop語句TF條件循說明:①條件表達式可以是一個邏輯表達式,也可以是一個關(guān)系表達式,其值應(yīng)是邏輯型。②DoWhile和Loop應(yīng)成對出現(xiàn)。③循環(huán)體中要有改變循環(huán)控制變量值的語句,以避免出現(xiàn)死循環(huán)。④由于該循環(huán)的特點是先判斷條件,然后再決定是否要執(zhí)行循環(huán)體里的語句。所以,這種循環(huán)可以一次也不執(zhí)行循環(huán)體。⑤ExitDo表示當遇到該語句時,強制退出循環(huán),執(zhí)行Loop后的下一條語句,一般與If語句聯(lián)用說明:(2).Do…LoopWhile語句語法格式:
Do〈循環(huán)體〉[ExitDo]〈循環(huán)體〉LoopWhile〈條件表達式〉流程圖TF條件循環(huán)體注意:①至少要執(zhí)行循環(huán)體一次。②與DoWhile循環(huán)的區(qū)別:
DoWhile循環(huán)先測試條件是否成立,只有成立才執(zhí)行循環(huán);而該循環(huán)先執(zhí)行循環(huán)體,后測試條件是否成立。(2).Do…LoopWhile語句語法格式:流程圖語法格式:
DoUntil〈條件表達式〉〈循環(huán)體〉[ExitDo]〈循環(huán)體〉Loop
⑶.DoUntil…Loop語句DoUntil…Loop語句流程圖⑷.Do…LoopUntil語句格式:Do〈循環(huán)體〉[ExitDo]〈循環(huán)體〉
LoopUntil〈條件表達式〉TF條件循環(huán)體Do…LoopUntil語句流程圖FT條件循環(huán)體語法格式:⑶.DoUntil…Loop語句DoA=val(InputBox(“請輸入第1個學(xué)生成績”)B=val(InputBox(“請輸入第2個學(xué)生成績”)C=val(InputBox(“請輸入第3個學(xué)生成績”)Avg=(A+B+C)/3PrintAvg編程:通過輸入對話框輸入三個學(xué)生成績,計算成績平均分。此程序存在問題:如果需要輸入20個成績或更多或成績個數(shù)根本不確定,則幾乎讓人無法忍受A=val(InputBox(“請輸入第1個學(xué)生成績”)編程編程:通過輸入對話框輸入10個學(xué)生成績,計算成績平均分。i=1DoWhilei<=10A=val(InputBox(“請輸入第1個學(xué)生成績”)i=i+1LoopAvg=(A+B+C)/10PrintAvg思路:在前一程序的基礎(chǔ)上作些改動,10個數(shù)據(jù)的輸入過程用循環(huán)實現(xiàn):讓第一個輸入語句循環(huán)10次思考:此程序存在哪些問題?1、輸入的前面9個成績丟失,B和C中無值2、輸入對話框中的提示總是顯示“第1個”編程:通過輸入對話框輸入10個學(xué)生成績,計算成績平均分。i=解決辦法:1、每個輸入的成績即時累加;2、提示信息分解成三部分:“請輸入第”、變量i、“個學(xué)生成績”i=1:s=0DoWhilei<=10A=val(InputBox(“請輸入第”&i&“個學(xué)生成績”)s=s+Val(A):i=i+1LoopAvg=s/10PrintAvg解決辦法:1、每個輸入的成績即時累加;2、提示信息分解成三部編程:通過輸入對話框輸入若干成績,如果輸入的成績?yōu)?1,表示輸入數(shù)據(jù)完畢,計算成績平均分。s=0:n=1cj=Val(InputBox("請輸入第"&n&"個成績"))DoWhilecj<>-1s=s+cjn=n+1cj=Val(InputBox("請輸入第"&n&"個成績"))Loopavg=s/(n-1)Print"平均成績?yōu)椋?;avg編程:通過輸入對話框輸入若干成績,如果輸入的成績?yōu)?1,表示2、For…Next循環(huán)結(jié)構(gòu)循環(huán)體ExitFor循環(huán)體循環(huán)變量增加步長循環(huán)變量獲得初值FT變量在終值內(nèi)?For循環(huán)的執(zhí)行過程語法格式:For循環(huán)變量=初值To終值[Step步長]<循環(huán)體>[ExitFor]<循環(huán)體>Next[循環(huán)變量]2、For…Next循環(huán)結(jié)構(gòu)循環(huán)體ExitFor循環(huán)體循環(huán)例題:
編程計算:S=1+2+3+…+100DimS%,i%S=0'累加前變量S為0Fori=1to100S=S+iNextiPrint"S=",SDimS%,i%說明①格式中的參數(shù)說明:☆循環(huán)變量必須為數(shù)值型。☆循環(huán)的初值、終值和步長都是數(shù)值表達式,其值不一定是整數(shù),可以是實數(shù),VB自動取整。其中,增量參數(shù)可正可負。如果增量為正,則初值必須小于等于終值,否則不能執(zhí)行循環(huán)體內(nèi)的語句;如果增量為負,則初值必須大于等于終值。如果沒有設(shè)置step,則增量默認為1。
☆在For語句和Next語句之間的語句序列稱為循環(huán)體,可以是一個或多個語句?!頔xitFor為強行退出循環(huán)語句。當遇到該語句時,退出循環(huán),執(zhí)行Next的下一個語句。☆Next是循環(huán)終端語句,在Next后面的循環(huán)變量與For中的循環(huán)變量必須相同。當循環(huán)是單層循環(huán)時,Next后面的循環(huán)變量可以不寫。說明①格式中的參數(shù)說明:②For循環(huán)語句的執(zhí)行過程是:首先把初值賦給循環(huán)變量,接著檢查循環(huán)變量的值是否超過終值,如果超過就不執(zhí)行循環(huán)體,跳出循環(huán),執(zhí)行Next后面的語句;否則執(zhí)行一次循環(huán)體,然后把循環(huán)變量增加步長,再賦給循環(huán)變量,重復(fù)上述過程。③當初值等于終值時,不管步長是正數(shù)還是負數(shù),都執(zhí)行一次循環(huán)體。④循環(huán)次數(shù)由初值、終值和步長決定,計算公式為:
循環(huán)次數(shù)=INT((終值–初值)/步長+1)⑤For語句和Next語句必須成對出現(xiàn),不能單獨使用。⑥如果要在循環(huán)變量到達終值前退出循環(huán),可用ExitFor語句來實現(xiàn)。該語句可以在For循環(huán)中出現(xiàn)多次,且位置不限。⑦在循環(huán)體中可以使用循環(huán)變量,但一般不再對循環(huán)變量賦值。②For循環(huán)語句的執(zhí)行過程是:首先把初值賦給循環(huán)變量,接著功能:當While的條件表達式的值是True時執(zhí)行循環(huán)體內(nèi)的代碼,直到While后的條件表達式的值為False。說明:它與Do…Loop語句的差別是:While…Wend語句中不能使用Exit語句跳出循環(huán)。語法格式:While(條件表達式)等價于doWhile(條件表達式)循環(huán)體循環(huán)體WendLOOP3、While…Wend循環(huán)結(jié)構(gòu)功能:當While的條件表達式的值是True時執(zhí)行循環(huán)體內(nèi)的二、循環(huán)的嵌套——多重循環(huán)結(jié)構(gòu)1、如果在一個循環(huán)內(nèi)完整地包含另一個循環(huán)結(jié)構(gòu),則稱為多重循環(huán),或循環(huán)嵌套,2、嵌套的層數(shù)可以根據(jù)需要而定,嵌套一層稱為二重循環(huán),嵌套二層稱為三重循環(huán)。上面介紹的幾種循環(huán)控制結(jié)構(gòu)可以相互嵌套,下面是幾種常見的二重嵌套形式:二、循環(huán)的嵌套——多重循環(huán)結(jié)構(gòu)1、如果在一個循環(huán)內(nèi)完整地包含(1)ForI=….…..ForJ=….….NextJ…..NextI(2)ForI=….…..DoWhile/Until….….Loop…..NextI(3)DoWhile….…..ForJ=….….NextJ…..Loop(4)DoWhile/Until….
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 員工職業(yè)發(fā)展與工作計劃的結(jié)合
- 提升創(chuàng)造力的團隊管理策略計劃
- Unit 5 The colourful world Lesson 2(教學(xué)設(shè)計)-2024-2025學(xué)年人教PEP版(2024)英語三年級上冊
- 某村村民高血壓發(fā)病率的調(diào)查
- 第1章相交線和平行線單元教學(xué)設(shè)計 2024-2025學(xué)年浙教版數(shù)學(xué)七年級下冊標簽標題
- 2025年南昌年貨運從業(yè)資格證考試從業(yè)從業(yè)資格資格題庫及答案
- 2025年清遠貨物從業(yè)資格證考試
- 2025年宿州貨運從業(yè)資格證模擬考試下載
- 2025年那曲貨運從業(yè)資格證考試試題及答案
- 2025年陜西從業(yè)資格貨運資格考試題庫及答案解析
- 《法院執(zhí)行實務(wù)》單元三(上)(課堂PPT)課件
- 煤礦防治水中長期規(guī)劃2017—2019
- 新版廣西大學(xué)畢業(yè)設(shè)計封面
- 幼兒園一日生活中的保教結(jié)合(課堂PPT)
- 有害物質(zhì)培訓(xùn)教材(ROHS2.0及REACH)
- 基于深度學(xué)習(xí)的圖像壓縮感知算法綜述
- 德語A1單詞表
- ARL4460 OXSAS曲線制作及學(xué)習(xí)筆記
- 主板維修思路分析
- 高三地理二輪專題河流特征
- Unit__A_View_of_Mountains
評論
0/150
提交評論