版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、分支結(jié)構(gòu)分支結(jié)構(gòu) 程序示例程序示例 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 順序結(jié)構(gòu)順序結(jié)構(gòu) 算法及程序設(shè)計(jì)基礎(chǔ)算法及程序設(shè)計(jì)基礎(chǔ)鹽城工學(xué)院鹽城工學(xué)院 先對條件測試,根據(jù)測試的結(jié)果選擇執(zhí)行不同的分支先對條件測試,根據(jù)測試的結(jié)果選擇執(zhí)行不同的分支1.If1.If條件語句條件語句2.Select Case 2.Select Case 結(jié)構(gòu)結(jié)構(gòu)Visual Basic 程序設(shè)計(jì)程序設(shè)計(jì)選擇結(jié)構(gòu)選擇結(jié)構(gòu)3.3.條件函數(shù)條件函數(shù) 例:例: score = 60 Then Print 祝賀你考試通過!祝賀你考試通過! Print “繼續(xù)努力!繼續(xù)努力!” : Score=60 Then Score=60 Then Print
2、“Print “祝賀你考試通過!祝賀你考試通過!” Print “Print “繼續(xù)努力繼續(xù)努力!” !” 格式格式:(1) :(1) IfIf 條件條件 Then Then (A(A組語句組語句) ) EndIfEndIf (2)(2) If If 條件條件 Then Then 語句語句執(zhí)行規(guī)則:若執(zhí)行規(guī)則:若, ,執(zhí)行執(zhí)行A A組語句組語句; ; 條件不成立條件不成立, ,跳過跳過A A組語句組語句. .If If條件語句條件語句條件條件A組語句組語句TF使用前提:使用前提:,A,A組語句中只一條執(zhí)行語句組語句中只一條執(zhí)行語句 例:例: If score = 60 Then Print s
3、core Print 祝賀你考試通過!祝賀你考試通過! End If Print “繼續(xù)努力!繼續(xù)努力!” 單分支示例單分支示例例例1:輸入兩個(gè)數(shù),分別放在:輸入兩個(gè)數(shù),分別放在x和和y變量中,比較它們大小,變量中,比較它們大小, 然后將大數(shù)放在然后將大數(shù)放在x中,小數(shù)放在中,小數(shù)放在y中。中。x yx%=Text1.textY%=Text2.textIf x = 60 Then Print “祝賀你考試通過!祝賀你考試通過!” Else Print “考試未通過考試未通過.” End If Print 繼續(xù)努力!繼續(xù)努力!格式:格式: 條件條件 ThenThen A A組語句組語句 Else
4、Else B B組語句組語句 執(zhí)行規(guī)則執(zhí)行規(guī)則: :條件條件成立成立, ,執(zhí)行執(zhí)行A A組語句組語句, , 條件條件不成立不成立, ,執(zhí)行執(zhí)行B B組語句組語句例例2:計(jì)算分段函數(shù):計(jì)算分段函數(shù): (可用可用、和和實(shí)現(xiàn))實(shí)現(xiàn))Y=x2+1 (x0) x3+3x (x=0)條件條件A組語句組語句TFB組語句組語句1. 1. If If條件語句條件語句雙分支雙分支F兩邊之和大于第三邊?兩邊之和大于第三邊?例例3: 3: 已知已知三邊的長,設(shè)計(jì)三邊的長,設(shè)計(jì) 求求面積的程序。面積的程序。( (實(shí)驗(yàn)實(shí)驗(yàn)5)5)輸入輸入a,b,ca,b,c求求S S結(jié)束結(jié)束輸出輸出s s求半周長求半周長L LT提示提示
5、數(shù)據(jù)錯(cuò)數(shù)據(jù)錯(cuò)開始開始If If條件語句條件語句例例4:輸入二級考試成績,要求顯示對應(yīng)三級制的:輸入二級考試成績,要求顯示對應(yīng)三級制的 評定。評定條件為:評定。評定條件為: 優(yōu):優(yōu):Mark 90等級:等級: 通過:通過:60 Mark 90 未通過:未通過:= 90 Then Print 優(yōu)ElseIf Mark = 60 Then Print “通過Else Print “未通過End If格式:格式: 條件條件1 1 ThenThen (A A組語句)組語句) ElseIfElseIf 條件條件2 Then2 Then (B B組語句)組語句) ElseIfElseIf 條件條件3 The
6、n3 Then (C C組語句)組語句) ElseElse (n n組語句組語句) If If條件語句條件語句注意:注意: 多分支語句中,有多分支語句中,有多個(gè)分多個(gè)分 支同時(shí)滿足,只支同時(shí)滿足,只執(zhí)行執(zhí)行與之匹配的與之匹配的語句塊。語句塊。 注意注意 的寫法的寫法例例5 5 編寫一個(gè)按月收入額計(jì)算個(gè)人收入調(diào)節(jié)稅的程序編寫一個(gè)按月收入額計(jì)算個(gè)人收入調(diào)節(jié)稅的程序 計(jì)算方法如下計(jì)算方法如下 0 Pay10000 Pay1000或離退休或離退休 (Pay-1000)(Pay-1000)* *0.05 10000.05 1000Pay2000Pay2000 Z Z (Pay-2000)(Pay-200
7、0)* *0.15+50 20000.15+50 2000Pay3000Pay3000 (Pay-3000) (Pay-3000)* *0.25+200 30000.25+200 3000Pay4000 Pay4000 (Pay-4000) (Pay-4000)* *0.35+450 Pay4000 0.35+450 Pay4000 :選擇語句結(jié)構(gòu)選擇語句結(jié)構(gòu) 每個(gè)條件的表示及先后順序每個(gè)條件的表示及先后順序If If條件語句條件語句多分支多分支If If條件語句條件語句 IfIf語句的嵌套是指語句的嵌套是指if if 或或elseelse后面的后面的語句塊中又包含語句塊中又包含IfIf語句。
8、語句形式:語句。語句形式: Then1 Then Then11 Then (1) (1) 對于嵌套結(jié)構(gòu),為了增強(qiáng)程序的可讀性,應(yīng)該采用縮進(jìn)對于嵌套結(jié)構(gòu),為了增強(qiáng)程序的可讀性,應(yīng)該采用縮進(jìn) 形式書寫;形式書寫;(2) If(2) If語句形式若不在一行上書寫,必須與語句形式若不在一行上書寫,必須與End IfEnd If配對配對 多個(gè)多個(gè)IfIf嵌套,嵌套,End IfEnd If與它最接近的與它最接近的If If 配對。配對。 單分支語句 雙分支語句 多分支語句Select CaseSelect Case 測試表達(dá)式測試表達(dá)式 Case Case 測試項(xiàng)測試項(xiàng)1 1 A A組語句組語句 Cas
9、e Case 測試項(xiàng)測試項(xiàng)2 2 B B組語句組語句 Case Case ElseElse n n組語句組語句End SelectEnd Select 測試表達(dá)式的值應(yīng)是數(shù)字或字符型測試表達(dá)式的值應(yīng)是數(shù)字或字符型 測試項(xiàng)的取值測試項(xiàng)的取值必須必須與測試表達(dá)式與測試表達(dá)式 的值的值類型相同,類型相同,常用形式為:常用形式為:具體取值,用逗號隔開具體取值,用逗號隔開如:如:1 1,5 5,9 9連續(xù)的范圍:界連續(xù)的范圍:界1 TO 1 TO 界界2 2如:如:12 To 2012 To 20 滿足某個(gè)條件:滿足某個(gè)條件:IsIs運(yùn)算符運(yùn)算符如:如:Is10Is10 三種形式可以組合使用三種形式可以
10、組合使用Select CaseSelect Case語句語句例例5:輸入二級考試成績,要求顯:輸入二級考試成績,要求顯 示對應(yīng)三級制的評定。示對應(yīng)三級制的評定。 Mark=Val(Text1.Text)Select case Mark case is=90 Print 優(yōu) case 90 to 60 Print “通過 Case Else Print “未通過End selectMark=Val(Text1.Text)K=mark10Select case case 10,9 Print 優(yōu) case 8 to 6 Print “通過 Case Else Print “未通過End selec
11、t例例7 7 編寫一個(gè)加油站計(jì)費(fèi)程序編寫一個(gè)加油站計(jì)費(fèi)程序 在在“種類種類”中選擇油品種類,界面上的說明文字將中選擇油品種類,界面上的說明文字將隨之改變,并將隨之改變,并將“數(shù)量數(shù)量”文本框設(shè)為焦點(diǎn);在數(shù)量文本文本框設(shè)為焦點(diǎn);在數(shù)量文本框中輸入需購的油品數(shù)量后,單擊框中輸入需購的油品數(shù)量后,單擊“計(jì)算計(jì)算”按鈕,在按鈕,在“總價(jià)總價(jià)”文本框顯示所購油品種類應(yīng)付的金額。已知汽油文本框顯示所購油品種類應(yīng)付的金額。已知汽油單價(jià):單價(jià): 90號 2.30元/升 95號 2.45元/升 100號 2.60元/升分支結(jié)構(gòu)分支結(jié)構(gòu)選擇結(jié)構(gòu)選擇結(jié)構(gòu)例例4-8 :4-8 :編寫一個(gè)按月收入額計(jì)個(gè)人收入調(diào)節(jié)稅編寫
12、一個(gè)按月收入額計(jì)個(gè)人收入調(diào)節(jié)稅的應(yīng)用程序的應(yīng)用程序. .計(jì)稅公式如下計(jì)稅公式如下: : tax tax = = 0 pay=1000 0 pay=1000 (pay-1000) (pay-1000)* *0.05 1000pay=15000.05 1000pay=1500 (pay-1500) (pay-1500)* *0.1+25 1500pay=20000.1+25 1500pay=2000 (pay-2000) (pay-2000)* *0.15+75 2000pay=25000.15+75 2000pay=2500 (pay-2500) (pay-2500)* *0.2+150 250
13、0pay=30000.2+150 2500pay30000.3+300 pay3000賦值語句賦值語句分支語句分支語句 變量名變量名= =表達(dá)式表達(dá)式 對象對象. .屬性屬性= =表達(dá)式表達(dá)式 變量變量= =對象對象. .屬性屬性變量賦值:變量賦值: 屬性賦值:屬性賦值: 1. 1. IfIfThen Then 結(jié)構(gòu)結(jié)構(gòu)2. 2. IfIfThenThenElse Else 結(jié)構(gòu)結(jié)構(gòu)3. 3. IfIfThenThenElseIfElseIf 結(jié)構(gòu)結(jié)構(gòu)4. 4. Select Case Select Case 結(jié)構(gòu)結(jié)構(gòu)循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)循環(huán)循環(huán): :是在指定的條件下多次重復(fù)執(zhí)行一組語句是在指定的
14、條件下多次重復(fù)執(zhí)行一組語句1. For 1. For NextNext2. Do2. DoLoop Loop 3. 3. 循環(huán)嵌套循環(huán)嵌套 4.4.其他輔助控制語句其他輔助控制語句循環(huán)變量循環(huán)變量= =循環(huán)變量循環(huán)變量+ +步長步長語句塊語句塊FExit ForExit For語句塊語句塊T循環(huán)變量循環(huán)變量=終值終值 For For 循環(huán)變量循環(huán)變量= =初值初值 TO TO 終值終值 Step Step 步長步長 語句塊語句塊 Exit ForExit For 語句塊語句塊 Next Next 循環(huán)變量循環(huán)變量執(zhí)行過程執(zhí)行過程: (1) 將初值賦循環(huán)變量;將初值賦循環(huán)變量; (2) 判斷循環(huán)
15、變量值是否判斷循環(huán)變量值是否小于等于小于等于 終止值;終止值; (3) 若是若是,執(zhí)行循環(huán)體(語句塊);執(zhí)行循環(huán)體(語句塊); (4) 然后將變量增加一個(gè)步長;然后將變量增加一個(gè)步長; (5)重復(fù)重復(fù)24步驟。步驟。 (6)否則,結(jié)束循環(huán)否則,結(jié)束循環(huán)ForFor循環(huán)循環(huán)步長省略,步長省略,默認(rèn)為默認(rèn)為1 1循環(huán)變量賦初值循環(huán)變量賦初值FT循環(huán)體循環(huán)體程序代碼:程序代碼: Dim I%, s % For I = 1 To 10 step 1 Next I Print I, s例例1:1:求求1+2+3+4+1+2+3+4+10+10之和之和. .分析分析: :重復(fù)過程重復(fù)過程( (循環(huán)體循環(huán)體
16、) ): s: ss s+I+I初值、終值和增量初值、終值和增量:1、10、I循環(huán)體的執(zhí)行次數(shù)是多少循環(huán)體的執(zhí)行次數(shù)是多少 ? ? 輸出的輸出的I、S的值是多少的值是多少 ? ?For I = 1 To 10執(zhí)行多少次?執(zhí)行多少次?s = s + IFor I=10 To 1 Step -1ForFor循環(huán)循環(huán) For For 循環(huán)變量循環(huán)變量= =初值初值 TO TO 終值終值 Step Step 步長步長 語句塊語句塊 Exit ForExit For 語句塊語句塊 Next Next 循環(huán)變量循環(huán)變量循環(huán)體循環(huán)體 Dim I, s As Integer For I = 1 To 10 s
17、 = s + I Next I Print I, s 例例2:2: 求求1010!分析分析: :重復(fù)過程重復(fù)過程: :* *初值、終值與增量不變初值、終值與增量不變 例例1:1:求求1+2+3+4+ 1+2+3+4+ +10+10之和之和. .分析分析: :重復(fù)過程重復(fù)過程( (循環(huán)體循環(huán)體) ): : + +初值、終值和增量初值、終值和增量:1、10、1 Dim I, s As Integer For I = 1 To 10 s = s * I Next I Print I, ss=1For I = 1 To 10For I = 1 To 10 s=1ForFor循環(huán)循環(huán)S1 =0S2 =0
18、For I = S1 = S1 + INext I練習(xí)練習(xí)1 1:計(jì)算:計(jì)算1 110001000的奇數(shù)和與偶數(shù)和的奇數(shù)和與偶數(shù)和 方法一:方法一: 方法二:方法二:For I = S2 = S2 + INext IPrint S1,S2S1 =0S2 =0For I = If I mod 20 then S1 = S1 + I Else S2 = S2 + I End IfNext IPrint S1,S2ForFor循環(huán)循環(huán)練習(xí)練習(xí)2 2:輸入一個(gè)正整數(shù),求個(gè)位數(shù)字之和:輸入一個(gè)正整數(shù),求個(gè)位數(shù)字之和 輸入正整數(shù)輸入正整數(shù)k 求它的位數(shù)求它的位數(shù) 用用For循環(huán)循環(huán) 1,位數(shù)和步長,位數(shù)和
19、步長 取取k的末位數(shù),求和的末位數(shù),求和 使使k去掉末位數(shù)去掉末位數(shù) 重復(fù)以上兩步,直到結(jié)束重復(fù)以上兩步,直到結(jié)束 在在text2中顯示結(jié)果中顯示結(jié)果ForFor循環(huán)循環(huán)例:分析下列程序段的輸出結(jié)果:例:分析下列程序段的輸出結(jié)果: Dim I As Integer, J As Integer J = 0 For I = 0 To 10 Step 2 I = I + 3 J = J + 1 Next I注意:注意:1.1.初值、終值、步長必須是初值、終值、步長必須是數(shù)值型數(shù)值型, 步長為步長為正正,初值,初值 終值;終值;缺省缺省為默認(rèn)為為默認(rèn)為1 12.2.在已知循環(huán)次數(shù)時(shí)使用在已知循環(huán)次數(shù)時(shí)
20、使用ForFor循環(huán),循環(huán),循環(huán)次數(shù)循環(huán)次數(shù)=int=int(終值終值- -初值初值)/)/步長步長)+1)+13.3.組成循環(huán)體的語句塊可以是一條或多條語句組成循環(huán)體的語句塊可以是一條或多條語句4.Exit For4.Exit For表示當(dāng)遇到該語句時(shí),退出循環(huán)體,執(zhí)行表示當(dāng)遇到該語句時(shí),退出循環(huán)體,執(zhí)行NextNext的下一句;的下一句;5.5.退出循環(huán)后,循環(huán)變量保持退出時(shí)的值退出循環(huán)后,循環(huán)變量保持退出時(shí)的值6.6.只有當(dāng)循環(huán)變量發(fā)生變化時(shí)只有當(dāng)循環(huán)變量發(fā)生變化時(shí), ,執(zhí)行的次數(shù)才會改變執(zhí)行的次數(shù)才會改變. .ForFor循環(huán)循環(huán)1. Do 1. Do WhileWhile 循環(huán)體循環(huán)
21、體 LoopLoop2. D0 2. D0 循環(huán)體循環(huán)體 Loop Loop WhileWhile 3. Do 3. Do UntilUntil 循環(huán)體循環(huán)體 LoopLoop4. Do 4. Do 循環(huán)體循環(huán)體 Loop Loop Until Until DoDoLoopLoop循環(huán)循環(huán) Do While Do While 循環(huán)體循環(huán)體 LoopLoop執(zhí)行過程執(zhí)行過程: :(先判斷,后執(zhí)行)(先判斷,后執(zhí)行)先判斷循環(huán)條件先判斷循環(huán)條件, ,若為真若為真: :執(zhí)行循環(huán)體執(zhí)行循環(huán)體, ,再判斷循環(huán)條件再判斷循環(huán)條件否則,跳過循環(huán)體否則,跳過循環(huán)體, ,執(zhí)行執(zhí)行LoopLoop之后語句之后語句
22、循環(huán)條件循環(huán)條件語句塊語句塊TF語句塊語句塊FExit DoExit DoTDoDoLoopLoop循環(huán)循環(huán) Do While Do While 循環(huán)體循環(huán)體 LoopLoop Dim I, s As Integer For I = 1 To 10 s = s + I Next I Print I, s例例1:1:求求1+2+3+4+1+2+3+4+10+10的和的和. .Dim I,s As Integer Dim I,s As Integer I=1I=1Do WhileDo WhileLoopLoopPrint I,s Print I,s s=s+I s=s+I I=10I=10I=I+
23、1I=I+1I=11I=11(1)(1)循環(huán)體執(zhí)行了幾次循環(huán)體執(zhí)行了幾次? ? (2)(2)沒有沒有I=1I=1會怎樣會怎樣? ?(3)(3)將將PrintPrint語句語句移到移到LoopLoop的的 前面結(jié)果怎樣前面結(jié)果怎樣? ?(4)I(4)I先賦值為先賦值為11,11,結(jié)果如何結(jié)果如何? ?DoDoLoopLoop循環(huán)循環(huán) D0 D0 循環(huán)體循環(huán)體 Loop While Loop While 執(zhí)行過程執(zhí)行過程: :(先執(zhí)行,后判斷)(先執(zhí)行,后判斷)先執(zhí)行循環(huán)體先執(zhí)行循環(huán)體, ,再判斷循環(huán)條件再判斷循環(huán)條件, ,若為真,若為真, 繼續(xù)執(zhí)行循環(huán)體繼續(xù)執(zhí)行循環(huán)體; ;否則,結(jié)束循環(huán)否則,結(jié)
24、束循環(huán), ,執(zhí)行執(zhí)行LoopLoop之后語句之后語句循環(huán)條件循環(huán)條件語句塊語句塊TF語句塊語句塊FExit DoExit DoTDoDoLoopLoop循環(huán)循環(huán) D0 D0 循環(huán)體循環(huán)體 Loop While Loop While 例例4:4:修改例修改例3 3 Dim I,s As Integer Dim I,s As Integer I=1 I=1 Do Do While I=10While I=10 s=s+I s=s+I I=I+1 I=I+1 Loop Loop Print I,s Print I,s Dim I,s As Integer Dim I,s As Integer I=1
25、 I=1 Do Do s=s+I s=s+I I=I+1 I=I+1 Loop Loop While I=10While I=10 Print I,s Print I,s DoDoLoopLoop循環(huán)循環(huán) Do Do WhileWhile 循環(huán)體循環(huán)體 LoopLoop D0 D0 循環(huán)體循環(huán)體 Loop Loop WhileWhile 區(qū)別區(qū)別: :(1)(1)執(zhí)行順序不同執(zhí)行順序不同 形形式一式一: :先判斷先判斷, ,后執(zhí)行后執(zhí)行循環(huán)體循環(huán)體; ; 形式二形式二: :先執(zhí)行先執(zhí)行循環(huán)體循環(huán)體, ,后判斷后判斷 (2)(2)執(zhí)行次數(shù)不同執(zhí)行次數(shù)不同(特殊情況下) 形式一形式一: :條件不滿
26、足條件不滿足, ,循環(huán)體可能一次也不執(zhí)行循環(huán)體可能一次也不執(zhí)行 形式二形式二: :不論條件如何不論條件如何, ,至少執(zhí)行一次至少執(zhí)行一次DoDoLoopLoop循環(huán)循環(huán)練習(xí)練習(xí)3:用輾轉(zhuǎn)相除法求兩自然數(shù):用輾轉(zhuǎn)相除法求兩自然數(shù)m、n的最大公約數(shù)的最大公約數(shù)和和 最小公倍數(shù)最小公倍數(shù)分析:分析:最大公約數(shù)最大公約數(shù) 已知兩數(shù)已知兩數(shù)m、n m Mod n的值為的值為r mn,nr, 若若r0 ,則重復(fù),則重復(fù) 否則,循環(huán)結(jié)束,否則,循環(huán)結(jié)束,m為所求的最大公約數(shù),為所求的最大公約數(shù),最小公倍數(shù)最小公倍數(shù)原兩個(gè)數(shù)相乘,再除以最大公約數(shù)原兩個(gè)數(shù)相乘,再除以最大公約數(shù)DoDoLoopLoop循環(huán)循環(huán)執(zhí)
27、行過程執(zhí)行過程: :(先判斷,后執(zhí)行)(先判斷,后執(zhí)行)先判斷循環(huán)條件:先判斷循環(huán)條件:條件為條件為假假: : 執(zhí)行循環(huán)體執(zhí)行循環(huán)體, , 然后再判斷條件然后再判斷條件. .條件為條件為真真: : 跳過循環(huán)體跳過循環(huán)體, , 執(zhí)行執(zhí)行LoopLoop之后語句之后語句 Do Until Do Until 循環(huán)體循環(huán)體 LoopLoop循環(huán)條件循環(huán)條件語句塊語句塊語句塊語句塊FExit DoExit DoTDoDoLoopLoop循環(huán)循環(huán) Do Until Do Until 循環(huán)體循環(huán)體 LoopLoop例例5:5:修改上例修改上例Dim I,s As Integer Dim I,s As Int
28、eger I=1I=1Do Do While I=10While I=10 s=s+I s=s+I I=I+1 I=I+1LoopLoopPrint I,s Print I,s Dim I,s As Integer Dim I,s As Integer I=1I=1Do Do Until Until s=s+Is=s+I I=I+1 I=I+1LoopLoopPrint I,s Print I,s 條件應(yīng)該如何寫出條件應(yīng)該如何寫出? 顯示的顯示的I、S值與值與 上例一樣嗎?上例一樣嗎? Do Do 循環(huán)體循環(huán)體 Loop Until Loop Until DoDoLoopLoop循環(huán)循環(huán) Do
29、Do While While 循環(huán)體循環(huán)體 LoopLoop( While While ) Do Do Until Until 循環(huán)體循環(huán)體 LoopLoop( Until Until )區(qū)別區(qū)別: : While While 條件為條件為真真時(shí)執(zhí)行循環(huán)體時(shí)執(zhí)行循環(huán)體, ,否則退出循環(huán)否則退出循環(huán) Until Until 條件為條件為假假時(shí)執(zhí)行循環(huán)體時(shí)執(zhí)行循環(huán)體, ,否則退出循環(huán)否則退出循環(huán)關(guān)系:關(guān)系: whilewhile和和UntilUntil可以相互可以相互轉(zhuǎn)換轉(zhuǎn)換,但循環(huán)條件,但循環(huán)條件取反取反DoDoLoopLoop循環(huán)循環(huán)在一個(gè)循環(huán)體內(nèi)又包含了一個(gè)完整的循環(huán)結(jié)構(gòu)在一個(gè)循環(huán)體內(nèi)又包含
30、了一個(gè)完整的循環(huán)結(jié)構(gòu)4.4.3 4.4.3 循環(huán)嵌套循環(huán)嵌套 For I = 1 To 9 For J = 1 To I s = I & & J & = & I * J Picture1.Print Tab(J - 1) * 8 + 1); s; Next J Picture1.Print Next I注意:注意: 內(nèi)、外循環(huán)變量不能同名內(nèi)、外循環(huán)變量不能同名 外循環(huán)必須完全包含內(nèi)循環(huán),不能出現(xiàn)交叉外循環(huán)必須完全包含內(nèi)循環(huán),不能出現(xiàn)交叉 分析:用三種循環(huán)分析:用三種循環(huán)個(gè)位個(gè)位x x的可能取值為的可能取值為0 09 9十位十位y y的可能取值為的可能取值為0 09 9百位百位z z的可能取值為
31、的可能取值為1 19 9, 看三個(gè)位置上的數(shù)是否滿足如下條件,若滿足,即看三個(gè)位置上的數(shù)是否滿足如下條件,若滿足,即是其中一個(gè)解是其中一個(gè)解 x x3 3+y+y3 3+z+z3 3=z=z100100y y1010 x x 練習(xí)練習(xí)6 6:求水仙花數(shù):求水仙花數(shù) 水仙花數(shù)是指一個(gè)水仙花數(shù)是指一個(gè)3 3位數(shù),其各個(gè)數(shù)字的立方和等于位數(shù),其各個(gè)數(shù)字的立方和等于數(shù)字本身。數(shù)字本身。循環(huán)嵌套循環(huán)嵌套 滿足循環(huán)條件的情況下,提前跳出循環(huán)體,結(jié)束循環(huán)。滿足循環(huán)條件的情況下,提前跳出循環(huán)體,結(jié)束循環(huán)。 兩種形式:兩種形式:Exit For、Exit Do 作用:無條件的轉(zhuǎn)移到標(biāo)號或行號指定的語句作用:無條
32、件的轉(zhuǎn)移到標(biāo)號或行號指定的語句 語法:語法:GoTo 標(biāo)號標(biāo)號|行號行號 100100 If I = 100 Then If I = 100 Then s = s + I s = s + I I = I + 2 I = I + 2 GoTo GoTo 100 100 End If End If其他輔助控制語句其他輔助控制語句Dim I As IntegerIf I mod 17 =0 then print I end If For I=100 to 200 Next IExit for分析:分析: 重復(fù)工作:判斷每個(gè)數(shù)除重復(fù)工作:判斷每個(gè)數(shù)除17的余數(shù)是否為的余數(shù)是否為0 初值、終值和增量:初
33、值、終值和增量:練習(xí)練習(xí)7 7: 求出求出100100200200之間的之間的第一個(gè)第一個(gè)能被能被1717整除的整數(shù)。整除的整數(shù)。其他輔助控制語句其他輔助控制語句程序示例程序示例51.1.累加、連乘累加、連乘例例1 1:編寫一個(gè)大獎賽統(tǒng)計(jì)選手得分的程序。:編寫一個(gè)大獎賽統(tǒng)計(jì)選手得分的程序。 要求單擊要求單擊“得分顯示得分顯示”按鈕,則可以利用隨機(jī)函數(shù)產(chǎn)生按鈕,則可以利用隨機(jī)函數(shù)產(chǎn)生1010個(gè)個(gè)8080100100分之間的隨機(jī)整數(shù),輸出在窗體上,并將計(jì)算選手的分之間的隨機(jī)整數(shù),輸出在窗體上,并將計(jì)算選手的最后得分也在窗體上顯示。最后得分也在窗體上顯示。如果在評委的給分中,去掉一個(gè)最高分和一個(gè)最低
34、分,然如果在評委的給分中,去掉一個(gè)最高分和一個(gè)最低分,然后計(jì)算最后得分后計(jì)算最后得分分析:由隨機(jī)函數(shù)生成分析:由隨機(jī)函數(shù)生成8080100100之間的之間的1010個(gè)數(shù)據(jù)個(gè)數(shù)據(jù) 連續(xù)求和連續(xù)求和 求平均值求平均值 2.2.求階乘求階乘例例2 2:求任一給定整數(shù)的階乘,:求任一給定整數(shù)的階乘,n n!分析:對于任意整數(shù)分析:對于任意整數(shù)n n,有三種可能:,有三種可能: 若若 :n=0:n0:n0:用循環(huán)實(shí)現(xiàn)乘運(yùn)算用循環(huán)實(shí)現(xiàn)乘運(yùn)算 輸出結(jié)果輸出結(jié)果: 1.1.已知已知n n,求,求1! 1! n!n!之和之和 2.2.給定條件給定條件1! 1! n!n!之和之和=5000=5000,求最大,求最
35、大n n值值 3.3.求近似值求近似值例例3 3:利用級數(shù)和求:利用級數(shù)和求cos(xcos(x) )函數(shù)的近似值函數(shù)的近似值( (誤差誤差 10-6) =Ix=I時(shí)時(shí) 如果如果x mod Ix mod I0 0 ,I I是一個(gè)因子是一個(gè)因子 否則否則I I加加1 1:判斷一個(gè)正整數(shù):判斷一個(gè)正整數(shù)n n是否是完數(shù)是否是完數(shù) 即一個(gè)數(shù)恰好等于它的因子之和即一個(gè)數(shù)恰好等于它的因子之和 如:如:28281 12 24 47 714 14 4.4.窮舉法窮舉法窮舉法:就是將可能出現(xiàn)的各種情況一一測試,判斷是否窮舉法:就是將可能出現(xiàn)的各種情況一一測試,判斷是否 滿足條件滿足條件 For x = 0 T
36、o 100 For y = 0 To 100 For z = 0 To 100 If x + y + z = 100 And _ 3 * x + 2 * y + 0.5 * z = 100 Then Print x, y, z End If Next z Next y Next x例:百錢買百雞例:百錢買百雞 假設(shè):小雞假設(shè):小雞5 5角角/ /只,公雞只,公雞2 2元元/ /只,母雞只,母雞3 3元元/ /只,現(xiàn)有只,現(xiàn)有100100元錢要買元錢要買100100只雞,編只雞,編程列出所有可能的購雞方程列出所有可能的購雞方案案分析:設(shè)母雞、公雞、小分析:設(shè)母雞、公雞、小雞分別買雞分別買X X、
37、Y Y、Z Z只只 X+Y+Z=100 X+Y+Z=100 3 3* *X+2X+2* *Y+0.5Y+0.5* *Z=100Z=100 For x = 0 To 33 For y = 0 To 50 If 3 * x + 2 * y + 0.5 * (100 - x - y)_ = 100 Then Print x, y, z End If Next y Next x4.4.字符轉(zhuǎn)換字符轉(zhuǎn)換例:將一個(gè)二進(jìn)制的原碼轉(zhuǎn)換成反碼例:將一個(gè)二進(jìn)制的原碼轉(zhuǎn)換成反碼分析:分析: 循環(huán)語句循環(huán)語句決定轉(zhuǎn)換的次數(shù)決定轉(zhuǎn)換的次數(shù) MidMid函數(shù)獲取一個(gè)二進(jìn)制位函數(shù)獲取一個(gè)二進(jìn)制位 IfIf語句判斷該位語句判
38、斷該位0 01,11,10 0思考題:輸入一個(gè)十進(jìn)制整數(shù),輸出其原碼和反碼思考題:輸入一個(gè)十進(jìn)制整數(shù),輸出其原碼和反碼4.4.字符轉(zhuǎn)換字符轉(zhuǎn)換例:字符加密。將由大寫英文字母組成的字符串的每個(gè)字符的例:字符加密。將由大寫英文字母組成的字符串的每個(gè)字符的ASCIIASCII代碼轉(zhuǎn)換成二進(jìn)制,按位與指定密鑰代碼轉(zhuǎn)換成二進(jìn)制,按位與指定密鑰“01111111”01111111”進(jìn)行異進(jìn)行異或運(yùn)算,把得到的結(jié)果轉(zhuǎn)換成十進(jìn)制數(shù),再轉(zhuǎn)換成對應(yīng)的加密字或運(yùn)算,把得到的結(jié)果轉(zhuǎn)換成十進(jìn)制數(shù),再轉(zhuǎn)換成對應(yīng)的加密字符符分析:其中一個(gè)字符的轉(zhuǎn)換分析:其中一個(gè)字符的轉(zhuǎn)換 獲取每個(gè)字母的獲取每個(gè)字母的ASCiiASCii碼
39、(碼(ASCASC函數(shù),函數(shù),取子串函數(shù))取子串函數(shù)) 將十進(jìn)制將十進(jìn)制ASCIIASCII碼轉(zhuǎn)換成二進(jìn)制碼轉(zhuǎn)換成二進(jìn)制ASCIIASCII碼。碼。 再與再與0111111101111111進(jìn)行異或運(yùn)算進(jìn)行異或運(yùn)算 再轉(zhuǎn)換成對應(yīng)的字符(再轉(zhuǎn)換成對應(yīng)的字符(chrchr函數(shù))函數(shù)) 連接成字符串連接成字符串2. 建立登錄窗口建立登錄窗口3. 一家水果店出售蘋果、桔子、香蕉和菠蘿四種水果,編一程序,一家水果店出售蘋果、桔子、香蕉和菠蘿四種水果,編一程序,輸入價(jià)格和重量,輸出應(yīng)付金額。輸入價(jià)格和重量,輸出應(yīng)付金額。4. 要求單擊窗體時(shí),在窗體上顯示系統(tǒng)當(dāng)前的日期。要求單擊窗體時(shí),在窗體上顯示系統(tǒng)當(dāng)前
40、的日期。 輸出格式為輸出格式為“年年月月日星期日星期” 1. 根據(jù)輸入的半徑長度,計(jì)算圓的周長和面積根據(jù)輸入的半徑長度,計(jì)算圓的周長和面積1. 求求z的值,的值,z 本題能否用本題能否用select case語句替換實(shí)現(xiàn)?為什么?語句替換實(shí)現(xiàn)?為什么?2. 實(shí)驗(yàn)實(shí)驗(yàn)5-23. 貨幣兌換(實(shí)驗(yàn)書貨幣兌換(實(shí)驗(yàn)書5-4)4. 計(jì)算運(yùn)費(fèi)(實(shí)驗(yàn)書計(jì)算運(yùn)費(fèi)(實(shí)驗(yàn)書5-5)* 5. 編寫一個(gè)高速公路收費(fèi)程序編寫一個(gè)高速公路收費(fèi)程序 不同的車行不同的里數(shù),收費(fèi)標(biāo)準(zhǔn)不同。小型客車收費(fèi)系數(shù)為不同的車行不同的里數(shù),收費(fèi)標(biāo)準(zhǔn)不同。小型客車收費(fèi)系數(shù)為1,大型客車,大型客車的收費(fèi)系數(shù)為的收費(fèi)系數(shù)為1.5,貨車的收費(fèi)系數(shù)
41、為,貨車的收費(fèi)系數(shù)為2,當(dāng)行程不超過,當(dāng)行程不超過100Km時(shí),應(yīng)付費(fèi)時(shí),應(yīng)付費(fèi)20收費(fèi)系數(shù),當(dāng)行程不超過收費(fèi)系數(shù),當(dāng)行程不超過200Km時(shí),應(yīng)付費(fèi)時(shí),應(yīng)付費(fèi)40收費(fèi)系數(shù)收費(fèi),當(dāng)行收費(fèi)系數(shù)收費(fèi),當(dāng)行程不超過程不超過300Km時(shí),應(yīng)付費(fèi)時(shí),應(yīng)付費(fèi)60收費(fèi)系數(shù)收費(fèi)當(dāng)行程超過收費(fèi)系數(shù)收費(fèi)當(dāng)行程超過300Km時(shí),應(yīng)付時(shí),應(yīng)付費(fèi)費(fèi)80收費(fèi)系數(shù)收費(fèi)收費(fèi)系數(shù)收費(fèi) 實(shí)現(xiàn):選擇不同的車型,在實(shí)現(xiàn):選擇不同的車型,在text1中輸入行使的里數(shù),單擊中輸入行使的里數(shù),單擊“確定確定”按鈕按鈕,在,在text2中顯示其應(yīng)付費(fèi)。中顯示其應(yīng)付費(fèi)。ex+y x0,y0e2x-y 0=x=0lnx x=1實(shí)驗(yàn)循環(huán)結(jié)構(gòu)實(shí)驗(yàn)循環(huán)結(jié)構(gòu)( (一一) )1.6-11.6-1求素?cái)?shù)求素?cái)?shù)2.6-32.6-3求近似值求近似值3.6-4,3.6-4
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生物老師工作總結(jié)(合集5篇)
- 2025版錨具研發(fā)與技術(shù)服務(wù)合同3篇
- 2024年金融交易介紹合同
- 2024年綠色環(huán)保木工模板研發(fā)、生產(chǎn)與施工總承包合同3篇
- 二零二五年度體育產(chǎn)業(yè)財(cái)務(wù)戰(zhàn)略規(guī)劃合同3篇
- 2024年網(wǎng)絡(luò)游戲知識產(chǎn)權(quán)許可合同
- 2024年贈與合同贈與物品的交付程序
- 2025版水利工程增項(xiàng)補(bǔ)充協(xié)議3篇
- 二零二五年度企業(yè)品牌戰(zhàn)略規(guī)劃與品牌管理服務(wù)合同3篇
- 2024年環(huán)保設(shè)備運(yùn)行維護(hù)及升級改造合同
- GB 2714-2015食品安全國家標(biāo)準(zhǔn)醬腌菜
- 業(yè)委會年終總結(jié)報(bào)告
- 中國移動集團(tuán)客戶經(jīng)理的工作總結(jié)
- 中醫(yī)護(hù)理質(zhì)量指標(biāo)
- 患者告知及知情同意簽字制度
- 公司各中心事業(yè)部獨(dú)立核算運(yùn)營實(shí)施方案
- 幼兒園大班綜合《我們和手機(jī)》課件
- 中小企業(yè)內(nèi)部控制與風(fēng)險(xiǎn)管理(第二版)項(xiàng)目五:銷售業(yè)務(wù)內(nèi)部控制與風(fēng)險(xiǎn)管理
- 中鐵二局工程項(xiàng)目全員安全教育培訓(xùn)考試試題(普工)附答案
- 08坦白檢舉教育
- 10、美的微波爐美食創(chuàng)意拍攝腳本
評論
0/150
提交評論