Page 82 -
P. 82

第四章 程式的流程控制

4-5 Do-Loop 迴圈敍述

      如果您想重複陳述式特定數次時,For-Next 迴圈通常是較好的選擇。當您想不定次數
重複一組陳述式時,請使用 Do-Loop 結構,直到滿足條件為止。可以使用 While 或 Until

指定條件式,但不能同時使用兩者做指定。您只可以在迴圈的開頭或結尾處,測試條件一次
進入迴圈內敍述。如果您在迴圈開頭處測試條件(在 Do 陳述式中),則迴圈內敍述可能一次
都不會執行。如果您在迴圈結尾處進行測試條件(在 Loop 陳述式中),則迴圈永遠至少執行
一次。條件式通常來自於兩個值的比較,它也可以是任何評估為布林型態值 (True 或 False)

的運算式。格式如下:

              前測式 Do-Loop 迴圈                後測式 Do-Loop 迴圈
Do While <條件式>
                              Do
      <迴圈內陳述式>                      <迴圈內陳述式>
Loop
【當<條件式>成立(=True)時,執行】         Loop While <條件式>
                              【當<條件式>成立(=True)時,繼續執行】

Do Until <條件式>                Do

<迴圈內陳述式>                          <迴圈內陳述式>

Loop                          Loop Until <條件式>

【當<條件式>成立(=True)時,跳離迴圈】 【當<條件式>成立(=True)時,離開迴圈】

      因為程式中不像 For-Next 有計數器變數,Do-Loop 迴圈內記得要有計數器變數(如下程
式中的 index += 1),否則會出現無窮迴圈(infinite loop),一直在重複執行某一段程式碼,
無法結束的情形而造成程式系統當機,很多程式設計師在設計過程系統無法結束,大部份原
因是如此。讓我們看看下面幾個範例,同樣輸出為 0 1 2 3 4 5 6 7 8 9 10,不同的迴圈測試
方式,程式寫法有點不同:

                                                           78
   77   78   79   80   81   82   83   84   85   86   87