- 1、本文档共49页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5-1.計數迴圈.ppt
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5-5 條件迴圈(Do/Loop) * * 如果不能預先知道迴圈的次數的話,則必須要使用條件迴圈來解決。例如:王媽媽第一天給小明10元,第二天給20元,第三天給30元,請問小明要儲存到5000元需要多少天? 諸如此類的題目,最好使用條件式迴圈來處理比較容易,如果使用計數迴圈(For/Next)來處理的話,將會增加程式的複雜度。 * * 一般而言,條件迴圈有下面兩種: (1)前測試迴圈(先判斷再執行) 執行前先檢查是否符合條件式,若符合則執行迴圈,不符合則跳出迴圈。也就是所謂的「先判斷條件式再執行迴圈」。常見有下列三種: ?Do While / Loop迴圈 ?Do Until / Loop迴圈 ?While / Wend迴圈 * * (2)後測試迴圈(先執行再判斷) 會先執行迴圈,當執行一次之後,再執行條件式判斷,不符合則跳出迴圈,但至少會執行一次迴圈。也就是所謂的「先執行迴圈再判斷條件式」。常見有下列兩種: ?Do / Loop While 迴圈 ?Do / Loop Until 迴圈 5-6. Do While/Loop迴圈 * * Do While/Loop是屬於前測試迴圈,其功能與While/Wend完全相同,當條件式「成立(True)」時,則執行迴圈敘述。 【語法】 Do While 條件式 程式區塊 Loop 【說明】 當條件式「成立(True)」時,則執行「程式區塊」。Do While /Loop必需要成對的出現。 * * * * 5-7. Do Until/Loop迴圈 * * Do Until/Loop是屬於前測試迴圈,其功能與Do While/Loop完全相反,當條件式「 不成立(False)」時,則執行迴圈敘述。 【語法】 Do Until 條件式 程式區塊 Loop 【說明】 當條件式「不成立(False)」時,執行「程式區塊」。 Do Until/Loop必需要成對的出現 * * 【流程圖】 * * 5-8. While/Wend迴圈的使用 * * 如果預先已知道了迴圈要執行的次數,使用 For ... Next 是一個很好的選擇,但事實並非永遠如此。如果不能預先知道迴圈的次數的話,使用 While/Wend 會是一個很好的選擇。 1.語法 While 條件式 程式區塊 Wend * * 2.說明: (1)While/Wend指當條件式成立時,才會反覆執行迴圈內的敘述。 (2)先判斷While指令後的條件式是否成立,若是,則執行迴圈內的敘述, 直到Wend時,再一次判斷該條件是否成立,若是則繼續,否則跳到 Wend下面的敘述繼續執行。 3.注意:While敘述本身也可以形成巢狀迴圈(Nested Loop)或搭配 For/Next來構成巢狀迴圈。 4.流程圖: * * 比較說明:For/Next 與 While/Wend迴圈之比較 使用For/Next 求:1加至10之總和的程式 說明:已知程式的執行次數固定且重覆時,使用此種迴圈最適合。 2. 使用While/Wend 求:1加至10之總和的程式 說明:重覆但是執行次數無法確定的情況時,使用此種迴圈最適合。 Sum = 0 For i = 1 To 10 Sum = Sum + i Next i MsgBox(1+2+3+...+10= Sum) i = 1 Sum = 0 While i = 10 Sum = Sum + i i = i + 1 Wend MsgBox(1+2+3+...+10= Sum) * * 雖然上面的例子,似乎無法明顯看出While/Wend的功能,但是,有些時候使用For…Next並不容易描述我們想做的事情。 例如:如果我們想要知道2的多少次方才會大於1,000,由於事先並不知道到底是多少,所以很難設定For之中的變數值,勉強去用也會顯得很累贅,但是如果改用While,就會變得很簡單: * * 實例1:求2的多少次方才會大於1,000呢? * * 牛刀小試1: 假如王媽媽第一天給小明1元,第二天給2元,…,以此類推。請問到第幾天才能超過1000元。 一、程式碼:ch5-8B.sln 二、執行結果 01 02 03 04 05 06 07 08 09 10 11 12 13
文档评论(0)