การควบคุมคำสั่งแบบวนซ้ำ

339 views
273 views

Published on

Published in: News & Politics
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
339
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

การควบคุมคำสั่งแบบวนซ้ำ

  1. 1. การเขียนคำาสั่ง ควบคุมแบบวนซำ้า
  2. 2. สมาชิก 1. นางสาว ชลธิชา อวยพร เลขที่ 19 2. นางสาว ณัฐชา เพียสังกะ เลขที่ 20 3. นางสาวปรารถนา ขำาขุด เลขที่ 21 4. นางสาววรรณิสา ยืนยง เลขที่ 23 5. นางสาวสริดา บัวทอง เลขที่ 24 6. นางสาวอนัญญา อิทธานุรักษ์ เลขที่ 25
  3. 3. การทำางานแบบวนซำ้า การทำางานแบบวนซำ้า (Loop)เป็นการนำาคำาสั่งมา ทำางานซำ้าหลายๆ รอบ จะทำางานกี่รอบขึ้นอยู่กับเงื่อนไขที่ผู้ เขียนโปรแกรมกำาหนดไว้ ซึ่งอาจจะเป็นการกำาหนดจำานวน รอบที่แน่นอน เช่น ตั้งใจว่าจะวิ่งรอบสนาม 3 รอบ คือรู้ แน่นอนว่าจะทำางานกี่รอบ หรือแบบจำานวนรอบไม่แน่นอน เช่น ตั้งใจว่าจะวิ่งรอบสนามไปเรื่อยๆ เหนื่อยเมื่อไหร่จึงจะ หยุดวิ่ง คือไม่แน่ชัดว่าจะทำางานกี่รอบ การทำางานซำ้าๆ ในชีวิตประจำาวันมีอยู่มากมาย ครูจะ ขอยกตัวอย่างง่ายๆ ที่นักเรียนทุกๆ คนคงเคยทำามาด้วย ตนเองแล้ว เช่น 1.นักเรียนอาบนำ้าโดยใช้ขันนำ้าตักราดบนร่าง กายหลายๆ ครั้ง (ทำาซำ้า) จนร่างกายสะอาดดีแล้วจึงหยุด อาบนำ้า (หยุดทำาซำ้า)
  4. 4. เทคนิคการเขียนนิพจน์ คณิตศาสตร์ นิพจน์ (Expressions) ทางคณิตศาสตร์นั้นเป็น  นิพจน์ที่ใช้ในการคำานวณ ซึ่งนิพจน์ทางคณิตศาสตร์นั้น  จะมีรูปแบบเหมือนกับสมการคณิตศาสตร์ แต่จะประกอบ      ไปด้วย ค่าคงที่หรือตัวแปร ซึ่งเรียกอีกอย่างว่า ตัวถูก  ดำาเนินการ (Operand) แล้วเชื่อมกันด้วยเครื่องหมาย      ทางคณิตศาสตร์ หรือเรียกอีกอย่างว่า ตัวดำาเนินการ (Operator) นั่นเอง                  รูปแบบ                    [ตัวถูกดำาเนินการตัวแรก] [ตัวดำาเนิน การ] [ตัวถูกดำาเนินการตัวที่สอง]
  5. 5. ตัวอย่าง                  A+B                  2+A  ตัวดำาเนินการทางคณิตศาสตร์                 ตัวดำาเนินการทางคณิตศาสตร์ของภาษา C  มีดังนี้  ตารางที่ 1  แสดงตัวดำาเนินการทางคณิตศาสตร์
  6. 6. การสร้างนิพจน์ทางคณิตศาสตร์ ถ้าเป็นนิพจน์ที่มีตัว  ถูกดำาเนินการเพียง 2    ตัวจะไม่มีปัญหาอะไร แต่ถ้าเกิดมี  ตัวถูกดำาเนินการมากกว่า 2    ตัวขึ้นไป ผู้ใช้จะต้องคำานึง  ถึงลำาดับความสำาคัญของตัวดำาเนินการด้วย มิฉะนั้นอาจจะ  ได้ผลลัพธ์ที่ไม่ตรงตามความต้องการได้                 ตัวอย่าง   ผู้ใช้ต้องการให้เอา 2    บวกกับ 3    แล้วนำาไปคูณด้วย 5      ซึ่งคำาตอบที่ผู้ใช้ต้องการ คือ 25    แต่ถ้าผู้ใช้เขียนนิพจน์เป็น 2 + 3 * 5                    ผลลัพธ์ที่ได้จะเท่ากับ 17  เพราะภาษา C จะ  คิดตามลำาดับความสำาคัญของตัวดำาเนินการ (Precedence)      ดังนี้ เอา 3    คูณกับ 5    ได้ 15  แล้วนำา  ไปบวกกับ 2    ได้ 17  ซึ่งเป็นคำาตอบที่ไม่ตรงตามความ    ต้องการ เพราะฉะนั้นผู้ใช้จึงต้องระวังเรื่องนี้อย่างมาก วิธี  การแก้ไขก็สามารถทำาได้โดยการใช้วงเล็บเข้ามาช่วย ซึ่ง  วงเล็บจะมีลำาดับความสำาคัญสูงที่สุด และเมื่อลำาดับความ    สำาคัญเท่ากัน ให้ดูในตารางโดยเรียงจากซ้ายไปขวา ซึ่ง
  7. 7. คำาสั่งควบคุมวนซำ้าแบบ for   for  เป็นคำาสั่งที่สั่งให้โปแกรมมีการทำางานซำ้า ๆ  วนลูปจนกว่าเงื่อนไขที่กำาหนดไว้เป็นเท็จ จึงออกจากคำา  สั่ง for      ไปทำาคำาสั่งถัดไป ควรใช้คำาสั่ง for  ในกรณีที่ ทราบจำานวนรอบของการทำางาน ¢  รูปแบบการใช้คำาสั่ง for ¢for  (expression1; expression2;  expression3) statement; หรือ for  (expression1; expression2; expression3) { statement(s);
  8. 8. •   ลักษณะการทำางานของคำาสั่ง for
  9. 9. คำำสั่งควบคุมวนซำ้ำแบบ while while เป็นคำำสั่งให้มีกำรทำำซำ้ำเป็นรอบ ๆ (loop) ลักษณะกำรทำำงำนทำำนองเดียวกับคำำสั่ง for แต่ต่ำงกัน ตรงที่ไม่ทรำบจำำนวนรอบที่แน่นอน แต่ต้องมีเงื่อนไขที่ เป็นเท็จจึงจะออกจำกคำำสั่ง while ได้มิฉะนั้นจะมีปัญหำที่ โปรแกรมทำำงำนแบบวนซำ้ำแบบไม่มีที่สิ้นสุด (endless
  10. 10. •  ลักษณะกำรทำำงำนของคำำสั่ง while
  11. 11. กำรเขียนคำำสั่งวนซำ้ำแบบ do while do while เป็นคำำสั่งให้มีกำรทำำซำ้ำเป็นรอบ ๆ (loop) ลักษณะกำรทำำงำนทำำนองเดียวกับคำำสั่ง while แต่ ต่ำงกันตรงที่คำำสั่งนี้จะมีกำรทำำงำนตำมคำำสั่งไป 1 รอบ  ก่อนที่จะทดสอบเงื่อนไข ถ้ำเงื่อนไขที่เป็นจริงจะทำำงำน ต่อไป ถ้ำเงื่อนไขเป็นเท็จจึงจะออกจำกคำำสั่ง do while คำำสั่งนี้ก็เช่นเดียวกันจะต้องกำำหนดให้มีโอกำสที่เงื่อนไข เป็นเท็จได้ มิฉะนั้นจะมีปัญหำที่โปรแกรมทำำงำนแบบวน ซำ้ำแบบไม่มีที่สิ้นสุด (endless loop) กรณีที่เงื่อนไขเป็น เท็จเพียงอย่ำงเดียวจะมีกำรทำำงำน 1 รอบ ก่อนออกจำก กำรทำำซำ้ำ
  12. 12. •  ลักษณะกำรทำำงำนของคำำสั่ง do while
  13. 13. กรณีศึกษา การใช้คำาสั่งควบคุมวน ซำ้า  การใช้คำาสั่ง while เพื่อวนคำานวณค่าสะสมตัวเลข 1 ถึง 10 และหาค่าเฉลี่ย แล้วแสดงผลออกจอภาพ การ ใช้คำาสั่ง while เพื่อวนคำานวณค่าสะสมตัวเลข 1 ถึง 10 และหาค่าเฉลี่ย แล้วแสดงผลออกจอภาพ
  14. 14. ผลลัพธ์ที่ได้จากโปรแกรม คำาอธิบายโปรแกรม         สามารถอธิบายการทำางานของโปรแกรมที่ สำาคัญ ๆ ได้ดังนี้         บรรทัดที่ 8 คำาสั่ง while (n < 11) เพื่อ ควบคุมการทำางานของโปรแกรมให้ทำางานซำ้า ๆ กัน โดย การทำางานของคำาสั่ง while จะตรวจสอบเงื่อนไข n < 11 เป็นจริงหรือเท็จ ถ้าเป็นจริงจะทำางานตามคำาสั่งที่อยู่ ภายใน loop while คือ บรรทัดที่ 10 และ 11 จากนั้นจะ กลับมาตรวจสอบเงื่อนไขใหม่ ทำาอย่างนี้ซำ้า ๆ จนกว่า ตรวจสอบเงื่อนไข n < 11 เป็นเท็จ จึงจะออกจาก loop
  15. 15. บรรทัดที่ 10 และ 11 เป็นคำาสั่งที่โปรแกรมจะ ทำางานภายหลังจากตรวจสอบเงื่อนไข while แล้วเป็นจริง นั่นคือ คำานวณค่าสะสมของตัวแปร sum และ เพิ่มค่า n ที ละ 1 ตามลำาดับ          บรรทัดที่ 13 ถึง 18 เป็นคำาสั่งที่โปรแกรมจะ ทำางานภายหลังจากตรวจสอบเงื่อนไข while แล้วเป็นเท็จ คือ ลดค่าตัวแปร n ลง 1 แล้วคำานวณค่าเฉลี่ยเก็บไว้ที่ ตัวแปร avg และพิมพ์ค่าตัวแปร n, sum และ avg แสดง ที่จอภาพ พร้อมกับพิมพ์ข้อความให้กดคีย์ใด ๆ เพื่อกลับสู่
  16. 16. เอกสารอ้างอิง • http://chwchw.wordpress.com/การ เขียนคำาสั่งควบคุมแบ-2/กรณีศึกษา-การใช้คำา สั่งค/ • http://computer.bps.in.th/suteerat/lo op • http://itd.htc.ac.th/st_it50/it5012/P_1 /C/B4.htm • http://newsaroree.wordpress.com/

×