More Related Content Similar to การควบคุมคำสั่งแบบวนซ้ำ1 (20) More from Nomjeab Nook (18)
DOCX
Wiko สมาร์ทโฟนสัญขาติฝรั่งเศส บุกตลาดประเทศไทย เน้นประสิทธิภาพสูง ดีไซน์เท่ แ...
Nomjeab Nook
DOCX
ครื่องซักผ้าสุึϸ้ำ!!ใช้หุ่ȨȨ์ปลากิȨราบสกปรกบนสื้อ
Nomjeab Nook
DOCX
ครื่องซักผ้าสุึϸ้ำ!!ใช้หุ่ȨȨ์ปลากิȨราบสกปรกบนสื้อ
Nomjeab Nook
DOCX
สมาร์ทวอทช์สุดล้ำ ปล่อยแสงเลเซอร์เปลี่ยนข้อมือเป็นปุ่มแบบสัมผัส
Nomjeab Nook
การควบคุมคำสั่งแบบวนซ้ำ12. สมาชิก
1. นางสาว ชลธิชา อวยพร เลขที่
19
2. นางสาว ณัฐชา เพียสังกะ เลขที่
20
3. นางสาวปรารถนา ขำาขุด เลขที่
21
4. นางสาววรรณิสา ยืนยง เลขที่
23
5. นางสาวสริดา บัวทอง เลขที่
24
6. นางสาวอนัญญา อิทธานุรักษ์ เลขที่
25
7. นางสาวอินทิรา สุขกรม เลขที่
26
3. การทำางานแบบวนซำ้า
การทำางานแบบวนซำ้า (Loop)เป็นการนำาคำาสั่งมาทำางานซำ้า
หลายๆ รอบ จะทำางานกี่รอบขึ้นอยู่กับเงื่อนไขที่ผู้เขียนโปรแกรม
กำาหนดไว้ ซึ่งอาจจะเป็นการกำาหนดจำานวนรอบที่แน่นอน เช่น
ตั้งใจว่าจะวิ่งรอบสนาม 3 รอบ คือรู้แน่นอนว่าจะทำางานกี่รอบ หรือ
แบบจำานวนรอบไม่แน่นอน เช่น ตั้งใจว่าจะวิ่งรอบสนามไปเรื่อยๆ
เหนื่อยเมื่อไหร่จึงจะหยุดวิ่ง คือไม่แน่ชัดว่าจะทำางานกี่รอบ
การทำางานซำ้าๆ ในชีวิตประจำาวันมีอยู่มากมาย ครูจะขอยก
ตัวอย่างง่ายๆ ที่นักเรียนทุกๆ คนคงเคยทำามาด้วยตนเองแล้ว เช่น
1.นักเรียนอาบนำ้าโดยใช้ขันนำ้าตักราดบนร่างกาย
หลายๆ ครั้ง (ทำาซำ้า) จนร่างกายสะอาดดีแล้วจึงหยุดอาบนำ้า (หยุด
ทำาซำ้า)
2.นักเรียนจัดสมุดหนังสือใส่กระเป๋าเพื่อนำาไปโรงเรียน
ทีละเล่ม (ทำาซำ้า) จนครบทุกวิชาลงในกระเป๋า จึงหยุดจัดสมุด
หนังสือลงประเป๋า (หยุดทำาซำ้า)
6. การสร้างนิพจน์ทางคณิตศาสตร์ ถ้าเป็นนิพจน์ที่มีตัวถูก
ดำาเนินการเพียง 2 ตัวจะไม่มีปัญหาอะไร แต่ถ้าเกิดมีตัวถูก
ดำาเนินการมากกว่า 2 ตัวขึ้นไป ผู้ใช้จะต้องคำานึงถึงลำาดับความ
สำาคัญของตัวดำาเนินการด้วย มิฉะนั้นอาจจะได้ผลลัพธ์ที่ไม่ตรง
ตามความต้องการได้
ตัวอย่าง ผู้ใช้ต้องการให้เอา 2 บวกกับ 3แล้วนำา
ไปคูณด้วย 5 ซึ่งคำาตอบที่ผู้ใช้ต้องการ คือ 25แต่ถ้าผู้ใช้เขียน
นิพจน์เป็น 2+3*5
ผลลัพธ์ที่ได้จะเท่ากับ 17เพราะภาษา Cจะคิดตาม
ลำาดับความสำาคัญของตัวดำาเนินการ (Precedence) ดังนี้ เอา
3 คูณกับ 5 ได้ 15 แล้วนำาไปบวกกับ 2 ได้ 17ซึ่งเป็นคำา
ตอบที่ไม่ตรงตามความต้องการ เพราะฉะนั้นผู้ใช้จึงต้องระวังเรื่อง
นี้อย่างมาก วิธีการแก้ไขก็สามารถทำาได้โดยการใช้วงเล็บเข้ามา
ช่วย ซึ่งวงเล็บจะมีลำาดับความสำาคัญสูงที่สุด และเมื่อลำาดับความ
สำาคัญเท่ากัน ให้ดูในตารางโดยเรียงจากซ้ายไปขวา ซึ่งถ้ามี
หลายวงเล็บซ้อนกัน ภาษา C จะคิดจากวงเล็บในออกมา ดังนั้น
ถ้าตัวอย่างด้านบนจะเขียนนิพจน์ให้ได้ผลลัพธ์ตามต้องการ จะ
ต้องเขียนดังนี้ (2+3)*5
11. กำรเขียนคำำสั่งวนซำ้ำแบบ do while
do while เป็นคำำสั่งให้มีกำรทำำซำ้ำเป็นรอบ ๆ (loop)
ลักษณะกำรทำำงำนทำำนองเดียวกับคำำสั่ง while แต่ต่ำงกันตรงที่คำำ
สั่งนี้จะมีกำรทำำงำนตำมคำำสั่งไป 1 รอบ ก่อนที่จะทดสอบเงื่อนไข
ถ้ำเงื่อนไขที่เป็นจริงจะทำำงำนต่อไป ถ้ำเงื่อนไขเป็นเท็จจึงจะออก
จำกคำำสั่ง do while คำำสั่งนี้ก็เช่นเดียวกันจะต้องกำำหนดให้มี
โอกำสที่เงื่อนไขเป็นเท็จได้ มิฉะนั้นจะมีปัญหำที่โปรแกรมทำำงำน
แบบวนซำ้ำแบบไม่มีที่สิ้นสุด (endless loop) กรณีที่เงื่อนไขเป็นเท็จ
เพียงอย่ำงเดียวจะมีกำรทำำงำน 1 รอบ ก่อนออกจำกกำรทำำซำ้ำ
14. ผลลัพธ์ที่ได้จากโปรแกรม
คำาอธิบายโปรแกรม
สามารถอธิบายการทำางานของโปรแกรมที่สำาคัญ ๆ
ได้ดังนี้
บรรทัดที่ 8 คำาสั่ง while (n < 11) เพื่อควบคุมการ
ทำางานของโปรแกรมให้ทำางานซำ้า ๆ กัน โดยการทำางานของคำาสั่ง
while จะตรวจสอบเงื่อนไข n < 11 เป็นจริงหรือเท็จ ถ้าเป็นจริงจะ
ทำางานตามคำาสั่งที่อยู่ภายใน loop while คือ บรรทัดที่ 10 และ 11
จากนั้นจะกลับมาตรวจสอบเงื่อนไขใหม่ ทำาอย่างนี้ซำ้า ๆ จนกว่า
ตรวจสอบเงื่อนไข n < 11 เป็นเท็จ จึงจะออกจาก loop while
แล้วไปทำาคำาสั่งบรรทัดที่ 13 ถึง คำาสั่งบรรทัดที่ 18
15. บรรทัดที่ 10 และ 11 เป็นคำาสั่งที่โปรแกรมจะทำางานภาย
หลังจากตรวจสอบเงื่อนไข while แล้วเป็นจริง นั่นคือ คำานวณค่า
สะสมของตัวแปร sum และ เพิ่มค่า n ทีละ 1 ตามลำาดับ
บรรทัดที่ 13 ถึง 18 เป็นคำาสั่งที่โปรแกรมจะทำางาน
ภายหลังจากตรวจสอบเงื่อนไข while แล้วเป็นเท็จ คือ ลดค่าตัว
แปร n ลง 1 แล้วคำานวณค่าเฉลี่ยเก็บไว้ที่ตัวแปร avg และพิมพ์
ค่าตัวแปร n, sum และ avg แสดงที่จอภาพ พร้อมกับพิมพ์ข้อความ
ให้กดคีย์ใด ๆ เพื่อกลับสู่โปรแกรม สุดท้ายจะหยุดรอรับค่าใด ๆ
จากคีย์บอร์ด เช่น ถ้ากด enter ก็จะกลับสู่โปรแกรม