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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

Print"祝賀你考試通過!"

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

IfScore>=60ThenPrint“祝賀你考試通過!”Print“繼續(xù)努力!!!”1.If…Then結構格式:(1)If條件Then

(A組語句)

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

條件Then

A組語句

ElseB組語句

ENDIf

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

條件1Then

(A組語句)

ElseIf條件2Then(B組語句)

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

Else(n組語句)

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

條件1Then

A組語句

ElseIf條件2ThenB組語句

ElseIf條件3ThenC組語句……

Elsen組語句

EndIf3.If…Then…ElseIf結構注意:多分支語句中,有多個分支同時滿足,只執(zhí)行第一

個與之匹配的語句塊。

注意ElseIf

的寫法§5.1.1If條件語句編輯ppt4.If語句的嵌套§5.1.1If條件語句

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

If

<表達式1>

Then

If

<表達式11>

Then

……

EndIf

……

EndIf

注意:

(1)對于嵌套結構,為了增強程序的可讀性,應該采用縮進形式書寫;(2)If語句形式若不在一行上書寫,必須與EndIf配對多個If嵌套,EndIf與它最接近的If配對。編輯pptSelectCase測試表達式Case測試項1A組語句Case測試項2B組語句……CaseElsen組語句EndSelect說明:測試表達式的值應是數(shù)字或字符型測試項的取值必須與測試表達式的值類型相同,常用形式為:具體取值,用逗號隔開如:1,5,9連續(xù)的范圍:界1TO界2如:12To20

滿足某個條件:Is運算符如:Is>10

三種形式可以組合使用§5.1.2SelectCase語句SelectCase結構例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語句格式:Iif(表達式、條件為真的值,條件為假的值)例:實現(xiàn)將X,Y變量中的大數(shù)放入Tmax變量用If語句:IfX>YThen

Tmax=XElse

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

循環(huán):是在指定的條件下多次重復執(zhí)行一組語句2.For...Next1.Do...Loop3.循環(huán)嵌套4.其他輔助控制語句編輯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í)行過程:(先判斷,后執(zhí)行)先判斷循環(huán)條件,若為真:執(zhí)行循環(huán)體,再判斷循環(huán)條件否則,跳過循環(huán)體,執(zhí)行Loop之后語句循環(huán)條件語句塊TF語句塊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)沒有I=I+1會怎樣?(3)將Print語句移到Loop的前面結果怎樣?(4)I先賦值為11,結果如何?1.While循環(huán)§5.2.1Do…Loop循環(huán)編輯ppt⑵D0循環(huán)體 [Exitdo]循環(huán)體LoopWhile<條件>執(zhí)行過程:(先執(zhí)行,后判斷)先執(zhí)行循環(huán)體,再判斷循環(huán)條件,若為真,繼續(xù)執(zhí)行循環(huán)體;否則,結束循環(huán),執(zhí)行Loop之后語句循環(huán)條件語句塊TF語句塊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í)行結果如何?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:用輾轉相除法求兩自然數(shù)m、n的最大公約數(shù)和最小公倍數(shù)分析:最大公約數(shù)⑴已知兩數(shù)m、n⑵mModn的值為r⑶m←n,n←r,⑷若r<>0,則重復⑵⑶否則,循環(huán)結束,m為所求的最大公約數(shù),最小公倍數(shù)原兩個數(shù)相乘,再除以最大公約數(shù)§5.2.1Do…Loop循環(huán)編輯ppt練習3:我國現(xiàn)有人口13億,按人口年增長率0.8%計算,多少年后我國人口超過26億。分析計算公式:26=13*(1+0.008)n

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

循環(huán)條件:當前人口數(shù)是否超過26億若沒,計算下一年人口數(shù)P=P*(1+R),年數(shù)+1,再判斷§5.2.1Do…Loop循環(huán)編輯ppt執(zhí)行過程:(先判斷,后執(zhí)行)先判斷循環(huán)條件:條件為假:執(zhí)行循環(huán)體,然后再判斷條件.條件為真:跳過循環(huán)體,執(zhí)行Loop之后語句⑶DoUntil<條件>循環(huán)體Loop2.Until循環(huán)循環(huán)條件語句塊FT語句塊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⑴條件應該如何寫出?⑵顯示的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條件為真時執(zhí)行循環(huán)體,否則退出循環(huán)

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

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

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

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

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

重復2、3

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

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

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

DimI%,s%ForI=1To10step1

NextIPrintI,s例1:求1+2+3+4+…+10之和.分析:重復過程(循環(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步長]語句塊

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

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

例2:

求10!分析:重復過程:*初值、終值與增量不變

例1:求1+2+3+4+…+10之和.分析:重復過程(循環(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練習1:計算1~1000的奇數(shù)和與偶數(shù)和方法一:方法二:Step2ForI=1To1000Step2S2=S2+INextIPrintS1,S20S1=0S2=0ForI=1To1000IfImod2<>0thenS1=S1+IElseS2=S2+IEndIfNextIPrintS1,S2§5.2.2For循環(huán)編輯ppt練習2:輸入一個正整數(shù),求各位數(shù)字之和輸入正整數(shù)k

求它的位數(shù)用For循環(huán)1,位數(shù)和步長取k的末位數(shù),求和使k去掉末位數(shù)重復以上兩步,直到結束在text2中顯示結果§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:一個從字母、數(shù)字組成的字符串中找出所有大寫字母并逆序輸出的程序。輸入原字符串

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

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

否則影響結果。⑹

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

endIfForI=100to200

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

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

找到后項與前項的關系:

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論