ใบความรู้ 4 เรื่อง คำสั่งทำงานเป็นวนรอบหรือวนซ้ำ (Loop)
การเขียนโปรแกรมแบบวนรอบ ในที่นี้เราจะเรียกว่า loop ความหมายก็คือ การวนซ้ำหรือทำซ้ำไปเรื่อยๆ จนกว่าเงื่อนไขจะไม่เป็นจริง และประโยชน์ของการ loop ก็คือ ทำให้ผู้เขียนโปรแกรมเขียนโปรแกรมได้ง่าย กระชับ และยืดหยุ่นมากขึ้น โปรแกรมจะทำซ้ำไปเรื่อยๆจนกว่าเงื่อนไขจะไม่เป็นจริง นั่นหมายความว่าผู้เขียนโปรแกรมไม่ต้องเขียนคำสั่งเองหลายๆบรรทัด ตัวอย่างเช่น หากเราต้องการแสดงผลข้อความว่า “สวัสดี” ทั้งหมด 100 คำ นั่นหมายความว่าเราจะต้องเขียนคำสั่งแสดงผลทั้งหมด 100 คำสั่ง ซึ่งไม่คุ้มเสียเวลาเลย แต่ถ้าหากว่าเราเขียนวน loop เราอาจเขียนคำสั่งเพียงแค่ 3-4 บรรทัด เราก็จะได้ผลลัพธ์แสดงข้อความ “สวัสดี” ทั้งหมด 100 คำ โดยที่ผู้เขียนไม่เสียเวลามากจนเกินไป และยังมีความยืดหยุ่นมากกว่าด้วย
การใช้คำสั่ง FOR
คำสั่ง FOR เป็นข้อคำสั่งให้โปรแกรมทำงานซ้ำ ๆ กัน ตามจำนวนรอบที่กำหนดเป็นการกำหนดค่า ล่วงหน้าให้กับโปรแกรม เนื่องจากเราจะรู้จำนวนรอบการทำงานที่แน่นอนโดยกำหนดค่าเริ่มต้นให้กับตัว แปรจากนั้นให้ตัวแปรทำการปรับปรุงค่าเพื่อวนรอบการทำงานกลับมาทดสอบค่าตามเงื่อนไขที่กำหนดจน จบค่าสุดท้ายที่ตั้งไว้จึงหยุดการทำงานมีรูปแบบดังนี้
for (ค่าเริ่มต้น ; เงื่อนไขเช็คค่าปลาย ; ค่าเพิ่ม) คำสั่งที่ต้องการดำเนินการ ; |
โดยมีข้อกำหนดดังนี้
ค่าเริ่มต้น (Initial expression) : เป็นการกำหนดค่าเริ่มต้นให้กับตัวแปร
เงื่อนไขเช็คค่าปลาย (Condition) : เป็นการเช็คเงื่อนไขเปรียบเทียบ กับค่าปลายของตัวแปร หากนิพจน์การเปรียบเทียบมีค่าเป็นจริง โปรแกรมจะดำเนินงานทำตามคำสั่งที่กำหนดจนจบ แล้ววนกลับมาเช็ค เงื่อนไขเดิมอีก ทำเช่นนี้จนกว่านิพจน์การเปรียบเทียบนั้น จะให้ค่าเป็นเท็จจึงออกจากโครงสร้างของคำสั่ง FOR
ค่าเพิ่ม (Update expression) : เป็นการเพิ่มค่าหรือปรับปรุงค่าให้กับข้อมูลของ ตัวแปร สำหรับการวนรอบทำงานแต่ละครั้ง
สำหรับในกรณีที่ประโยคคำสั่งของการวนรอบทำงานมีมากกว่า 1 ประโยคคำสั่งให้เขียนกลุ่มประโยคคำสั่งเหล่านั้นอยู่ในบล็อกคำสั่ง โดยเขียนภายใต้ เครื่องหมายวงเล็บปีกกา ดังนี้
{กลุ่มของประโยคคำสั่ง}
ตัวอย่าง ต้องการจะพิมพ์อนุกรมของตัวเลข 1 2 3 4 5 6 7 8 9 10 จะเขียนรูป แบบคำสั่งของ FOR ได้ดังนี้
for (a=1 ; a<=10; a++)document.write(a+ ” “) ; |
โดยกำหนดให้ตัวแปร a ทำหน้าที่วนรอบการทำงานพิมพ์ค่าของ a ตั้งแต่ 1 ถึง 10
การใช้คำสั่ง WHILE
เป็นอีกวิธีหนึ่งของการวนรอบการทำงาน ที่มีความยืดหยุ่นและมีลูกเล่นมากกว่า คำสั่ง FOR มีความ สามารถวนรอบการทำงานโดยทำการตรวจสอบการเปรียบเทียบข้อมูลกับเงื่อนไขที่กำหนด โดยกำหนด ลักษณะการวนรอบการทำงานว่าจะทำงานในขณะที่การเปรียบเทียบข้อมูลจากเงื่อนไขที่กำหนดนั้นมีค่าเป็น จริงและจะออกจากข้อคำสั่ง WHILE เมื่อผลจากการทดสอบข้อมูลกับเงื่อนไขนั้นมีค่าเป็นเท็จโดยมีรูปแบบดังนี้
While (เงื่อนไขการเปรียบเทียบข้อมูล)คำสั่ง; |
สำหรับในกรณีที่ประโยคคำสั่งสำหรับเงื่อนไขการเปรียบเทียบข้อมูล ได้เป็นจริงหรือได้เป็นเท็จมีมากกว่า 1 ประโยคคำสั่งให้เขียนกลุ่ม ประโยคคำสั่งเหล่านั้นอยู่ในบล็อกคำสั่งโดยเขียนภายใต้เครื่องหมายวงเล็บปีกกาดังนี้
{กลุ่มของประโยคคำสั่ง}
ตัวอย่าง ต้องการจะพิมพ์อนุกรมของตัวเลข 1 2 3 4 5 6 7 8 9 10 จะ เขียนรูปแบบคำสั่งของ WHILE ได้ดังนี้
a=1 while (a<=10) { document .write(a+” “);a++ ; } |
โดยกำหนดให้ตัวแปร a ทำหน้าที่วนรอบการทำงานพิมพ์ค่าของ a ตั้งแต่ 1 ถึง 10
คำสั่ง BREAK
ใช้สำหรับขัดจังหวะของการวนรอบทำงานของคำสั่ง FOR และ WHILE เพื่อให้ออก จากโครงสร้างการทำงานภายในวนรอบการทำงานนั้น ๆ ตามความต้องการทันที
คำสั่ง CONTINUE
เป็นการขัดจังหวะของการวนรอบการทำงานของคำสั่ง FOR และ WHILE เพื่อสั่งให้โปรแกรมกลับไป เริ่มต้นวนรอบการทำงานใหม่จากจุดเริ่มต้นวนรอบการทำงานทันทีโดยไม่ต้องรอให้โปรแกรมทำงานต่อไปจนครบวนรอบการทำงาน
ใบงานที่ 4 เรื่อง คำสั่งทำงานเป็นวนรอบหรือวนซ้ำ (Loop)
คำชี้แจง ให้นักเรียนตอบคำถามดังต่อไปนี้ลงในสมุดของนักเรียน
1. บอกความหมายของคำสั่งทำงานเป็นวนรอบหรือวนซ้ำ(Loop) มาอย่างละเอียด
2. บอกประโยชน์ของคำสั่งทำงานเป็นวนรอบหรือวนซ้ำ(Loop) มาอย่างละเอียด
3. บอกความหมายของการใช้คำสั่ง FOR และรูปแบบของการใช้
4. บอกความหมายของการใช้คำสั่ง WHILE และรูปแบบของการใช้
5. บอกความหมายของการใช้คำสั่ง BREAK
6. บอกความหมายของการใช้คำสั่ง CONTINUE