Do-While…-Loop前測試循環(huán)語句_第1頁
Do-While…-Loop前測試循環(huán)語句_第2頁
Do-While…-Loop前測試循環(huán)語句_第3頁
Do-While…-Loop前測試循環(huán)語句_第4頁
Do-While…-Loop前測試循環(huán)語句_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Do…Loop循環(huán)語句For…Next循環(huán)語句針對于知道固定循環(huán)次數(shù)的循環(huán)程序。在許多問題中,我們事先并不能確定循環(huán)需要執(zhí)行的次數(shù),這時,我們可以選擇Do…Loop循環(huán)語句。Do…Loop循環(huán)語句共有兩種情況:〔1〕DoWhile…Loop循環(huán)語句〔2〕Do…UntilLoop循環(huán)語句。在Do…Loop循環(huán)語句中,可以把循環(huán)控制局部放在循環(huán)的前面〔即前測試循環(huán)〕,也可以放在循環(huán)的后面〔即后測試循環(huán)〕DoWhile…Loop循環(huán)語句DoWhile<循環(huán)條件表達式>循環(huán)體[ExitDo]Loop功能:首先測試循環(huán)條件表達式是否成立,假設(shè)循環(huán)條件滿足,那么進入循環(huán)。DoWhile…Loop循環(huán)語句又稱為“當型循環(huán)”,即當循環(huán)條件成立,才開始進入循環(huán)。說明:假設(shè)循環(huán)沒有結(jié)束,但程序需要退出循環(huán)時,可以使用ExitDo語句退出循環(huán)。前測試循環(huán)的語法:DoWhile…Loop循環(huán)語句的流程圖如下循環(huán)體循環(huán)條件表達式是否例題:編程輸出1~5的算術(shù)平方根。要求用DoWhile…Loop循環(huán)語句。程序代碼如下:循環(huán)的詳細執(zhí)行過程如下:〔1〕首先,x的值為1;〔2〕判斷當前循環(huán)條件表達式是否成立,如果成立,那么執(zhí)行循環(huán)體;〔3〕此時成立,那么執(zhí)行循環(huán)體;〔4〕在循環(huán)體內(nèi)部,對x的值進行了加1運算,此時的x的值為2;〔5〕程序跳至〔2〕,重新判斷循環(huán)條件是否成立?!?〕當循環(huán)語句執(zhí)行了5次后,此時循環(huán)變量x的值為6,當跳至步驟〔2〕時,不滿足循環(huán)條件了,此時循環(huán)結(jié)束。Rem編程輸出1~5的算術(shù)平方根。PrivateSubCommand1_Click()DimxAsLongx=1'循環(huán)變量賦初值DoWhilex<=5'當型循環(huán)PrintSqr(x)'輸出x=x+1'循環(huán)變量根據(jù)條件增加LoopPrint"循環(huán)結(jié)束后循環(huán)變量x的值為";xEndSub說明:〔1〕x作為循環(huán)變量,首先要賦初值;〔2〕循環(huán)變量在循環(huán)體內(nèi)部需要根據(jù)條件進行更改。詳見form1。提問1:循環(huán)語句共循環(huán)了幾次?答:5次。提問2:當循環(huán)語句結(jié)束后,此時的循環(huán)變量是多少?答:此時的循環(huán)變量x值為6。提問3:DoWhile…Loop循環(huán)語句與For…Next循環(huán)語句的區(qū)別有哪些?答:〔1〕For…Next的循環(huán)變量一般用整型變量;Do…Loop循環(huán)不做要求?!?〕For…Next的循環(huán)變量在語句“For循環(huán)變量=初值To終值[Step步長]”內(nèi);Do…Loop循環(huán)需要在循環(huán)開始之前賦初值。〔3〕For…Next的循環(huán)變量會自動增加步長;Do…Loop循環(huán)需要在循環(huán)體內(nèi)用賦值語句重新更改。例題:編程求[1,100]內(nèi)的奇數(shù)和。分析:此題即求S=1+3+5+…+99的和。程序代碼如下:Rem編程求[1,100]內(nèi)的奇數(shù)和。PrivateSubCommand1_Click()Dimx,sAsLongx=1'x為循環(huán)變量,循環(huán)開始前賦初值s=0's為累加求和的變量,沒有累加前,s的初始值應(yīng)該為0DoWhilex<=100s=s+x'將變量x的值進行累加x=x+2'循環(huán)變量根據(jù)條件更改LoopPrint"[1,100]內(nèi)的奇數(shù)和為";sPrint"循環(huán)結(jié)束后循環(huán)變量x的值為";xEndSub詳見form2。前面兩個例題都是對For…Next循環(huán)語句轉(zhuǎn)變?yōu)镈o…Loop循環(huán)的例子,從中可以看出,F(xiàn)or…Next循環(huán)是可以用Do…Loop循環(huán)替代的。但是,如果針對于前面兩個例題的例子,我們發(fā)現(xiàn),使用For…Next循環(huán)語句要比較方便。也就是說,針對于這類有規(guī)律、能確定循環(huán)次數(shù)的循環(huán)程序,選用For…Next循環(huán)是最正確選擇。但對于某些問題,我們無法確定應(yīng)該執(zhí)行多少次循環(huán),這時如果還用For…Next循環(huán),就會不是很方便,對于這類不能確定循環(huán)次數(shù)的問題,我們可以選用Do…Loop循環(huán)很好的解決這類問題。For…Next循環(huán)與Do…Loop循環(huán)的比較以及如何選擇的問題不能確定循環(huán)次數(shù)的例題例題:對于求和運算S=1+2+3+…x,問:當x為多少時,其和S的值恰好超過20。分析:這個問題可以用循環(huán)語句來解決,但是,不能確定需要循環(huán)的次數(shù),此時,我們就可以考慮Do…Loop循環(huán)來解決這類不能確定循環(huán)次數(shù)的問題。程序代碼如下:PrivateSubCommand1_Click()Dimx,sAsSinglex=1s=0DoWhiles<=20s=s+xx=x+1Loopx=x-1MsgBox("當x等于"&x&"時,其和恰好超過20。"&"此時的和s等于"&s)EndSub手動分析答案為:當x=6時,其和S=21恰好超過20。詳見form3。程序調(diào)試的小技巧如果題目是問:當x為多少時,其和S的值恰好超過20000?這么大的數(shù)當然不能用手算出結(jié)果,那怎么知道程序的結(jié)果是否正確呢?小技巧:不妨將題目中的數(shù)值該小,比方更改為“其和S的值恰好超過20”,這樣你就能先手算出結(jié)果與程序運行后的結(jié)果比對,如果結(jié)果不對,就分析原因,找到正確的方法。比方剛剛的例題中,就分析出了最后程序多執(zhí)行了一次循環(huán)導致最后的x比正確結(jié)果大1,這樣在程序中調(diào)整一下程序就正確了。對于這類問題,都是采用將數(shù)據(jù)該小,然后用手算驗證的方法來驗證程序的。以后還會屢次碰到。對程序代碼的分析:〔1〕因為要超過20,所以循環(huán)條件是:當s<=20時,要執(zhí)行循環(huán);〔2〕循環(huán)語句結(jié)束后,為什么要對x減1?答:因為在本程序中,直到x=6后,s=21,此時循環(huán)條件才不滿足,而此時的x進行了加1操作,即此時的x=7,所以在最后輸出答案時,要減1!本課作業(yè)作業(yè)1:編程求出滿足不等

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論