版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第6章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)本章要點(diǎn):
?For...Next循環(huán)?Do...Loop循環(huán)特點(diǎn):重復(fù)相同或相似的操作步驟結(jié)構(gòu):循環(huán)體—要重復(fù)執(zhí)行的語(yǔ)句序列。循環(huán)控制部分—規(guī)定循環(huán)的重復(fù)條件或重復(fù)次數(shù),確定循環(huán)范圍的語(yǔ)句1初值循環(huán)變量6.1For…Next循環(huán)結(jié)構(gòu)1.格式For<循環(huán)變量>=<初值>To<終值>[Step<步長(zhǎng)>]<語(yǔ)句組1>
[ExitFor]<語(yǔ)句組2>Next[<循環(huán)變量>]循環(huán)變量值超過(guò)終值?執(zhí)行循環(huán)體循環(huán)變量+步長(zhǎng)循環(huán)變量后續(xù)語(yǔ)句YesNo2.功能:執(zhí)行過(guò)程如流程圖所示23.說(shuō)明(1)循環(huán)變量——數(shù)值變量(2)初值,終值,步長(zhǎng)——數(shù)值表達(dá)式(3)步長(zhǎng)——可正可負(fù),但不能為0,為1時(shí)可以省略步長(zhǎng)>0時(shí),必須:初值<=終值循環(huán)結(jié)束條件——循環(huán)變量的值>終值步長(zhǎng)<0時(shí),必須:初值>=終值循環(huán)結(jié)束條件——循環(huán)變量的值<終值(4)ExitFor——退出循環(huán),常放在條件語(yǔ)句中(5)Next之后的循環(huán)變量應(yīng)與For語(yǔ)句中的循環(huán)變量應(yīng)一致,也可以省略3Text1
Label3累加分析:累加器(變量)初值S=0
循環(huán)體(重復(fù)執(zhí)行)S=S+I(I=1,2,…,N)PrivateSubCommand1_Click()DimNAsInteger,IAsInteger,SumAsIntegerN=Val(Text1.Text)Sum=0
ForI=1ToN
Sum=Sum+I
NextILabel3.Caption=SumEndSub【例6-1】求1+2+3+4+…+N4思考:1.求12+22+32+42+……+10022.求13+33+53+……+n33.求1-3+5-7+…+(-1)n+1(2n-1)4.求5.求5例:判斷以下程序段的執(zhí)行結(jié)果:
Fori=5To1Step-1Printi*i;NextiPrintPrinti例:判斷以下程序段的執(zhí)行結(jié)果:
X=6ForK=1To10Step-2X=X+KNextKPrintK,X6【例6-2】求N!(N!=1×2×3×…×N)
累乘分析:初始化:F=1循環(huán)體:F=F×I(I=1,2,3……N)程序:PrivateSubCommand1_Click()DimNAsInteger,IAsInteger,FAsLongN=Val(Text1.Text)F=1ForI=1ToNF=F*INextIText2.Text=FEndSub7思考:1.求1×3×5×7……(共N項(xiàng))。2.求:3.求:8【例6-3】打印斐波那契(Fibonacci)數(shù)列的前20項(xiàng)斐波那契數(shù)列如下:0,1,1,2,3,5,8,13,…即從第三項(xiàng)起每一項(xiàng)是其前兩項(xiàng)之和。分析:……PrivateSubForm_Click()A=0:B=1Text1.Text=Text1.Text&Str(A)&Str(B)&_Chr(13)&Chr(10)ForI=1To9A=A+BB=A+BText1.Text=Text1.Text&Str(A)&Str(B)&_Chr(13)&Chr(10)NextIEndSub9思考:1.在窗體上打印1、3、5、7、9、…、N。2.在窗體上顯示1到500之間所有能被3整除的數(shù),每行10個(gè)數(shù)。3.在帶水平滾動(dòng)條文本框中顯示1到指定N之間所有能被3和7同時(shí)整除的數(shù)。4.在帶垂直滾動(dòng)條的文本框中顯示00~3600之間的正弦和余弦值,每隔20求一組值。10例:找出1-1000之間的全部同構(gòu)數(shù)說(shuō)明:如果一個(gè)數(shù)出現(xiàn)在其平方數(shù)的右端,則稱此數(shù)為同構(gòu)數(shù)。如5在5^2=25的右端,25在25^2=625的右端等116.2Do…Loop循環(huán)結(jié)構(gòu)問(wèn)題:求12+22+32+42+…小于某數(shù)N的最大值,N由用戶指定。特點(diǎn):已知循環(huán)條件、未知循環(huán)次數(shù),用Do…Loop循環(huán)結(jié)構(gòu)實(shí)現(xiàn)1.格式格式一:DoWhile<條件>[<語(yǔ)句組1>][ExitDo][<語(yǔ)句組2>]Loop格式二:DoUntil<條件>[<語(yǔ)句組1>][ExitDo][<語(yǔ)句組2>]Loop122.功能使用While<條件>:條件為True時(shí),執(zhí)行循環(huán)體條件為False時(shí),退出循環(huán)使用Until<條件>:條件為False時(shí),執(zhí)行循環(huán)體條件為True時(shí),退出循環(huán)格式一、二:在循環(huán)起始處判斷條件,為當(dāng)型循環(huán)格式三、四:在循環(huán)終止處判斷條件,為直到型循環(huán)格式三:Do[<語(yǔ)句組1>][ExitDo][<語(yǔ)句組2>]LoopWhile<條件>格式四:Do[<語(yǔ)句組1>][ExitDo][<語(yǔ)句組2>]LoopUntil<條件>133.說(shuō)明(1)ExitDo語(yǔ)句用于退出循環(huán)體(2)也可以在Do語(yǔ)句和Loop語(yǔ)句之后都沒(méi)有條件,這時(shí)在循環(huán)體內(nèi)必須有強(qiáng)行退出循環(huán)的語(yǔ)句(3)多數(shù)情況下,當(dāng)型循環(huán)和直到型循環(huán)可互相代替【例6-4】求12+22+32+42+…小于某數(shù)N的最大值,N由用戶指定。設(shè)計(jì)界面下圖:Text1Text2Command114
PrivateSubCommand1_Click()DimnAsLong,SAsLongN=Val(Text1.Text)I=0S=0
DoWhileS<N
I=I+1S=S+I*I
LoopText2.Text=S–I*IEndSub初始化循環(huán)體循環(huán)條件UntilS>=NWhileS<N思考:求12+22+32+42+…大于或等于某數(shù)N的最小值15【例6-5】求直至最后一項(xiàng)的值≤10-4為止。分析:用N表示每一項(xiàng)的分母(N=1、3、5…)
用Term表示每一項(xiàng)的值,則Term=1/N
用Sum表示累加和循環(huán)初始條件:N=1,Sum=0
循環(huán)終止條件:Term<=0.000116PrivateSubForm_Click()N=1:Sum=0DoTerm=1/(N*N)Sum=Sum+TermN=N+2LoopUntilTerm<=0.0001Form1.FontSize=12'設(shè)窗體的字體
CurrentY=200
'設(shè)當(dāng)前顯示位置
Print"運(yùn)算結(jié)果為:";SumPrint"最后一項(xiàng)的值為:";TermEndSub17【例6-6】已知某鄉(xiāng)鎮(zhèn)企業(yè)現(xiàn)有產(chǎn)值和年增長(zhǎng)率,試問(wèn)多少年后,該企業(yè)的產(chǎn)值可以翻一番。翻一番后實(shí)際產(chǎn)值是多少?分析:P—現(xiàn)有產(chǎn)值
R—年增長(zhǎng)率
Y—年
V—增長(zhǎng)后的產(chǎn)值,初始值為P累乘:V=P(1+R)(1+R)…退出循環(huán)條件V>=2PText1Text2Text3Text418PrivateSubForm_Click()P=Val(Text1.Text)R=Val(Text2.Text)/100V=P:Y=0DoUntilV>=2*PY=Y+1V=V*(1+R)LoopText3.Text=YText4.Text=Format(V,"0.00")EndSub19【例6-7】給出兩個(gè)正整數(shù)M、N,求它們的最大公約數(shù)和最小公倍數(shù)。分析:求最大公約數(shù)的方法如下(1)以M作被除數(shù),N作除數(shù),求余數(shù)R。(2)如果R不為零,則將除數(shù)N做為新的被除數(shù)M,將余數(shù)R做為新的除數(shù)N,再進(jìn)行相除,得到新的余數(shù)R。(3)如果R仍不等于0,則重復(fù)上述步驟(2)。如果R為零,則這時(shí)的被除數(shù)N就是最大公約數(shù)。最小公倍數(shù)為兩個(gè)數(shù)的積除以它們的最大公約數(shù)。20設(shè)計(jì)界面如下圖所示:
Text1Text2Label3Label421DimAAsInteger,BAsInteger,NAsInteger,_MAsInteger,RAsIntegerPrivateSubCommand1_Click()M=Val(Text1.Text):N=Val(Text2.Text)A=M:B=NR=MModN
DoWhileR<>0M=NN=RR=MModNLoopLabel3.Caption=NEndSubPrivateSubCommand2_Click()Label4.Caption=A*B/NEndSub22【例6-8】給一個(gè)整數(shù)n(n>=3),判斷它是否是素?cái)?shù)分析:將數(shù)N被2—SQR(N)間全部整數(shù)除,如果都除不盡,則N是素?cái)?shù),否則N不是素?cái)?shù)。設(shè)標(biāo)志變量Flag,只要有一個(gè)被整除,就置為1。23PrivateSubCommand1_Click()N=Val(Text1.Text):K=Int(Sqr(N)):I=2Flag=0DoWhileI<=KAndFlag=0IfNModI=0ThenFlag=1ElseI=I+1LoopIfFlag=0ThenLabel1.Caption="是素?cái)?shù)"
ElseLabel1.Caption="不是素?cái)?shù)"
EndIfEndSub246.3循環(huán)的嵌套在一個(gè)循環(huán)體內(nèi)又完整地包含另一個(gè)循環(huán),稱為循環(huán)的嵌套(或多重循環(huán))例:ForI=1To3ForJ=5To7PrintI,JNextJNextI執(zhí)行過(guò)程:……例:ForI=1To3ForJ=1ToIForK=-1To-2S=S+I+J+KNextKNextJNextI執(zhí)行過(guò)程:……25說(shuō)明(1)嵌套的循環(huán)可以是For…Next循環(huán),也可以是Do…Loop循環(huán)(2)FOR循環(huán)有一個(gè)公共端點(diǎn),可使用一個(gè)NEXT語(yǔ)句,循環(huán)變量按從內(nèi)到外排列FORI=1TO3FORJ=5TO7PRINTI,JNEXTJ,IFORI=1TO3FORJ=5TO7PRINTI,JNEXTJNEXTI例:(3)內(nèi)外循環(huán)不應(yīng)交叉例:FORI=...FORJ=......NEXTINEXTJ26(4)嵌套循環(huán)應(yīng)選用不同的循環(huán)變量例:FORI=1...FORJ=......NEXTJ...FORJ=......NEXTJNEXTI27【例6-9】求1+(1+2)+(1+2+3)+…(1+2+3+…+n),n由用戶輸入。分析:……PrivateSubForm_Click()N=Val(Text1.Text)
Sum=0ForI=1ToN
Sum1=0ForJ=1ToI
Sum1=Sum1+JNextJ
Sum=Sum+Sum1NextIText2.Text=SumEndSub28【例6-10】公雞5個(gè)錢一只,母雞三個(gè)錢一只、小雞一個(gè)錢三只,要用100個(gè)錢買100只雞,問(wèn)公雞、母雞、和小雞各買幾只?分析:……PrivateSubForm_Click()DimIAsInteger,JAsInteger,KAsIntegerPrintTab(5);"公雞";Tab(15);"母雞";Tab(25);_"小雞"ForI=0To20ForJ=0To33ForK=0To100Step3IfI*5+J*3+K\3=100AndI+J+K=100ThenPrintTab(5);I;Tab(15);J;Tab(25);KEndIfNextK,J,IEndSub29【例6-11】數(shù)字燈謎。有算式:ABCD-)CDCABCA、B、C、D為非負(fù)一位數(shù)字,要求找出滿足以上算式的A、B、C、D。答案:10981098-9891093
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 有關(guān)幼兒園防洪澇災(zāi)害應(yīng)急預(yù)案(3篇)
- 領(lǐng)工資委托書
- 舞蹈培訓(xùn)班合作協(xié)議(3篇)
- 直播流程方案
- 門診的年終總結(jié)
- 酒店員工述職報(bào)告匯編5篇
- 珍愛(ài)生命主題班會(huì)教案
- 23.5 位似圖形 同步練習(xí)
- 江西上饒市2024-2025七年級(jí)歷史期中試卷(含答案)
- 河北省秦皇島市盧龍縣2024-2025學(xué)年七年級(jí)上學(xué)期期中生物試題
- 外來(lái)施工人員安全培訓(xùn)
- 物業(yè)與裝修公司合作計(jì)劃ppt課件
- 蘇教版小學(xué)生五年級(jí)上冊(cè)英語(yǔ)期中試卷
- PLC控制的自動(dòng)花樣音樂(lè)噴泉系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 建筑公司組織架構(gòu)及崗位職責(zé)
- COPD診療新進(jìn)展
- 精品資料(2021-2022年收藏的)病案管理制度全套
- 低壓工作票(共3頁(yè))
- 2閥門結(jié)構(gòu)和工作原理(上)
- 基礎(chǔ)圖案設(shè)計(jì)(課堂PPT)
- 幼兒園參觀學(xué)?;顒?dòng)方案5篇
評(píng)論
0/150
提交評(píng)論