4.1 การเขียนโปรแกรมทำซ้ำ ด้วย for

การทำซ้ำ for

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

 

for  (ตัวแปรนับรอบ = ค่าเริ่มต้น ; เงื่อนไขสำหรับวน ; เพิ่มหรือลดค่าตัวแปรนับรอบ)

       {

              ประโยคคำสั่งที่ต้องการทำซ้ำ

       }

ประโยคคำสั่งถัดไป ;

 

 

ผังงานของประโยคคำสั่ง for เป็นดังภาพ 6-1

 

ภาพ 6-1 ผังงานของประโยคคำสั่ง for

           จากรูปแบบของประโยคคำสั่ง for บรรทัดแรก เมื่อนำมาเขียนผังงานตามภาพ 6-1 แล้ว สามารถแยกออกเป็นสัญลักษณ์ที่เป็นสีเข้มได้ 3 อัน ส่วนประโยคคำสั่งที่ต้อการทำซ้ำก็จะอยู่ในลูปเหมือนคำสั่ง while และ do-while

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

          ค่าตัวเลขที่ใช้ในคำสั่ง for อาจใช้ตัวแปรที่กำหนดค่าไว้ แล้วแทนก็ได้

 

  ภาพ 6-2 ผังงานของโปรแกรมนับ 1 – 3 โดยใช้คำสั่ง for

จากผังงานตัวอย่าง เขียนเป็นโปรแกรมได้ดังภาพ 6-3


ภาพ 6-3 โปรแกรมนับ 1 – 3 โดยใช้คำสั่ง for

หมายเหตุ

1)      ตัวแปรนับรอบในประโยคคำสั่ง for ถ้าไม่ได้ประกาศแบบของตัวแปรไว้ก่อน สามารถประกาศในคำสั่ง for ได้เลย (ในที่นี้คือแบบ int)

2)      ตัวแปรประกาศในคำสั่ง for จะใช้ได้เฉพาะภายในประโยคคำสั่ง for เท่านั้น

3)      เงื่อนไข count < 4 อาจแทนด้วย count <=3 จะดีกว่า

 

ตัวอย่าง 6.4 โปรแกรมนับถอยหลัง (Countdown) โดยใช้คำสั่ง for

          ถ้าต้องการให้นับเลขถอยหลัง และแสดงตัวเลขออกมา 3 ครั้ง เช่น  3 2 1 เมื่อครบ 3 ครั้งแล้วให้หยุด ดังนั้นเงื่อนไขก็คือ ขณะที่ตัวเลขมากกว่าหรือเท่ากับ 1 ให้ทำ เมื่อตัวเลขเป็น 0 ให้หยุด เขียนโปรแกรมโดยใช้คำสั่ง for ได้ดังภาพ 6-4

ภาพ 6-4 โปรแกรมนับ 3-1 โดยใช้คำสั่ง for

หมายเหตุ

1)      ในการนับถอยหลัง ค่าเริ่มต้นจะมากกว่าค่าสุดท้ายเสมอฃ

2)      การลดค่าของตัวแปรนับรอบ (ในที่นี้คือ count)  ใช้ count – หมายถึง ลดค่าลงทีละ 1 (อาจใช้ count = count -1 หรือ count - = 1 แทนก็ได้)

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

Comments