การเขียนโปรแกรมแบบวนซ้ำ (Loop)
คำสั่งในกลุ่มนี้ เป็นอีกกลุ่มหนึ่งที่จะต้องใช้งานบ่อยครั้งที่สุด
ไม่ว่าคุณจะพัฒนาแอพพลิเคชันด้วยภาษาอะไรก็ตาม
เพราะมีหน้าที่สำหรับสั่งให้ VB ประมวลผลซ้ำกลุ่มคำสั่งเดิม
วนไปเรื่อยๆ จนกว่าจะตรงกับเงื่อนไข ที่คุณต้องการ
และยังมีหน้าที่สำหรับลดขั้นตอนในการเขียนโค๊ดคำสั่ง
*********************************************************************************
คำสั่งที่ใช้ในการวนซ้ำ (Loop)
1. จำนวนรอบที่ซ้ำตายตัว มีลูปFor
. . . Next
( ตีความหมายให้เข้าใจง่ายคือ
ทำซ้ำตามจำนวนรอบที่กำหนด )
2. จำนวนรอบที่วนซ้ำไม่ตายตัว มีลูปDo While . . . Loop ( ตีความหมายให้เข้าใจง่ายคือ เปรียบเทียบค่าก่อน แล้วเมื่อเป็นจริงจะทำซ้ำ )
Do Loop . . . While ( ตีความหมายให้เข้าใจง่ายคือ ทำก่อน แล้วเปรียบเทียบค่า หากเป็นจริงจะทำซ้ำ )
Do Until . . . Loop ( ตีความหมายให้เข้าใจง่ายคือ เปรียบเทียบค่าก่อน แล้วเมื่อเป็นจริงจึง จะทำซ้ำ )
Do Loop . . . Until ( ตีความหมายให้เข้าใจง่ายคือ ทำก่อน แล้วเปรียบเทียบค่า หากเป็นจริง จะทำซ้ำ )
2. จำนวนรอบที่วนซ้ำไม่ตายตัว มีลูปDo While . . . Loop ( ตีความหมายให้เข้าใจง่ายคือ เปรียบเทียบค่าก่อน แล้วเมื่อเป็นจริงจะทำซ้ำ )
Do Loop . . . While ( ตีความหมายให้เข้าใจง่ายคือ ทำก่อน แล้วเปรียบเทียบค่า หากเป็นจริงจะทำซ้ำ )
Do Until . . . Loop ( ตีความหมายให้เข้าใจง่ายคือ เปรียบเทียบค่าก่อน แล้วเมื่อเป็นจริงจึง จะทำซ้ำ )
Do Loop . . . Until ( ตีความหมายให้เข้าใจง่ายคือ ทำก่อน แล้วเปรียบเทียบค่า หากเป็นจริง จะทำซ้ำ )
ในการเขียนโปรแกรมคำสั่งนี้ ต้องระบุนิพจน์ให้ได้ ซึ่งกำหนดไว้ 3 นิพจน์ดังนี้
1.นิพจน์กำหนดค่าเริ่มต้น
2. จำนวนรอบ
3. ช่วงการเพิ่มค่า
**************************************************************************************************
**************************************************************************************************
Clip ตัวอย่างการเขียนคำสั่ง
**************************************************************************************************
ตัวอย่างคำสั่ง For . . . Next
รูปแบบ
For 1.นิพจน์กำหนดค่าเริ่มต้น
To 2. จำนวนรอบ [Step 3. ช่วงการเพิ่มค่า]
Next
* ในกรณีที่ไม่มีการกำหนดการเพิ่มค่าให้กับนิพจน์ที่ 3 คำสั่งจะเพิ่มครั้งละ 1
ตัวอย่างที่ 1
For i = 1 To 10
Print i
Print i
Next
ตัวอย่างที่ 2 นำมาเขียนในโปรแกรม VB
Dim first, last As Integer
first = first1.Text
last = last1.Text
ListBox1.Items.Clear()
For first = first To last
ListBox1.Items.Add(first)
Next
ตัวอย่างดังภาพค่าที่ได้ จะแสดงผลใน ListBox คือ 1-10
**************************************************************************************************
Do While . . . Loop
(เปรียบเทียบค่าก่อน แล้วเมื่อเป็นจริงจะทำซ้ำ )
•รูปแบบ
(1)
นิพจน์กำหนดค่าเริ่มต้น
Do While (2) นิพจน์ตรวจสอบเงื่อนไข
(3) นิพจน์เพิ่มค่า
Loop
ตัวอย่างที่ 1
A = 0
Do While A <
5
A = A + 1
Loop
ตัวอย่างที่ 2 นำมาเขียนในโปรแกรม VB
Dim first, last As Integer
first = first1.Text
last = last1.Text
ListBox1.Items.Clear()
Do While (first < last)
ListBox1.Items.Add(first & " ")
first = first + 1
Loop
ตัวอย่างดังภาพค่าที่ได้ จะแสดงผลใน ListBox คือ 1-9 เนื่องจาก นิพจน์ที่ 2 ตรวจสอบเงื่อนไขว่า first < last น้อยกว่า จริงจะทำการเพิ่มค่าครั้งละ 1 จนถึง 10 ตรวจสอบ 10<10 เป็นเท็จจึงหยุดออกจากการวนซ้ำ
**************************************************************************************************
Do Loop . . . While
(ทำการคำนวณแล้วจึงเปรียบเทียบค่า เมื่อเป็นจริงจะทำซ้ำ )
•รูปแบบ
(1)นิพจน์กำหนดค่าเริ่มต้น
Do
(2)นิพจน์เพิ่มค่า
Loop While (3)นิพจน์ตรวจสอบเงื่อนไข
ตัวอย่างที่ 1
A = 0
Do
A = A + 1
Loop While A < 5
ตัวอย่างที่ 2 นำมาเขียนในโปรแกรม VB
Dim first, last As Integer
first = first1.Text
last = last1.Text
ListBox1.Items.Clear()
Do
first = first + 1
ListBox1.Items.Add(first & " ")
Loop While (first < last)
สังเกตุว่า ค่าที่ได้จะแสดงค่าเริ่มต้นที่ 2-10 เป็นเพราะว่า โปรแกรมเริ่มทำงานคำนวณก่อน แล้วจึงเข้าสู่ นิพจน์ที่ 2 ตรวจสอบเงื่อนไข
**************************************************************************************************
Do
Until . . . Loop
เปรียบเทียบค่าก่อน แล้วเมื่อเป็นเท็จจะทำซ้ำจนกระทั่งเป็นจริงจึงจะหยุดทำซ้ำ
•รูปแบบ
(1)
นิพจน์กำหนดค่าเริ่มต้น
Do Until (2) นิพจน์ตรวจสอบเงื่อนไข
(3) นิพจน์เพิ่มค่า
Loop
ตัวอย่างที่ 1
A = 0
Do Until A = 5
A = A + 1
Loop
ตัวอย่างที่ 2 นำมาเขียนในโปรแกรม VB
Dim first, last As Integer
first = first1.Text
last = last1.Text
ListBox1.Items.Clear()
Do Until first = last
ListBox1.Items.Add(first & " ")
first = first + 1
Loop
จากภาพเป็นการแสดงผลเมื่อทำการคลิกปุ่ม
**************************************************************************************************
Do Loop . . . Until
ทำการคำนวณก่อนจึงจะเปรียบเทียบค่า เมื่อเงื่อนไขเป็นเท็จจะทำซ้ำจนกระทั่งเป็นจริงจึงจะหยุดทำซ้ำ
•รูปแบบ
1)นิพจน์กำหนดค่าเริ่มต้น
Do
(2)นิพจน์เพิ่มค่า
Loop Until (3)นิพจน์ตรวจสอบเงื่อนไข
ตัวอย่างที่ 1
A = 0
Do
A = A + 1
Loop Until A
> 5
ตัวอย่างที่ 2 นำมาเขียนในโปรแกรม VB
Dim first, last As Integer
first = first1.Text
last = last1.Text
ListBox1.Items.Clear()
Do
first = first + 1
ListBox1.Items.Add(first & " ")
Loop Until first = last
สังเกตุจากการแสดงผลเริ่มต้นที่ 2-11 เนื่องจากโปรแกรมเริ่มทำการคำนวณก่อนจึงจะเปรียบเทียบ
ส่วนการแก้โจทย์ปัญหาอัลกอริทึมหัวข้อถัดไปนะครับ
ไม่มีความคิดเห็น :
แสดงความคิดเห็น