การเขียนคาสั่งควบคุมแบบวนซ้า
นิพจน์ทางคณิตศาสตร์
• ทางคณิตศาสตร์นั้นเป็นนิพจน์ที่ใช้ในการคานวณ ซึ่งนิพจน์ทาง
คณิตศาสตร์นั้นจะมีรูปแบบเหมือนกับสมการคณิตศาสตร์ แต่จะ
ประกอบไปด้วย ค่าคงที่หรือตัวแปร ซึ่งเรียกอีกอย่างว่า “ตัวถูก
ดาเนินการ” (Operand) แล้วเชื่อมกันด้วยเครื่องหมายทาง
คณิตศาสตร์ หรือเรียกอีกอย่างว่า ตัวดาเนินการ (Operator)
นั่นเองรูปแบบ[ตัวถูกดาเนินการตัวแรก] [ตัวดาเนินการ]
[ตัวถูกดาเนินการตัวที่สอง]
ตัวอย่าง
• A+B
• 2+A
ตัวดาเนินการทางคณิตศาสตร์ ตัวดาเนินการ(Operator) หมายถึง เครื่องหมายที่
ใช้เชื่อมต่อกันระหว่างนิพจน์ หรือตัวแปรอย่างน้อย 2 ตัวขึ้นไป โดยที่ข้อมูลที่ถูกกระทาหรือตัวที่ถูก
กระทาเราเรียกว่า โอปะแรนต์(Operand)
ตัวดาเนินการทางคณิตศาสตร์ของภาษา C มีดังนี้
แสดงตัวดาเนินการทางคณิตศาสตร์
การสร้างนิพจน์ทางคณิตศาสตร์ ถ้าเป็นนิพจน์ที่มีตัวถูกดาเนินการเพียง 2 ตัวจะไม่มี
ปัญหาอะไร แต่ถ้าเกิดมีตัวถูกดาเนินการมากกว่า 2 ตัวขึ้นไป ผู้ใช้จะต้องคานึงถึงลาดับความสาคัญ
ของตัวดาเนินการด้วย มิฉะนั้นอาจจะได้ผลลัพธ์ที่ไม่ตรงตามความต้องการได้
ตารางลาดับความสาคัญของตัวดาเนินการทางคณิตศาสตร์
(ยิ่งมากยิ่งสาคัญ)
ตัวอย่างนิพจน์และวิธีการคานวณ
โครงสร้างควบคุมแบบวนซ้า
• โครงสร้างควบคุมแบบวนซ้า เป็นโครงสร้างที่ใช้สาหรับกาหนดให้มี
การประมวลผลคาสั่งซ้า ๆ กัน ตั้งแต่ 1 ครั้งขึ้นไป ทั้งนี้ขึ้นอยู่กับ
เงื่อนไขในการทางาน โครงสร้างควบคุมแบบวนซ้า
(repetitioncontrol structure) ประกอบด้วย
• คาสั่ง for
• คาสั่ง while
• คาสั่ง do-while
คาสั่ง FOR
• การใช้คาสั่ง FOR
• คาสั่ง FOR เป็นข้อคาสั่งให้โปรแกรมทางานซ้า ๆ กัน ตามจานวนรอบที่กาหนดเป็น
การกาหนดค่า ล่วงหน้าให้กับโปรแกรม เนื่องจากเราจะรู้จานวนรอบการทางานที่
แน่นอนโดยกาหนดค่าเริ่มต้นให้กับตัว แปรจากนั้นให้ตัวแปรทาการปรับปรุงค่าเพื่อ
วนรอบการทางานกลับมาทดสอบค่าตามเงื่อนไขที่กาหนดจน จบค่าสุดท้ายที่ตั้งไว้จึง
หยุดการทางานมีรูปแบบดังนี้
• for (expression1; expression2; expression3)statement;หรือ
for (expression1; expression2; expression3){statement(s);}
• for (ค่าเริ่มต้น ; เงื่อนไขเช็คค่าปลาย ; ค่าเพิ่ม) คาสั่งที่ต้องการดาเนินการ ;
ลักษณะการทางานของคาสั่ง for
คาสั่ง while
• คาสั่ง while เงื่อนไขการวนซ้า จะถูกประเมินค่า ถ้าพบว่า เงื่อนไขการวน
ซ้า มีค่าเป็นจริง คาสั่ง ภายใต้คาสั่ง while จะถูกประเมินผลเป็นรอบแรก แล้ว
เงื่อนไขการวนซ้า จะถูกประเมินอีกครั้ง หากพบว่า เงื่อนไขการวนซ้า ยังมีค่า
เป็นจริง คาสั่ง จะถูกประเมินอีกครั้ง จนกระทั่ง เงื่อนไขการวนซ้า มีค่าเป็นเท็จ
คาสั่ง while จึงจะสิ้นสุดลงการประเมินค่า เงื่อนไขการวนซ้า ของคาสั่ง
while ในครั้งแรก และพบว่ามีค่าเป็นเท็จ คาสั่ง จะไม่ประมวลผลเลย
ลักษณะการทางานของคาสั่ง while
คาสั่ง do-while
• โครงสร้างแบบวนซ้า คาสั่ง do-while มีรูปแบบดังนี้
do คาสั่ง;While ( เงื่อนไขการวนซ้า);
• คาสั่ง จะถูกประมวลผลโดยไม่มีเงื่อนไขใด ๆ ในรอบแรก จากนั้นเงื่อนไข
การวนซ้า จะถูกประเมินค่า และคาสั่ง จะถูกประมวลผลซ้าอีกทุกครั้ง
ที่ เงื่อนไขการวนซ้ามีค่าเป็นจริง และในครั้งแรกที่ เงื่อนไขการวนซ้า มีค่า
เป็นเท็จ คาสั่ง do-while จึงจะสิ้นสุดลง คาสั่งภายใต้คาสั่ง do-
while อาจเป็นคาสั่งอย่างง่ายหรือคาสั่งเชิงประกอบ
ลักษณะการทางานของคาสั่ง while
ตัวอย่างโปรแกรมรับและแสดงข้อมูล
กรณีศึกษา การใช้คาสั่งควบคุมวนซ้า
• การใช้คาสั่ง while เพื่อวนคานวณค่าสะสมตัวเลข 1 ถึง 10 และหาค่าเฉลี่ย
แล้วแสดงผลออกจอภาพ
• ผลลัพธ์ที่ได้จากโปรแกรม
• คำอธิบำย โปรแกรมสามารถอธิบายการทางานของโปรแกรมที่สาคัญ ๆ ได้ดังนี้
• – บรรทัดที่ 8 คาสั่ง while (n < 11) เพื่อควบคุมการทางานของโปรแกรมให้
ทางานซ้า ๆ กัน โดยการทางานของคาสั่ง while จะตรวจสอบเงื่อนไข n < 11
เป็นจริงหรือเท็จ ถ้าเป็นจริงจะทางานตามคาสั่งที่อยู่ภายใน loop while คือ
บรรทัดที่ 10 และ 11 จากนั้นจะกลับมาตรวจสอบเงื่อนไขใหม่ ทาอย่างนี้ซ้า ๆ จนกว่า
ตรวจสอบเงื่อนไข n < 11 เป็นเท็จ จึงจะออกจาก loop while แล้วไปทาคาสั่ง
บรรทัดที่ 13 ถึง คาสั่งบรรทัดที่ 18
• – บรรทัดที่ 10 และ 11 เป็นคาสั่งที่โปรแกรมจะทางานภายหลังจากตรวจสอบ
เงื่อนไข while แล้วเป็นจริง นั่นคือ คานวณค่าสะสมของตัวแปร sum และ เพิ่ม
ค่า n ทีละ 1 ตามลาดับ
• – บรรทัดที่ 13 ถึง 18 เป็นคาสั่งที่โปรแกรมจะทางานภายหลังจากตรวจสอบเงื่อนไข
while แล้วเป็นเท็จ คือ ลดค่าตัวแปร n ลง 1 แล้วคานวณค่าเฉลี่ยเก็บไว้ที่ตัวแปร
avg และพิมพ์ค่าตัวแปร n, sum และ avg แสดงที่จอภาพ พร้อมกับพิมพ์
ข้อความให้กดคีย์ใด ๆ เพื่อกลับสู่โปรแกรม สุดท้ายจะหยุดรอรับค่าใด ๆ จาก
คีย์บอร์ด เช่น ถ้ากด enter ก็จะกลับสู่โปรแกรม
สมาชิกกลุ่ม
1.นำยชัยวัฒน์ พลอยงำม เลขที่ 2
2.นำยกิตติภพ บุญเลิศ เลขที่ 7
3.นำงสำวมนัญชยำ ธัยยำวัฒน์ เลขที่ 17
4.นำงสำวสโรชำ ศรีสุวรรณ เลขที่ 30
5.นำงสำวชิดำรัตน์ อินแถลง เลขที่ 31
6.นำงสำวดลนภำ บ่อทรัพย์ เลขที่ 32
ชั้นมัธยมศึกษำปีที่ 6/1

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

  • 1.
  • 2.
    นิพจน์ทางคณิตศาสตร์ • ทางคณิตศาสตร์นั้นเป็นนิพจน์ที่ใช้ในการคานวณ ซึ่งนิพจน์ทาง คณิตศาสตร์นั้นจะมีรูปแบบเหมือนกับสมการคณิตศาสตร์แต่จะ ประกอบไปด้วย ค่าคงที่หรือตัวแปร ซึ่งเรียกอีกอย่างว่า “ตัวถูก ดาเนินการ” (Operand) แล้วเชื่อมกันด้วยเครื่องหมายทาง คณิตศาสตร์ หรือเรียกอีกอย่างว่า ตัวดาเนินการ (Operator) นั่นเองรูปแบบ[ตัวถูกดาเนินการตัวแรก] [ตัวดาเนินการ] [ตัวถูกดาเนินการตัวที่สอง] ตัวอย่าง • A+B • 2+A
  • 3.
    ตัวดาเนินการทางคณิตศาสตร์ ตัวดาเนินการ(Operator) หมายถึงเครื่องหมายที่ ใช้เชื่อมต่อกันระหว่างนิพจน์ หรือตัวแปรอย่างน้อย 2 ตัวขึ้นไป โดยที่ข้อมูลที่ถูกกระทาหรือตัวที่ถูก กระทาเราเรียกว่า โอปะแรนต์(Operand) ตัวดาเนินการทางคณิตศาสตร์ของภาษา C มีดังนี้ แสดงตัวดาเนินการทางคณิตศาสตร์ การสร้างนิพจน์ทางคณิตศาสตร์ ถ้าเป็นนิพจน์ที่มีตัวถูกดาเนินการเพียง 2 ตัวจะไม่มี ปัญหาอะไร แต่ถ้าเกิดมีตัวถูกดาเนินการมากกว่า 2 ตัวขึ้นไป ผู้ใช้จะต้องคานึงถึงลาดับความสาคัญ ของตัวดาเนินการด้วย มิฉะนั้นอาจจะได้ผลลัพธ์ที่ไม่ตรงตามความต้องการได้
  • 4.
  • 5.
  • 6.
    โครงสร้างควบคุมแบบวนซ้า • โครงสร้างควบคุมแบบวนซ้า เป็นโครงสร้างที่ใช้สาหรับกาหนดให้มี การประมวลผลคาสั่งซ้าๆ กัน ตั้งแต่ 1 ครั้งขึ้นไป ทั้งนี้ขึ้นอยู่กับ เงื่อนไขในการทางาน โครงสร้างควบคุมแบบวนซ้า (repetitioncontrol structure) ประกอบด้วย • คาสั่ง for • คาสั่ง while • คาสั่ง do-while
  • 7.
    คาสั่ง FOR • การใช้คาสั่งFOR • คาสั่ง FOR เป็นข้อคาสั่งให้โปรแกรมทางานซ้า ๆ กัน ตามจานวนรอบที่กาหนดเป็น การกาหนดค่า ล่วงหน้าให้กับโปรแกรม เนื่องจากเราจะรู้จานวนรอบการทางานที่ แน่นอนโดยกาหนดค่าเริ่มต้นให้กับตัว แปรจากนั้นให้ตัวแปรทาการปรับปรุงค่าเพื่อ วนรอบการทางานกลับมาทดสอบค่าตามเงื่อนไขที่กาหนดจน จบค่าสุดท้ายที่ตั้งไว้จึง หยุดการทางานมีรูปแบบดังนี้ • for (expression1; expression2; expression3)statement;หรือ for (expression1; expression2; expression3){statement(s);} • for (ค่าเริ่มต้น ; เงื่อนไขเช็คค่าปลาย ; ค่าเพิ่ม) คาสั่งที่ต้องการดาเนินการ ;
  • 8.
  • 10.
    คาสั่ง while • คาสั่งwhile เงื่อนไขการวนซ้า จะถูกประเมินค่า ถ้าพบว่า เงื่อนไขการวน ซ้า มีค่าเป็นจริง คาสั่ง ภายใต้คาสั่ง while จะถูกประเมินผลเป็นรอบแรก แล้ว เงื่อนไขการวนซ้า จะถูกประเมินอีกครั้ง หากพบว่า เงื่อนไขการวนซ้า ยังมีค่า เป็นจริง คาสั่ง จะถูกประเมินอีกครั้ง จนกระทั่ง เงื่อนไขการวนซ้า มีค่าเป็นเท็จ คาสั่ง while จึงจะสิ้นสุดลงการประเมินค่า เงื่อนไขการวนซ้า ของคาสั่ง while ในครั้งแรก และพบว่ามีค่าเป็นเท็จ คาสั่ง จะไม่ประมวลผลเลย
  • 11.
  • 13.
    คาสั่ง do-while • โครงสร้างแบบวนซ้าคาสั่ง do-while มีรูปแบบดังนี้ do คาสั่ง;While ( เงื่อนไขการวนซ้า); • คาสั่ง จะถูกประมวลผลโดยไม่มีเงื่อนไขใด ๆ ในรอบแรก จากนั้นเงื่อนไข การวนซ้า จะถูกประเมินค่า และคาสั่ง จะถูกประมวลผลซ้าอีกทุกครั้ง ที่ เงื่อนไขการวนซ้ามีค่าเป็นจริง และในครั้งแรกที่ เงื่อนไขการวนซ้า มีค่า เป็นเท็จ คาสั่ง do-while จึงจะสิ้นสุดลง คาสั่งภายใต้คาสั่ง do- while อาจเป็นคาสั่งอย่างง่ายหรือคาสั่งเชิงประกอบ
  • 14.
  • 15.
  • 16.
    กรณีศึกษา การใช้คาสั่งควบคุมวนซ้า • การใช้คาสั่งwhile เพื่อวนคานวณค่าสะสมตัวเลข 1 ถึง 10 และหาค่าเฉลี่ย แล้วแสดงผลออกจอภาพ
  • 17.
  • 18.
    • คำอธิบำย โปรแกรมสามารถอธิบายการทางานของโปรแกรมที่สาคัญๆ ได้ดังนี้ • – บรรทัดที่ 8 คาสั่ง while (n < 11) เพื่อควบคุมการทางานของโปรแกรมให้ ทางานซ้า ๆ กัน โดยการทางานของคาสั่ง while จะตรวจสอบเงื่อนไข n < 11 เป็นจริงหรือเท็จ ถ้าเป็นจริงจะทางานตามคาสั่งที่อยู่ภายใน loop while คือ บรรทัดที่ 10 และ 11 จากนั้นจะกลับมาตรวจสอบเงื่อนไขใหม่ ทาอย่างนี้ซ้า ๆ จนกว่า ตรวจสอบเงื่อนไข n < 11 เป็นเท็จ จึงจะออกจาก loop while แล้วไปทาคาสั่ง บรรทัดที่ 13 ถึง คาสั่งบรรทัดที่ 18 • – บรรทัดที่ 10 และ 11 เป็นคาสั่งที่โปรแกรมจะทางานภายหลังจากตรวจสอบ เงื่อนไข while แล้วเป็นจริง นั่นคือ คานวณค่าสะสมของตัวแปร sum และ เพิ่ม ค่า n ทีละ 1 ตามลาดับ • – บรรทัดที่ 13 ถึง 18 เป็นคาสั่งที่โปรแกรมจะทางานภายหลังจากตรวจสอบเงื่อนไข while แล้วเป็นเท็จ คือ ลดค่าตัวแปร n ลง 1 แล้วคานวณค่าเฉลี่ยเก็บไว้ที่ตัวแปร avg และพิมพ์ค่าตัวแปร n, sum และ avg แสดงที่จอภาพ พร้อมกับพิมพ์ ข้อความให้กดคีย์ใด ๆ เพื่อกลับสู่โปรแกรม สุดท้ายจะหยุดรอรับค่าใด ๆ จาก คีย์บอร์ด เช่น ถ้ากด enter ก็จะกลับสู่โปรแกรม
  • 20.
    สมาชิกกลุ่ม 1.นำยชัยวัฒน์ พลอยงำม เลขที่2 2.นำยกิตติภพ บุญเลิศ เลขที่ 7 3.นำงสำวมนัญชยำ ธัยยำวัฒน์ เลขที่ 17 4.นำงสำวสโรชำ ศรีสุวรรณ เลขที่ 30 5.นำงสำวชิดำรัตน์ อินแถลง เลขที่ 31 6.นำงสำวดลนภำ บ่อทรัพย์ เลขที่ 32 ชั้นมัธยมศึกษำปีที่ 6/1