บทที่ 5 การทำงานแบบวนซ้ำ
การทำงานแบบวนซ้ำ คำสั่งที่ทำงานแบบวนซ้ำ (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 ตัวแปร
การวนซ้ำด้วยจำนวนรอบที่ไม่แน่นอน คำสั่ง Do…Loop คำสั่ง Do…Loop เป็นคำสั่งที่มีการทำซ้ำที่มีจำนวนรอบไม่แน่นอนเพราะในแต่ละรอบจะปฏิบัติตามคำสั่งที่อยู่ระหว่างลูปจะต้องมีการตรวจสอบเงื่อนไขทุกครั้ง ซึ่งคำสั่ง Do…Loop ยังแบ่งออกเป็น4 แบบได้แก่ Do While….Loop Do Until…Loop Do…Loop While Do…Loop Until
Do While…Loop โปรแกรมจะวนรอบการทำงานไปจนกว่าเงื่อนไขที่ทดสอบจะมีค่าเป็นเท็จ (False) โดยมีรูปแบบคำสั่งดังนี้ รูปแบบ Do While ประโยคเงื่อนไข ประโยคคำสั่งที่ต้องการให้ทำงาน (ถ้าเงื่อนไขยังคงเป็นจริงอยู่) Loop
Do Loop…While หลักการวนรอบการทำงานยังคงเหมือนกับคำสั่ง Do While….Loop คือ จะทำงานตามคำสั่งไปเรื่อย ๆ จนกว่าเงื่อนไขที่ทดสอบจะมีค่าเป็นเท็จ เพียงแต่คำสั่ง Do Loop….While จะทำงานตามคำสั่งก่อนทดสอบเงื่อนไขอย่างน้อย 1 รอบ โดยมีรูปแบบดังนี้ รูปแบบ Do ประโยคคำสั่งที่ต้องการให้ทำงาน (ถ้าเงื่อนไขยังคงเป็นจริงอยู่) Loop While ประโยคเงื่อนไข
Do Until….Loop หลักการทำงาน เมื่อโปรแกรมพบคำสั่ง Do Until ก็จะตรวจสอบเงื่อนไขหลัง Do Until ถ้าเป็นจริงให้ข้ามคำสั่ง Do Until เพื่อไปทำตามคำสั่งที่อยู่ถัดจาก Loop ทันที แต่ถ้าเป็นเท็จให้ทำตามคำสั่งที่อยู่ระหว่าง Do Until กับ Loop เมื่อทำตามคำสั่งเรียบร้อยแล้วก็จะกลับไปตรวจสอบเงื่อนไขอีกครั้งจนกว่าค่าหลัง Do Until จะเป็นจริงจึงจะหลุดออกจากลูป
รูปแบบ Do Until ประโยคเงื่อนไข ประโยคคำสั่งที่ต้องการให้ทำงาน (ถ้าเงื่อนไขยังคงเป็นเท็จอยู่) Loop
Do…. Loop Until หลักการวนรอบการทำงานยังคงเหมือนกับคำสั่งแบบ Do Until….Loop คือจะทำงานตามคำสั่งไปเรื่อย ๆ จนกว่าเงื่อนไขที่ทดสอบจะมีค่าเป็นจริง เพียงแต่คำสั่งแบบ Do…. Loop Until จะทำงานตามคำสั่งก่อนทดสอบเงื่อนไขอย่างน้อย 1 รอบ โดยมีรูปแบบคำสั่งดังนี้ รูปแบบ Do ประโยคคำสั่งที่ต้องการให้ทำงาน (ถ้าเงื่อนไขยังคงเป็นเท็จอยู่) Loop Until
คำสั่ง While….Wend การทำงานของคำสั่ง While….Wend โปรแกรมจะเริ่มด้วยการตรวจสอบเงื่อนไขหลัง While ถ้าเงื่อนไขเป็นจริงก็จะทำตามคำสั่งที่อยู่ในลูป(Loop) และเมื่อทำตามคำสั่งจนมาถึงคำสั่ง Wend ก็จะกลับไปตรวจสอบเงื่อนไขหลัง While อีก กระทำไปเรื่อยๆ จนกว่าเงื่อนไขจะเป็นเท็จจึงออกจากลูป(Loop) รูปแบบ While เงื่อนไข ประโยคคำสั่งที่ต้องการให้ทำงาน (ถ้าเงื่อนไขยังคงเป็นจริงอยู่) Wend