第5章 選擇分支與循環(huán) joyo-fly_第1頁(yè)
第5章 選擇分支與循環(huán) joyo-fly_第2頁(yè)
第5章 選擇分支與循環(huán) joyo-fly_第3頁(yè)
第5章 選擇分支與循環(huán) joyo-fly_第4頁(yè)
第5章 選擇分支與循環(huán) joyo-fly_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

5.2循環(huán)結(jié)構(gòu)與循環(huán)結(jié)構(gòu)語(yǔ)句5.1分支結(jié)構(gòu)與分支結(jié)構(gòu)語(yǔ)句第五章選擇分支與循環(huán)5.3程序示例編輯ppt

先對(duì)條件測(cè)試,根據(jù)測(cè)試的結(jié)果選擇執(zhí)行不同的分支1.If條件語(yǔ)句2.SelectCase結(jié)構(gòu)VisualBasic程序設(shè)計(jì)§5.1分支結(jié)構(gòu)與分支結(jié)構(gòu)語(yǔ)句3.條件函數(shù)編輯ppt例:Ifscore>=60Then

Print"祝賀你考試通過(guò)!"

EndIfPrint“繼續(xù)努力!”等價(jià)于:

IfScore>=60ThenPrint“祝賀你考試通過(guò)!”P(pán)rint“繼續(xù)努力!!!”1.If…Then結(jié)構(gòu)格式:(1)If條件Then

(A組語(yǔ)句)

EndIf… (2)If條件Then語(yǔ)句執(zhí)行規(guī)則:若條件成立,執(zhí)行A組語(yǔ)句;條件不成立,跳過(guò)A組語(yǔ)句.§5.1.1If條件語(yǔ)句條件A組語(yǔ)句TF使用前提:條件成立時(shí),A組語(yǔ)句中只一條執(zhí)行語(yǔ)句例:Ifscore>=60ThenPrintscorePrint"祝賀你考試通過(guò)!"EndIfPrint“繼續(xù)努力!”編輯ppt1.If…Then結(jié)構(gòu)例1:輸入兩個(gè)數(shù),分別放在x和y變量中,比較它們大小,然后將大數(shù)放在x中,小數(shù)放在y中。x<y……x%=Text1.textY%=Text2.textIfx<yTheny=xx=yEndIfPrintx,y……t=xx=yy=tFxyT思考:3個(gè)數(shù)的排序如何實(shí)現(xiàn)?①②③兩個(gè)變量的值互換:§5.1.1If條件語(yǔ)句編輯ppt例:Ifscore>=60ThenPrint“祝賀你考試通過(guò)!”ElsePrint“考試未通過(guò).”EndIfPrint"繼續(xù)努力!"2.If…Then…Else結(jié)構(gòu)格式:If

條件Then

A組語(yǔ)句

ElseB組語(yǔ)句

ENDIf

執(zhí)行規(guī)則:條件成立,執(zhí)行A組語(yǔ)句,條件不成立,執(zhí)行B組語(yǔ)句例2:計(jì)算分段函數(shù):Y=√x2+1(x≠0)x3+3x(x=0)條件A組語(yǔ)句TFB組語(yǔ)句§5.1.1If條件語(yǔ)句編輯pptF兩邊之和大于第三邊?2.If…Then…Else結(jié)構(gòu)輸入a,b,c求S△結(jié)束輸出s求半周長(zhǎng)LT提示數(shù)據(jù)錯(cuò)開(kāi)始§5.1.1If條件語(yǔ)句例5-1:已知△三邊的長(zhǎng),設(shè)計(jì)求△面積的程序。編輯ppt3.If…Then…ElseIf結(jié)構(gòu)格式:If

條件1Then

(A組語(yǔ)句)

ElseIf條件2Then(B組語(yǔ)句)

ElseIf條件3Then(C組語(yǔ)句)……

Else(n組語(yǔ)句)

EndIf§5.1.1If條件語(yǔ)句X<1?輸入整數(shù)x開(kāi)始輸出x在1~10間T輸出x<1Tx在1~10間F輸出x>10F編輯ppt格式:If

條件1Then

A組語(yǔ)句

ElseIf條件2ThenB組語(yǔ)句

ElseIf條件3ThenC組語(yǔ)句……

Elsen組語(yǔ)句

EndIf3.If…Then…ElseIf結(jié)構(gòu)注意:多分支語(yǔ)句中,有多個(gè)分支同時(shí)滿足,只執(zhí)行第一

個(gè)與之匹配的語(yǔ)句塊。

注意ElseIf

的寫(xiě)法§5.1.1If條件語(yǔ)句編輯ppt4.If語(yǔ)句的嵌套§5.1.1If條件語(yǔ)句

If語(yǔ)句的嵌套是指if或else后面的語(yǔ)句塊中又包含If語(yǔ)句。語(yǔ)句形式:

If

<表達(dá)式1>

Then

If

<表達(dá)式11>

Then

……

EndIf

……

EndIf

注意:

(1)對(duì)于嵌套結(jié)構(gòu),為了增強(qiáng)程序的可讀性,應(yīng)該采用縮進(jìn)形式書(shū)寫(xiě);(2)If語(yǔ)句形式若不在一行上書(shū)寫(xiě),必須與EndIf配對(duì)多個(gè)If嵌套,EndIf與它最接近的If配對(duì)。編輯pptSelectCase測(cè)試表達(dá)式Case測(cè)試項(xiàng)1A組語(yǔ)句Case測(cè)試項(xiàng)2B組語(yǔ)句……CaseElsen組語(yǔ)句EndSelect說(shuō)明:測(cè)試表達(dá)式的值應(yīng)是數(shù)字或字符型測(cè)試項(xiàng)的取值必須與測(cè)試表達(dá)式的值類(lèi)型相同,常用形式為:具體取值,用逗號(hào)隔開(kāi)如:1,5,9連續(xù)的范圍:界1TO界2如:12To20

滿足某個(gè)條件:Is運(yùn)算符如:Is>10

三種形式可以組合使用§5.1.2SelectCase語(yǔ)句SelectCase結(jié)構(gòu)例5-2:DimxAsIntegerSelectCasexCaseIs<1Text2.Text="這是小于1的數(shù)"Case1To10Text2.Text="這是1到10之間的數(shù)"CaseElseText2.Text=“這是大于10的數(shù)"EndSelect編輯ppt§5.1.3條件函數(shù)(可選)1.Iif函數(shù)----替代IF語(yǔ)句格式:Iif(表達(dá)式、條件為真的值,條件為假的值)例:實(shí)現(xiàn)將X,Y變量中的大數(shù)放入Tmax變量用If語(yǔ)句:IfX>YThen

Tmax=XElse

Tmax=YEndIf用Iif函數(shù):Tmax=IIf(X>Y,X,Y)編輯ppt§5.2循環(huán)結(jié)構(gòu)與循環(huán)結(jié)構(gòu)語(yǔ)句

循環(huán):是在指定的條件下多次重復(fù)執(zhí)行一組語(yǔ)句2.For...Next1.Do...Loop3.循環(huán)嵌套4.其他輔助控制語(yǔ)句編輯ppt1.DoWhile<條件>循環(huán)體Loop2.D0循環(huán)體LoopWhile<條件>3.DoUntil<條件>循環(huán)體Loop4.Do循環(huán)體LoopUntil<條件>§5.2.1Do…Loop循環(huán)編輯ppt1.While循環(huán)⑴DoWhile<循環(huán)條件>循環(huán)體 [Exitdo]循環(huán)體Loop執(zhí)行過(guò)程:(先判斷,后執(zhí)行)先判斷循環(huán)條件,若為真:執(zhí)行循環(huán)體,再判斷循環(huán)條件否則,跳過(guò)循環(huán)體,執(zhí)行Loop之后語(yǔ)句循環(huán)條件語(yǔ)句塊TF語(yǔ)句塊FExitDoT§5.2.1Do…Loop循環(huán)編輯ppt⑴DoWhile<循環(huán)條件>循環(huán)體 [Exitdo]循環(huán)體Loop例1:求1+2+3+4+…+10的和.DimI,sAsIntegerI=1DoWhileLoopPrintI,ss=s+II<=10I=I+1I=11(1)循環(huán)體執(zhí)行了幾次?(2)沒(méi)有I=I+1會(huì)怎樣?(3)將Print語(yǔ)句移到Loop的前面結(jié)果怎樣?(4)I先賦值為11,結(jié)果如何?1.While循環(huán)§5.2.1Do…Loop循環(huán)編輯ppt⑵D0循環(huán)體 [Exitdo]循環(huán)體LoopWhile<條件>執(zhí)行過(guò)程:(先執(zhí)行,后判斷)先執(zhí)行循環(huán)體,再判斷循環(huán)條件,若為真,繼續(xù)執(zhí)行循環(huán)體;否則,結(jié)束循環(huán),執(zhí)行Loop之后語(yǔ)句循環(huán)條件語(yǔ)句塊TF語(yǔ)句塊FExitDoT1.While循環(huán)§5.2.1Do…Loop循環(huán)編輯ppt⑵D0

循環(huán)體[ExitDo]LoopWhile<條件>例4:修改例3DimI,sAsIntegerI=1DoWhileI<=10s=s+II=I+1LoopPrintI,sDimI,sAsIntegerI=1Dos=s+II=I+1LoopWhileI<=10PrintI,s

(1)循環(huán)體執(zhí)行幾次?(2)將I先賦值為11,執(zhí)行結(jié)果如何?1.While循環(huán)§5.2.1Do…Loop循環(huán)編輯ppt⑴DoWhile<條件>循環(huán)體Loop⑵D0循環(huán)體LoopWhile<條件>區(qū)別:(1)執(zhí)行順序不同

形式一:先判斷,后執(zhí)行循環(huán)體;

形式二:先執(zhí)行循環(huán)體,后判斷

(2)執(zhí)行次數(shù)不同(特殊情況下)形式一:條件不滿足,循環(huán)體可能一次也不執(zhí)行形式二:不論條件如何,至少執(zhí)行一次1.While循環(huán)§5.2.1Do…Loop循環(huán)編輯ppt例5-3:用輾轉(zhuǎn)相除法求兩自然數(shù)m、n的最大公約數(shù)和最小公倍數(shù)分析:最大公約數(shù)⑴已知兩數(shù)m、n⑵mModn的值為r⑶m←n,n←r,⑷若r<>0,則重復(fù)⑵⑶否則,循環(huán)結(jié)束,m為所求的最大公約數(shù),最小公倍數(shù)原兩個(gè)數(shù)相乘,再除以最大公約數(shù)§5.2.1Do…Loop循環(huán)編輯ppt練習(xí)3:我國(guó)現(xiàn)有人口13億,按人口年增長(zhǎng)率0.8%計(jì)算,多少年后我國(guó)人口超過(guò)26億。分析計(jì)算公式:26=13*(1+0.008)n

已知:當(dāng)前人口數(shù)量為P=13,年增長(zhǎng)率為R=0.008

循環(huán)條件:當(dāng)前人口數(shù)是否超過(guò)26億若沒(méi),計(jì)算下一年人口數(shù)P=P*(1+R),年數(shù)+1,再判斷§5.2.1Do…Loop循環(huán)編輯ppt執(zhí)行過(guò)程:(先判斷,后執(zhí)行)先判斷循環(huán)條件:條件為假:執(zhí)行循環(huán)體,然后再判斷條件.條件為真:跳過(guò)循環(huán)體,執(zhí)行Loop之后語(yǔ)句⑶DoUntil<條件>循環(huán)體Loop2.Until循環(huán)循環(huán)條件語(yǔ)句塊FT語(yǔ)句塊FExitDoT§5.2.1Do…Loop循環(huán)編輯ppt⑶DoUntil<條件>循環(huán)體Loop例5:修改上例DimI,sAsIntegerI=1DoWhileI<=10s=s+II=I+1LoopPrintI,sDimI,sAsIntegerI=1DoUntil

s=s+II=I+1LoopPrintI,s⑴條件應(yīng)該如何寫(xiě)出?⑵顯示的I、S值與上例一樣嗎?⑷Do

循環(huán)體LoopUntil<條件>I>10§5.2.1Do…Loop循環(huán)2.Until循環(huán)編輯ppt幾種形式比較:

DoWhile<條件>循環(huán)體

Loop(While<條件>)

DoUntil<條件>循環(huán)體

Loop(Until<條件>)區(qū)別:While條件為真時(shí)執(zhí)行循環(huán)體,否則退出循環(huán)

Until條件為假時(shí)執(zhí)行循環(huán)體,否則退出循環(huán)關(guān)系:while和Until可以相互轉(zhuǎn)換,但循環(huán)條件取反

while和Until可以通過(guò)ExitDo退出循環(huán)§5.2.1Do…Loop循環(huán)編輯ppt

練習(xí)4:輸入一個(gè)正整數(shù)n,求最大的k,使得1*1+2*2+…k*k<n成立循環(huán)結(jié)構(gòu).練習(xí)分析:

輸入n值判斷累加和s<n?

若是,s加下一個(gè)數(shù)的平方值

重復(fù)2、3

若否,結(jié)束循環(huán)由text2輸出最后一個(gè)累加數(shù)k對(duì)嗎?編輯ppt循環(huán)變量=循環(huán)變量+步長(zhǎng)語(yǔ)句塊FExitFor語(yǔ)句塊T循環(huán)變量<=終值For循環(huán)變量=初值TO終值[Step步長(zhǎng)]語(yǔ)句塊

ExitFor語(yǔ)句塊Next循環(huán)變量For循環(huán)格式:執(zhí)行過(guò)程:(1)將初值賦循環(huán)變量;(2)判斷循環(huán)變量值是否小于等于

終止值;(3)若是,執(zhí)行循環(huán)體(語(yǔ)句塊);(4)然后將變量增加一個(gè)步長(zhǎng);(5)重復(fù)2~4步驟。(6)否則,結(jié)束循環(huán)§5.2.2For循環(huán)步長(zhǎng)省略,默認(rèn)為1循環(huán)變量賦初值FT循環(huán)體編輯ppt程序代碼:

DimI%,s%ForI=1To10step1

NextIPrintI,s例1:求1+2+3+4+…+10之和.分析:重復(fù)過(guò)程(循環(huán)體):s=s+I初值、終值和增量:1、10、1初值與終值換位可以嗎?循環(huán)體的執(zhí)行次數(shù)是多少?

輸出的I、S的值是多少?ForI=1To10執(zhí)行多少次?s=s+IForI=10To1Step-1§5.2.2For循環(huán)For循環(huán)變量=初值TO終值[Step步長(zhǎng)]語(yǔ)句塊

ExitFor語(yǔ)句塊Next循環(huán)變量循環(huán)體編輯ppt

DimI,sAsIntegerForI=1To10s=s+INextIPrintI,s

例2:

求10!分析:重復(fù)過(guò)程:*初值、終值與增量不變

例1:求1+2+3+4+…+10之和.分析:重復(fù)過(guò)程(循環(huán)體):+初值、終值和增量:1、10、1DimI,sAsIntegerForI=1To10s=s*INextIPrintI,ss=1ForI=1To10ForI=1To10s=1§5.2.2For循環(huán)編輯pptS1=0S2=0ForI=1To1000S1=S1+INextI練習(xí)1:計(jì)算1~1000的奇數(shù)和與偶數(shù)和方法一:方法二:Step2ForI=1To1000Step2S2=S2+INextIPrintS1,S20S1=0S2=0ForI=1To1000IfImod2<>0thenS1=S1+IElseS2=S2+IEndIfNextIPrintS1,S2§5.2.2For循環(huán)編輯ppt練習(xí)2:輸入一個(gè)正整數(shù),求各位數(shù)字之和輸入正整數(shù)k

求它的位數(shù)用For循環(huán)1,位數(shù)和步長(zhǎng)取k的末位數(shù),求和使k去掉末位數(shù)重復(fù)以上兩步,直到結(jié)束在text2中顯示結(jié)果§5.2.2For循環(huán)k=Val(Text1.Text)l=Len(Trim(Text1.Text))Fori=1Tolt=kMod10sum=sum+tk=k\10NextText2.Text=CStr(sum)編輯ppt例5-5:一個(gè)從字母、數(shù)字組成的字符串中找出所有大寫(xiě)字母并逆序輸出的程序。輸入原字符串

求出串長(zhǎng)用For循環(huán)1,長(zhǎng)度和步長(zhǎng)用Mid函數(shù)取出每一位,對(duì)每個(gè)字符進(jìn)行判斷對(duì)符合要求的字符采用連接運(yùn)算組成新字符串重復(fù)以上兩步,直到結(jié)束在text2中顯示新串§5.2.2For循環(huán)編輯ppt例:分析下列程序段的輸出結(jié)果:DimIAsInteger,JAsIntegerJ=0ForI=0To10Step2I=I+3J=J+1NextIPrintI,J注意:⑴初值、終值、步長(zhǎng)必須是數(shù)值型,步長(zhǎng)為正,初值<終值;若為負(fù),初值>終值;缺省為默認(rèn)為1當(dāng)循環(huán)變量為整型,而循環(huán)參數(shù)為浮點(diǎn)型時(shí),系統(tǒng)將按Cint或CLong函數(shù)將其轉(zhuǎn)換為與循環(huán)變量相同的整型數(shù)。⑵在已知循環(huán)次數(shù)時(shí)使用For循環(huán),循環(huán)次數(shù)=int((終值-初值)/步長(zhǎng))+1⑶組成循環(huán)體的語(yǔ)句塊可以是一條或多條語(yǔ)句⑷ExitFor表示當(dāng)遇到該語(yǔ)句時(shí),退出循環(huán)體,執(zhí)行Next的下一句;⑸

在循環(huán)體內(nèi)對(duì)循環(huán)變量可多次引用,但在循環(huán)過(guò)程中一般不改變其值,

否則影響結(jié)果。⑹

退出循環(huán)后,循環(huán)變量保持退出時(shí)的值§5.2.2For循環(huán)編輯ppt循環(huán)的嵌套:在一個(gè)循環(huán)體內(nèi)又包含了一個(gè)完整的循環(huán)結(jié)構(gòu)§5.2.3循環(huán)嵌套ForI=1To9ForJ=1ToIs=I&"×"&J&"="&I*JPicture1.PrintTab((J-1)*8+1);s;NextJPicture1.PrintNextI注意:內(nèi)、外循環(huán)變量不能同名外循環(huán)必須完全包含內(nèi)循環(huán),不能出現(xiàn)交叉編輯ppt分析:用三重循環(huán)個(gè)位x的可能取值為0~9十位y的可能取值為0~9百位z的可能取值為1~9,看三個(gè)位置上的數(shù)是否滿足如下條件,若滿足,即是其中一個(gè)解x3+y3+z3=z×100+y×10+x?練習(xí)5:求水仙花數(shù)(P78)水仙花數(shù)是指一個(gè)3位數(shù),其各個(gè)數(shù)字的立方和等于數(shù)字本身?!?.2.3循環(huán)嵌套編輯ppt1.GoTo語(yǔ)句2.Exit語(yǔ)句滿足循環(huán)條件的情況下,提前跳出循環(huán)體,結(jié)束循環(huán)。兩種形式:ExitFor、ExitDo作用:無(wú)條件的轉(zhuǎn)移到標(biāo)號(hào)或行號(hào)指定的語(yǔ)句語(yǔ)法:GoTo{標(biāo)號(hào)|行號(hào)}100IfI<=100Thens=s+II=I+2GoTo100EndIf§5.2.4其他輔助控制語(yǔ)句編輯pptDimIAsIntegerIfImod17=0thenprintI

endIfForI=100to200

NextIExitfor分析:重復(fù)工作:判斷每個(gè)數(shù)除17的余數(shù)是否為0

初值、終值和增量:練習(xí)6:求出100~200之間的第一個(gè)能被17整除的整數(shù)。§5.2.4其他輔助控制語(yǔ)句編輯ppt§5.3程序示例示例1:一個(gè)簡(jiǎn)易的函數(shù)計(jì)算器程序.(P73)首先要對(duì)第一個(gè)文本框中輸入的數(shù)據(jù)進(jìn)行合法性判斷:是否為空?是否為數(shù)字?編輯ppt§5.3程序示例(續(xù))示例2:利用牛頓迭代法求方程xex-1=0在x0=0.5附近的一個(gè)根,精確到10-7.(P78)Xn+1=xn-f(xn)/f’(xn)n=0,1,2,3,…當(dāng)|xn+1-xn|≤ε時(shí),xn+1為要求的根。編輯ppt示例3:將一個(gè)二進(jìn)制的原碼轉(zhuǎn)換成補(bǔ)碼(P80)。思考題:輸入一個(gè)十進(jìn)制整數(shù),輸出其原碼和反碼§5.3程序示例(續(xù))編輯ppt示例4:利用級(jí)數(shù)和求cos(x)函數(shù)的近似值(誤差<10-6)分析:應(yīng)用前面的累加和連乘的知識(shí)想到用循環(huán)計(jì)算各項(xiàng)之和,和初值=1

找到后項(xiàng)與前項(xiàng)的關(guān)系:

f(n)=(-1)*f(n-1)*(X2/((2n-3)*(2n-2)))n=2,…x2x4

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論