โครงสร้างควบคุม

โครงสร้างแบบวนซ้ำ

การวนซ้ำ เป็นการกำหนดให้มีการประมวลผลคำสั่งซ้ำ ๆ กัน ตั้งแต่ 1 ครั้งขึ้นไป ทั้งนี้ขึ้นอยู่กับเงื่อนไขในการทำงาน ซึ่งจะช่วยให้การเขียนโปรแกรมได้ง่าย สะดวก ไม่ต้องเขียนข้อความคำสั่งเดิมหลายครั้ง ทำให้โปรแกรมมีความกระชับ สามารถตรวจสอบความผิดพลาดได้ง่าย

โครงสร้างควบคุมแบบวนซ้ำ (repetition control structure) ประกอบด้วย

คำสั่ง for

คำสั่ง while

คำสั่ง do-while

โดยแต่ละโครงสร้างคำสั่ง มีรูปแบบและวิธีการใช้งานที่แตกต่างกัน นักเขียนโปรแกรมสามารถเลือกใช้ได้ตามความเหมาะสมกับลักษณะการใช้งานในโปรแกรม

คำสั่ง for

คำสั่ง for เป็นคำสั่งที่สั่งให้ประมวลผลคำสั่ง หรือชุดคำสั่ง วนซ้ำได้หลายรอบ โดยต้องกำหนดจำนวนรอบให้การวนซ้ำที่แน่นอน

รูปแบบของคำสั่ง for เป็นดังนี้

การกำหนดค่าเริ่มต้นของตัวนับ เงื่อนไขการวนซ้ำ และ การเปลี่ยนแปลงค่าตัวนับ เป็นนิพจน์ที่มีการทำงานร่วมกันในคำสั่ง for ดังนี้

- การกำหนดค่าเริ่มต้นของตัวนับ เป็นนิพจน์ที่ใช้สำหรับกำหนดค่าเริ่มต้น ให้กับตัวแปรที่ทำหน้าที่ควบคุมการวนซ้ำ และจะประมวลผลเพียงครั้งเดียว
- เงื่อนไขการวนซ้ำ เป็นนิพจน์ที่ใช้สำหรับประเมินค่า คำสั่ง จะถูกประมวลผลหรือไม่ นั่นคือถ้า เงื่อนไขการวนซ้ำ มีค่า จริง คำสั่ง จะถูกประมวลผล และถ้า เงื่อนไขการวนซ้ำ มีค่า เท็จ คำสั่ง for จะสิ้นสุดลง
- การเปลี่ยนแปลงค่าตัวนับ เป็นนิพจน์ที่จะถูกประมวลผลทุกครั้งหลังจาก คำสั่ง ถูกประมวลผล โดย การเปลี่ยนแปลงค่าตัวนับ เป็นนิพจน์ใด ๆ ที่สามารถประเมินค่าได้ เช่น นิพจน์เพิ่มค่า นิพจน์ลดค่า และนิพจน์กำหนดค่า เป็นต้น

คำสั่ง while

คำสั่งวนซ้ำที่ง่ายที่สุดคือคำสั่ง while loop โดยการทำงานของคำสั่ง while loop จะทำงานเมื่อเงื่อนไขเป็นจริง และจะสิ้นสุดการทำงานจนกว่าเงื่อนไขจะเป็นเท็จ

รูปแบบของคำสั่ง while เป็นดังนี้

เงื่อนไขการวนซ้ำ เป็นนิพจน์ใดๆ ที่สามารถประเมินค่าได้ โดยจะต้องเขียนไว้ระหว่างเครื่องหมาย ( และ ) เสมอเช่นเดียวกับคำสั่ง if และคำสั่ง if – else

เมื่อเริ่มต้นประมวลผลคำสั่ง while เงื่อนไขการวนซ้ำ จะถูกตรวจสอบค่า ถ้าพบว่า เงื่อนไขการวนซ้ำ มีค่าเป็น จริง คำสั่ง ภายใต้คำสั่ง while จะถูกตรวจสอบค่าเป็นรอบแรก แล้ว เงื่อนไขการวนซ้ำ จะถูกตรวจสอบค่าอีกครั้ง หากพบว่า เงื่อนไขการวนซ้ำ ยังมีค่าเป็น จริง คำสั่ง จะถูกตรวจสอบค่าอีกครั้ง จนกระทั่ง เงื่อนไขการวนซ้ำ มีค่าเป็น เท็จ คำสั่ง while จึงจะสิ้นสุดลง

การตรวจสอบค่า เงื่อนไขการวนซ้ำ ของคำสั่ง while ในครั้งแรก และพบว่ามีค่าเป็น เท็จ คำสั่ง จะไม่ประมวลผลเลย

คำสั่ง do-while

คำสั่ง do while นั้นคล้ายกับคำสั่ง while แต่สิ่งที่แตกต่างกันเล็กน้อยคือ คำสั่ง do while จะทำงานก่อนอย่างน้อยหนึ่งรอบ แล้วจะตรวจเงื่อนและถ้าเงื่อนไขไม่เป็นจริงจะสิ้นสุดการทำงาน

รูปแบบของคำสั่ง do-while เป็นดังนี้

คำสั่ง จะถูกประมวลผลโดยไม่มีเงื่อนไขใด ๆ ในรอบแรก จากนั้นเงื่อนไขการวนซ้ำ จะถูกตรวจสอบค่า และคำสั่ง จะถูกประมวลผลซ้ำอีกทุกครั้งที่ เงื่อนไขการวนซ้ำ มีค่าเป็น จริง และในครั้งแรกที่ เงื่อนไขการวนซ้ำ มีค่าเป็น เท็จ คำสั่ง do-while จึงจะสิ้นสุดลง