Just another WordPress.com site

โครงสร้างลูปคือโครงสร้างที่โปรแกรมจะทำคำสั่งซ้ำกันไปเรื่อยๆจนกระทั่งเงื่อนไขที่กำหนดมีค่าของจริงเป็น false มันจึงหยุดทำ ใน C++ จะมีอยู่ 2 โครงสร้างด้วยกันได้แก่

1. โครงสร้าง while

2. โครงสร้าง for

พูดถึงโครงสร้าง while กันก่อนนะ คำสั่งของโครงสร้าง while จะมีลักษณะดังนี้

while(เงื่อนไข)

{

กลุ่มคำสั่ง

}

การทำงานของมันคือจะตรวจสอบเงื่อนไขในวงเล็บของ while ว่าให้ค่าความจริงเป็นอะไร

ถ้าให้ค่าเป็น true ก็จะทำคำสั่งในปีกกา ถ้าให้ค่าเป็น false ก็จะหยุดทำคำสั่งในปีกกา

เช่น

โครงสร้าง while อีกรูปแบบหนึ่งจะมีลักษณะดังนี้

do

{

กลุ่มคำสั่ง

}while(เงื่อนไข);

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

ถ้าให้ค่าเป็น true จะทำคำสั่งในปีกกาซ้ำอีก ถ้าให้ค่าเป็น false ก็จะออกจากโครงสร้าง while

เช่น

โครงสร้าง while เหมาะกับคำสั่งที่การทำซ้ำนั้นเราไม่รู้ว่ามันจะสิ้นสุดที่ไหน แต่ถ้าเรารู้ว่าการทำซ้ำสิ้นสุด ณ จุดใด เราสามารถใช้โครงสร้าง loop แบบ for ซึ่งมีรูปแบบดังต่อไปนี้

for(ค่าเริ่มต้นของตัวแปร : ตรวจสอบเงื่อนไข : เปลี่ยนค่าของตัวแปร)

{

กลุ่มคำสั่ง

}

เช่น คำสั่ง

for(int i=0; i<5; ++i)

{

กลุ่มคำสั่ง

}

การทำงานจะเป็นดังนี้ครับ

1. ในลูป for เริ่มต้นจะเซตค่า i=0

2. ตรวจสอบว่า i<5 หรือไม่

2.1 ถ้าตรวจสอบพบว่าจริง

– จะทำกลุ่มคำสั่ง

– หลังจากทำกลุ่มคำสั่งเสร็จ จะเพิ่มค่า i ไปอีกหนึ่ง แล้วกลับไปทำข้อ 2 ใหม่

3. ถ้าเป็นเท็จจะออกจากลูป

Tip ถ้าคำสั่งในปีกกามีเพรียงคำสั่งเดียว เราสามารถละปีกกาได้นะครับ… การละปีกกาจะทำให้โปรแกรมของเราอ่านง่ายขึ้น

ลองมาดูตัวอย่างกันครับ

หมายเหตุ ตัวแปร i ในที่นี้จะเป็น local variable นะครับ กล่าวคือ มันจะโดนเรียกใช้ได้เฉพาะในลูปเท่านั้น ไม่สามารถเรียกใช้ภายนอกลูปได้

เช่น

เมื่อทำการ compile มันจะมี error บอกว่าไม่รู้จักตัวแปร i ในบรรทัดที่ 11 ดังนี้

สำหรับคำสั่งสุดท้ายใน blog นี้ที่เกี่ยวข้องกับลูปคือคำสั่ง break ครับ คำสั่ง break ใช้สำหรับออกจาก loop โดยมันจะออกไปเพียงลูปชั้นเดียวเท่านั้นนะครับ คำสั่งนี้ใช้ได้กับลูป while และ ลูป for

เดี๋ยวเรามาดูตัวอย่างการใช้งานกัน

เราจะเห็นว่า เมื่อเราใส่ค่า i=150 มันจะออกจากลูปโดยโครงสร้างของ while

เมื่อเราใส่ค่า i=5 มันจะออกจากลูปโดยคำสั่ง break

มาดูตัวอย่างต่อไปกันครับ

ในโปรแกรมนี้มีลูป for ซ้อนกัน 2 ชั้น ส่วนคำสั่ง break อยู่ในลูป for ชั้นใน เมื่อเราทำการรันจะได้ผลลัพธ์ดังนี้

ขอให้สังเกตว่า คำสั่ง break จะออกจากลูป j เท่านั้น ไม่ได้ทำให้ออกจากลูป i

เมื่อเราทำการรันจะได้ i ที่รันครบทุกตัวตั้งแต่ i=1 ถึง i=3

ในขณะที่ลูป j จะโดน break ที่ j=3

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: