迴圈

 

 


 For...Next迴圈

當程式碼需固定次數重複執行時,For迴圈程式區塊是最好的選擇。

For...Next 迴圈適合用在單純執行N次上。語法如下:

For A = B To C [Step D]

  陳述式

Next A

  • A 為計數器變數,可以為任何數值型態。
  • B 為起始數值。
  • C 為終止數值。
  • D 為迴圈累加數值,省略不寫時預設值為 1,意指每執行一次迴圈裡的陳述式,則 A 就會累加 1。

以下程式可以統計 1 至 10 的和。其中 Next I 的 I 以省略。

For I = 1 To 10

   Sum = Sum + I

Next I

範例:寫一個程式,印出 1 至 10 ,並求其和。

Sub Main()

    Dim I, Sum As Integer   '宣告 I 和 Sum 兩個整數型態變數

    For I = 1 To 10

        Sum = Sum + I       '每執行一次,就會把I的值加給Sum

        Console.WriteLine("{0}{1}", I, Sum)   '印出I及 Sum變數值

    Next

    Console.ReadLine()      '讀取一行字元,Console視窗會暫停

End Sub

練習:

1.試寫一程式求 1 + 2 + 3 + ... + 100之和

2.試寫一程式求 1 + 3 + 5 + ... + 99之和

3.試寫一程式求 2.1 + 1.9 + 1.7 + ... + (-7.1) 之和

巢狀迴圈

迴圈內有迴圈,稱為巢狀迴圈,例:

For i = 1 To 10

    For j = 1 To 10

        敘述區塊

    Next

Next

範例1:試寫一程式,印出九九乘法表的結果

Sub Main()

    Dim I, J As Integer   '宣告 I 和 J 兩個整數型態變數

    For I = 1 To 10

        For j = 1 To 9

            Console.WriteLine("{0,3}", I * J)  '將I*J 的值 印出來

        Next

       Console.WriteLine()     '將游標跳到下一行

    Next

    Console.ReadLine()      '讀取一行字元,Console視窗會暫停

End Sub

九九乘法結果

範例2,寫一程式輸出如下:

*
**
***
****
*****
****** 

Sub Main()

    Dim i, j As Integer   '宣告 I 和 J 兩個整數型態變數

    For i = 1 To 6

        For j = 1 To i

            Console.Write("*")  '印出 * 號

        Next

        Console.WriteLine()

    Next

    Console.ReadLine()      '讀取一行字元,Console視窗會暫停

End Sub

練習,修改以上範例程式,輸出以下不同的結果:

******
*****
****
***
**
*

1
12
123
1234
12345
123456