6. คำสั่งทำซ้ำแบบ For Next
ตัวอย่าง การทำงานของตัวอย่างนี้เหมือนกับตัวอย่างที่ผ่านมา ซึ่งเป็นการใช้คำสั่งทำซ้ำซ้อนคำสั่งทำซ้ำ 1 ชั้น ในตัวอย่างเรียกว่าคำสั่ง For ซ้อน Do While
คำสั่งนี้จะ ทำซ้ำตามจำนวนค่าเริ่มต้นจนถึง จำนวนรอบที่ได้กำหนดค่าไว้โดยที่ทุกรอบจะวนรอบทีละ 1 หรือตามจำนวนช่วงการเพิ่มค่าที่ระบุ (คำสั่งจะมีหรือไม่ก็ได้) จากคำสั่งทำซ้ำนี้นักศึกษาสามารถทำความเข้าใจได้ไม่ยาก เพราะ สามารถระบุจำนวนรอบได้เลย
รูปแบบ
For 1.นิพจน์กำหนดค่าเริ่มต้น To 2. จำนวนรอบ [Step 3. ช่วงการเพิ่มค่า]
Next
ตัวอย่าง
For A = 1 To 50 Step 5
Next
ตัวอย่าง โปรแกรมนี้แสดงถึงการเพิ่มค่าทีละ 7 ในจำนวน 1 ถึง 50 สังเกตว่าสามารถระบุช่วงค่าคงที่จำนวนรอบได้เลย จากนั้นทดลองลบคำสั่ง Step 7 ออก จะเห็นว่าการแสดงผลจะเพิ่มค่าทีละ 1 จนถึง 50
|1| Module Module1
|2|
|3| Sub Main()
|4|
|5| Dim i As Integer
|6|
|7| For i = 1 To 50 Step 7
|8| Console.WriteLine(i)
|9| Next
|10|
|11| Console.ReadLine()
|12| End Sub
|13|
|14| End Module
การแสดงผล
ตัวอย่าง โปรแกรมนี้เป็นการประยุกต์โดยใช้คำสั่งการทำซ้ำมาซ้อนกัน (ลูปซ้อนลูป) เพื่อในแต่ละรอบให้มีการทำงานซ้ำตามจำนวนรอบ ในตัวอย่างเรียกว่าคำสั่ง For ซ้อน For
|1| Module Module1
|2|
|3| Sub Main()
|4| Dim i, j As Integer
|5|
|6| For i = 1 To 7
|7| For j = 1 To i
|8| Console.Write("{0} ", j)
|9| Next
|10| Console.WriteLine()
|11| Next
|12|
|13| Console.ReadLine()
|14| End Sub
|15|
|16| End Module
การแสดงผล
ตัวอย่าง การทำงานของตัวอย่างนี้เหมือนกับตัวอย่างที่ผ่านมา ซึ่งเป็นการใช้คำสั่งทำซ้ำซ้อนคำสั่งทำซ้ำ 1 ชั้น ในตัวอย่างเรียกว่าคำสั่ง For ซ้อน Do While
|1| Module Module1
|2|
|3| Sub Main()
|4| Dim i, j As Integer
|6| For i = 1 To 7
|7| j = 0
|8| Do While j < i
|9| j = j + 1
|10| Console.Write("{0} ", j)
|11| Loop
|12| Console.WriteLine()
|13| Next
|14|
|15| Console.ReadLine()
|16| End Sub
|17| End Module
การแสดงผล
สั่งเกตชุดคำสั่ง Do While จะต้องมีนิพจน์ประกอบคำสั่งทำซ้ำ 3 นิพจน์หากขาดนิพจน์ใดการทำงานจะผิดพลาด