เงื่อนไขและคำสั่งวนซ้ำ


2. กลุ่มคำสั่ง Iteration
เป็นคำสั่งที่สั่งให้เครื่องคอมพิวเตอร์ประมวลผลเหตุการณ์ที่ต้องการซ้ำ ๆ มากกว่าหนึ่งครั้งโดยการตรวจสอบเงื่อนไข เป็นกลุ่มคำสั่งที่ใช้สั่งให้ทำซ้ำ มี 3 รูปแบบ คือ For … Next, While, Do … While ซึ่งแต่ละรูปแบบจะมีการทำซ้ำที่แตกต่างกันไป


2.1 while

วงรอบ WHILE เป็นฟังก์ชันที่ใช้ในการวนรอบการทำงาน โดย
1. จะตรวจสอบเงื่อนไขตามที่กำหนดก่อน 2. ถ้าเงื่อนไขเป็นจริงจะทำงานตามคำสั่งที่อยู่ภายใต้เครื่องหมายปีกกา
3. เมื่อปฏิบัติคำสั่งเสร็จสิ้นแล้ว จะวนกลับไปตรวจสอบเงื่อนไขอีกครั้ง
4. จะหยุดทำซ้ำเมื่อเงื่อนไขที่ตรวจสอบเป็นเท็จ ถ้าเงื่อนไขเป็นเท็จโปรแกรมจะไปทำคำสั่งหลังเครื่องหมายปีกกาปิด นอกชุดคำสั่ง while
รูปแบบฟังก์ชั่น while ผังงาน
while (condition){
statement;
}

ภาพที่ 2.1 while

ตัวอย่างโปรแกรม while ผลของโปรแกรม
int x = 1;
while(x <= 5){
printf("%d\n",x);
x++;
}
1
2
3
4
5


2.2 do - while
วงรอบ DO WHILE เป็นฟังก์ชันที่ใช้ในการวนรอบการทำงาน โดย
1. จะทำงานตามคำสั่งที่ระบุภายในเครื่องหมายปีกกาก่อน 1 รอบ
2. จะตรวจสอบเงื่อนไขตามที่กำหนด ถ้าเงื่อนไขเป็นจริงจะวนไปทำงานซ้ำจนกว่าเงื่อนไขที่กำหนดไว้จะเป็นเท็จ

รูปแบบคำสั่ง do-while ผังงาน
do{
statement;
}while (condition);

ภาพที่ 2.2 do-while

ตัวอย่างโปรแกรม do-while ผลของโปรแกรม
int x = 1;
do{
printf("%d\n",x);
x++;
}while(x <= 5)
1
2
3
4
5


2.3 for next

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

รูปแบบคำสั่ง for ผังงาน

for(initialization; condition; increment or decrement)
{
statement;
}

หรือ

for ( ; ; ;) {
block;
}


ภาพที่ 2.2 do-while

ตัวอย่างโปรแกรม for ผลของโปรแกรม
for(i = 1;i <= 5;i++){
printf("%d\n",i);
}
1
2
3
4
5


คำสั่งประกอบที่เกี่ยวข้องที่ใช้ควบคุม
ได้แก่
break และcontinue
a. break คือ คำสั่งให้ออกจากลูปโดยหยุดการตรวจสอบเงื่อนไขถัดไป
b. continue คือ คำสั่งให้วนลูปถัดไป โดยไม่ทำคำสั่งที่เหลือในลูปนั้


a. break
คำสั่งให้ออกจากลูปโดยหยุดการตรวจสอบเงื่อนไขถัดไป
int x=0, i=0;
while (i<15) {
x++;
if ((x%5)==0) { break; }
printf("i = " + i + ", x = " +x);
i++;
} // end while


b. continue
คำสั่งให้วนลูปถัดไป โดยไม่ทำคำสั่งที่เหลือในลูปนั้น
int x=0, i=0;
while (i<15) {
x++;
if ((x%5)==0) { continue; }
printf("i=" + i + ", x=" +x);
i++;
} // end while


สร้างโดย: 
ชัยฤทธิ์ ตอนปัญญา

มหาวิทยาลัยศรีปทุม ผู้ใหญ่ใจดี
 

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

ช่วยกันนะครับ 
ไทยกู๊ดวิวจะได้อยู่นานๆ 
ไม่ถูกปิดเสียก่อน

ขอขอบคุณในความร่วมมือครับ

อ่านรายละเอียด

ด่วน...... ขณะนี้
พระราชบัญญัติลิขสิทธิ์ (ฉบับที่ 2) พ.ศ. 2558 
มีผลบังคับใช้แล้ว 
ขอให้นักเรียนและคุณครูที่ใช้งาน
เว็บ thaigoodview ในการส่งการบ้าน
ระมัดระวังการละเมิดลิขสิทธิ์ด้วย
อ่านรายละเอียดที่นี่ครับ

 

สมาชิกที่ออนไลน์

ขณะนี้มี สมาชิก 0 คน และ ผู้เยี่ยมชม 32 คน กำลังออนไลน์