第4章 循環(huán)結(jié)構(gòu)程序設(shè)計(二)_第1頁
第4章 循環(huán)結(jié)構(gòu)程序設(shè)計(二)_第2頁
第4章 循環(huán)結(jié)構(gòu)程序設(shè)計(二)_第3頁
第4章 循環(huán)結(jié)構(gòu)程序設(shè)計(二)_第4頁
第4章 循環(huán)結(jié)構(gòu)程序設(shè)計(二)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第4章循環(huán)結(jié)構(gòu)(二)4.1.1

For…Next

循環(huán)格式:For<循環(huán)變量>=<初值>To<終值>[Step<步長>]

語句塊

[ExitFor]

語句塊Next<循環(huán)變量>4.1.2

While…Wend循環(huán)格式:While條件

循環(huán)體Wend循環(huán)初始狀態(tài)循環(huán)條件循環(huán)體TF4形式2:Do

語句塊

[ExitDo

語句塊]Loop{While|Until}<條件>

4.1.3

Do…Loop

循環(huán)形式1:Do{While|Until}<條件>

語句塊

[ExitDo

語句塊]Loop引例密碼驗(yàn)證ss=“111”Form1.HideMsgBoxForm1.ShowMsgBox:2TFss=“111”MsgBoxForm1.ShowMsgBox:1TF…ss=“111”Form1.HideMsgBoxForm1.ShowMsgBox:2TFss=“111”MsgBoxForm1.ShowMsgBox:1TFss=“111”MsgBoxForm1.ShowMsgBox:0TFForm1.Hidess=“111”MsgBoxForm1.ShowMsgBox:2TFForm1.Hidess=“111”MsgBoxForm1.ShowMsgBox:2TFi<=3i=1i=i+1ss=“111”Form1.HideMsgBoxForm1.ShowTFss=“111”MsgBoxForm1.ShowMsgBox:0TFMsgBox:2ss=“111”MsgBoxForm1.ShowMsgBox:1TF實(shí)例4-1累加PrivateSubCommand1_Click()DimiAsInteger,sumAsLong,nAsLongn=Val(Text1.Text)Fori=1Tonsum=sum+1NextiText2.Text=sumEndSubsum=sum+i縮進(jìn)格式PrivateSubCommand1_Click() DimiAsInteger,sumAsLong,nAsLong

n=Val(Text1.Text)

Fori=1Tonsum=sum+iNextiText2.Text=sumEndSub實(shí)例4-2累乘說明:1、本程序僅用來計算積<=5000的累乘值,要求n!怎么辦?要求用While循環(huán)。2、自動計算與手動計算結(jié)果不一致,為什么?怎么改?3、手動計算中的窗體級變量。DimjAsInteger,factAsLongPrivateSubCommand2_Click()Ifj=0Thenfact=1Iffact<=5000Thenj=j+1fact=fact*jtxtcyc.Text=jtxtfac.Text=factElseCommand2.Enabled=FalseEndIfEndSub手動計算PrivateSubCommand1_Click()DimiAsInteger,facAsLongi=1fac=1Whilefac<=5000fac=fac*ii=i+1txtcyc.Text=itxtfac.Text=facWendEndSub自動計算說明:1、本程序僅用來計算積<=5000的累乘值,要求n!怎么辦?要求用While循環(huán)。2、自動計算與手動計算結(jié)果不一致,為什么?怎么改?3、手動計算中的窗體級變量。i<txtcyc.texti=i+1fac=fac*i實(shí)例4-3隨機(jī)數(shù)與素數(shù)‘產(chǎn)生m個>=10且<=99隨機(jī)數(shù),并依次顯示出來m=Val(Text1)DoRandomize‘本語句可使下面的r,每次產(chǎn)生不同的隨機(jī)數(shù)

r=Int(Rnd*90+10)Lblrnd=Lblrnd+""+Str(r)n=n+1Fori=2Tor–1‘判斷素數(shù)

IfrModi=0ThenExitForNextiLoopWhilen<mIfi>=rThen‘統(tǒng)計信息Ifr>MaxThenMax=r…EndIf循環(huán)中容易出的問題:死循環(huán)循環(huán)體的正常運(yùn)行一般通過循環(huán)體中對循環(huán)變量的改變來控制對循環(huán)條件的判斷,使得循環(huán)能夠終止循環(huán)初始狀態(tài)循環(huán)條件循環(huán)體TF如果某變量控制的不好,則可能造成永遠(yuǎn)無法終止循環(huán)的情況稱之為“死循環(huán)”死循環(huán)S=0i=1i<=50S=S*2i=i-1TFS=0i=1i<=50S=S*2i=1TFS=0i=1i<=50S=S*2TF正確循環(huán)的規(guī)律i<xTFi

不斷增大i>xTFi

不斷減小164.1.4循環(huán)的嵌套在一個循環(huán)體內(nèi)又包含了一個完整的循環(huán)結(jié)構(gòu)稱為循環(huán)的嵌套或多重循環(huán)。外部的循環(huán)稱為外循環(huán),內(nèi)嵌的循環(huán)稱為內(nèi)循環(huán)。PrivateSubForm_Click()Forx=1To5Fory=1To5Printy;NextyPrintNextxEndSub實(shí)例4-4:圖形輸出內(nèi)循環(huán)變量與外循環(huán)變量不能同名;外循環(huán)必須完全包含內(nèi)循環(huán),不能交叉;不能從循環(huán)體外轉(zhuǎn)向循環(huán)體內(nèi),反之則可以。

Forii=1To10Forii=1To20

…Nextii Nextii

Forii=1To10

Forjj=1To20…

Nextjj

Nextii

Forii=1To10

Forjj=1To20…

Nextii

Nextjj

Forii=1To10

Nextii

Forii=1To10

Nextii注意補(bǔ)例1求1!+2!+…+10!PrivateSubForm_click()DimsAsLong,fAsLong,iAsInteger,jAsIntegers=0Fori=1To10

f=1

Forj=1Toif=f*jNextjs=s+fNextiPrint"1!+2!+...+10!=";sEndSubDimjAsIntegerDimiAsIntegerj=1s=0Fori=1To10j=j*is=s+jNextiForx=1To5Fory=1ToxPrinty;NextyPrintNextxForx=5To1Step-1Fory=1ToxPrinty;NextyPrintNextx補(bǔ)例2讀程序,寫結(jié)果補(bǔ)例3根據(jù)結(jié)果,寫程序:Forx=5To1Step-1Fory=5ToxStep-1Printy;NextyPrintNextxForx=5To1Step-1Fory=5To6-xStep-1Printy;NextyPrintNextx21補(bǔ)例4打印九九乘法表關(guān)鍵:①內(nèi)外循環(huán)變量與被乘數(shù)和乘數(shù)關(guān)系 ②輸出格式控制

PrivateSubCommand1_Click()Picture1.ClsDimseAsStringPicture1.PrintTab(35);"九九乘法表"Picture1.PrintTab(35);"---------------"Fori=1To9Forj=1To9se=j&"×"&i&"="&i*jPicture1.PrintTab((j-1)*9+1);se;NextjPicture1.PrintNextiEndSub練習(xí):打印上三角或下三角程序如何改動?可通過微軟拼音輸入法面板輸入“×”等特殊符號,或在Word中輸入,再復(fù)制、粘貼編程練習(xí):4.2案例:譯碼器1、密碼驗(yàn)證:PassWordChar=“*”DimnAsIntegerPrivateSubCmdok_Click()Constpassword="111",name="111"n=n+1Ifn<=3ThenIfTxtname=""OrTxtpassword=""ThenMsgBox"必須輸入姓名和密碼",64,"提示"ElseIfTxtname=nameAndTxtpassword=passwordThenFrm1.HideFrm2.ShowElseMsgBox"姓名和密碼錯誤",48,"警告"EndIfEndIfElseEndEndIfEndSubn:計數(shù)器兩個窗體DimnAsInteger‘n=0PrivateSubCmdok_Click()…n=n+1…EndSub‘n=1第一次單擊DimnAsInteger‘n=1PrivateSubCmdok_Click()…n=n+1…EndSub‘n=2第二次單擊DimnAsInteger‘n=2PrivateSubCmdok_Click()…n=n+1…EndSub‘n=3第三次單擊2、譯碼器控制結(jié)構(gòu):每三位數(shù)字一個字符循環(huán)變量賦初值刪原文左側(cè)空格ori=LTrim(Txtori)orip=Mid(ori,n,3)Orip<>“###”取第一組數(shù)字n=1n=n+3譯碼orip=Mid(ori,n,3)Whileorip<>"###“Wendn=n+3..... orip=Mid(ori,n,3)譯碼一Orip是字符?IfVal(orip)>=0AndVal(or

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論