跳轉到內容

PBASIC 程式設計/迴圈

來自華夏公益教科書,開放的書本,構建開放的世界

有時我們需要重複執行一段程式碼多次。對於少量重複,我們可以使用簡單的複製貼上。但是,如果我們想要重複執行一個動作很多次,或者甚至無限次重複,我們需要使用名為 **迴圈** 的特殊技術。使用我們已經看到的 GOTO 函式,我們已經瞭解了一種基本的迴圈型別,但還有其他型別的迴圈可以使用。在某些情況下,有很多方法可以完成同一個任務。

無限迴圈

[編輯 | 編輯原始碼]

我們已經看到了使用 GOTO 函式的簡單迴圈。這是一個很好的例子

LoopTop:
   ... 'code to repeat goes here
GOTO LoopTop

不需要建立新標籤然後跳轉到它,我們可以使用一個稱為 DO / LOOP 的專門結構,它執行相同的任務,但更容易被人理解。

DO / LOOP

[編輯 | 編輯原始碼]

DO / LOOP 結構是一個無限迴圈,但它不需要我們建立標籤。要使用 DO / LOOP,我們編寫

DO
   ... 'code to repeat goes here
LOOP

FOR / NEXT

[編輯 | 編輯原始碼]

如果我們有一段程式碼想要重複有限次,我們不能使用無限迴圈,我們需要使用一個 **計數變數** 來計算迴圈次數。我們已經在分支章節中看到了這個概念的基本實現,但現在我們將研究一個更完善的結構,即 FOR / NEXT 迴圈。FOR / NEXT 迴圈允許我們以一種非常簡單幹淨的方式執行幾件事

  1. 初始化我們的計數變數
  2. 每次迴圈遞增我們的計數變數
  3. 檢查計數變數是否已達到最終值。如果它已達到最終值,則退出迴圈。

FOR / NEXT 迴圈如下所示

FOR MyCounter = 0 TO 10
   ... 'code here will be repeated 11 times
NEXT

巢狀迴圈

[編輯 | 編輯原始碼]

我們可以將一個迴圈放在另一個迴圈中。這對於許多需要重複執行迴圈集的複雜程式非常有用。巢狀在其他迴圈中的迴圈稱為 **巢狀迴圈**。此外,最外層的迴圈通常被稱為 *父* 迴圈,內部迴圈被稱為 *子* 迴圈。每個子迴圈必須與它的父迴圈有不同的計數變數,否則系統將無法正常工作。

華夏公益教科書