Chapter 7 Iteration Statement SUCHADA PUNNOI Dept. of Computer Science & Information Technology http://computer.pcru.ac.th/KuBo/
การทำงานแบบวนซ้ำ : Iteration คำสั่งที่ทำงานแบบวนซ้ำ (Interation) คือ การทำงานที่ทำคำสั่งเดิมซ้ำ ๆ จนกระทั่งได้เงื่อนไขตามที่ต้องการ หรือเรียกอีกอย่างหนึ่งว่า แบบวนรอบ (Loop) การทำงานแบบนี้ช่วยเพิ่มความสะดวกให้แก่ผู้พัฒนาโปรแกรมเพราะไม่ต้องเขียนโปรแกรมที่ซ้ำซ้อน เพราะสามารถเลือกรูปแบบการวนซ้ำที่เหมาะสมก็สามารถเขียนโปรแกรมที่สั้นลง และทำงานได้มีประสิทธิภาพเพิ่มมากขึ้น
รูปแบบการทำงานแบบวนซ้ำ รูปแบบการวนซ้ำมี 2 รูปแบบ ได้แก่ 1. การวนซ้ำด้วยจำนวนรอบที่แน่นอน - คำสั่ง For…Next 2. การวนซ้ำด้วยจำนวนรอบที่ไม่แน่นอน - คำสั่ง Do…Loop Until - คำสั่ง Do While…Loop - คำสั่ง Do Until….Loop - คำสั่ง Do… Loop While - คำสั่ง While…Wend
การวนซ้ำด้วยจำนวนรอบที่แน่นอน คำสั่ง For…Next เป็นคำสั่งที่วนซ้ำที่สามารถกำหนดค่าเริ่มต้น และค่าสิ้นสุดการทำซ้ำได้ตามที่ผู้เขียนโปรแกรมต้องการ ซึ่งในการปฏิบัติจะมีตัวแปรที่ถูกกำหนดขึ้นสำหรับนับค่าจำนวนรอบ โดยตัวนับรอบจะเริ่มต้นด้วยค่าเริ่มต้นที่ผู้เขียนโปรแกรมกำหนดและจะเพิ่มค่าขึ้นเรื่อย ๆ ในแต่ละรอบที่คำสั่ง Next จนกว่าจะถึงค่าสุดท้ายที่กำหนดก็จะหยุดปฏิบัติการและออกจากการวนซ้ำ ในการเพิ่มค่านั้นโดยปกติจะเพิ่มขึ้นครั้งละ 1 แต่ถ้าต้องการเพิ่มค่าครั้งละมากกว่าหรือน้อยกว่า 1 ก็สามารถกำหนดได้เช่นเดียวกัน
รูปแบบคำสั่ง For…Next For ตัวแปร = ค่าเริ่มต้น To ค่าสุดท้าย [ Step เพิ่ม/ลดค่าตัวแปร ] คำสั่ง .... Next ค่าตัวแปร For i = 0 To 100 Step 2 คำสั่ง .... Next i
Flow-Chart for loop Statement ; . end
Private Sub Form_Click() Dim i As Integer For i = 1 To 20 Print i ; ตัวอย่างงาน แสดงตัวเลข 1 ถึง 20 Private Sub Form_Click() Dim i As Integer For i = 1 To 20 Print i ; Next i End Sub
Do Until (เงื่อนไข) Statement : Loop Do…Loop Statement Do while (เงื่อนไข) Statement : Loop Do Until (เงื่อนไข) Statement : Loop
Do…Loop Statement (ต่อ) : Loop while (เงื่อนไข) Do Statement : Loop Until (เงื่อนไข)
Flow-Chart (Do While) condition True False Statement ; . end
Flow-Chart (Do…Until) Statement ; . condition False True
Private Sub Form_Click() Dim i As Integer i = 1 Do While (i <= 20) ตัวอย่างงาน แสดงตัวเลข 1 ถึง 20 Private Sub Form_Click() Dim i As Integer i = 1 Do While (i <= 20) Print i i = i + 1 Loop End Sub Private Sub Form_Click() Dim i As Integer i = 1 Do Print i i = i + 1 Loop Until (i > 20) End Sub
Private Sub Form_Click() Dim i As Integer i = 10 Do While (i >= 1) ตัวอย่างงาน แสดงตัวเลข 10 ลงไปหา 1 Private Sub Form_Click() Dim i As Integer i = 10 Do While (i >= 1) Print i i = i - 1 Loop End Sub Private Sub Form_Click() Dim i As Integer i = 10 Do Print i i = i - 1 Loop Until (i = 0) End Sub
While…Wend Statement While (เงื่อนไข) statements : Wend
Private Sub Form_Click() Dim i As Integer i = 10 While i > 0 ตัวอย่างงาน แสดงตัวเลข 10 ลงไปหา 1 Private Sub Form_Click() Dim i As Integer i = 10 While i > 0 Print i i = i - 1 Wend End Sub