Recommended
PPT
PDF
PPTX
PPTX
PPTX
PPT
การเขียนคำสั่งแบบวนซ้ำ ppt
PPT
PPTX
PDF
PPTX
PDF
DOC
Ensayo de simce lenguaje n° 1
PPTX
16 ноября – всемирный день толерантности
PPTX
PDF
PDF
PDF
1. Expo Keynote 2015. Il concetto Social è penetrato in profondità nelle text...
PPTX
Pengembangan motivasi (modul)
PPT
กลุ่มที่4 ม.6/3 คำสั่ง For,While,Do while
PPTX
การเขียนคำสั่งควบคุมแบบวนซ้ำ
PPT
PDF
PPTX
การเขียนคำสั่งควบคุมแบบวนซ้ำ
PPTX
การเขียนคำสั่งควบคุมแบบวนซ้ำ
PDF
PPT
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
PDF
PDF
PDF
PPTX
การเขียนแบบคำสั่งควบคุมแบบวนซ้ำ
More Related Content
PPT
PDF
PPTX
PPTX
PPTX
PPT
การเขียนคำสั่งแบบวนซ้ำ ppt
PPT
PPTX
Viewers also liked
PDF
PPTX
PDF
DOC
Ensayo de simce lenguaje n° 1
PPTX
16 ноября – всемирный день толерантности
PPTX
PDF
PDF
PDF
1. Expo Keynote 2015. Il concetto Social è penetrato in profondità nelle text...
PPTX
Pengembangan motivasi (modul)
Similar to การเขียนคำสั่งแบบวนซ้ำ
PPT
กลุ่มที่4 ม.6/3 คำสั่ง For,While,Do while
PPTX
การเขียนคำสั่งควบคุมแบบวนซ้ำ
PPT
PDF
PPTX
การเขียนคำสั่งควบคุมแบบวนซ้ำ
PPTX
การเขียนคำสั่งควบคุมแบบวนซ้ำ
PDF
PPT
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
PDF
PDF
PDF
PPTX
การเขียนแบบคำสั่งควบคุมแบบวนซ้ำ
PPTX
PPT
PPTX
PDF
PDF
การเขียนคำสั่'งควบคุมแบบวนซ้ำ
PDF
PDF
บทที่ 3 คำสั่งควบคุมโปรแกรม
PPTX
การเขียนคำสั่งแบบวนซ้ำ 1. 2. โปรแกรมแบบวนซำ้า (คำาสังประเภท For , while, do
่
while)
คำาสั่งควบคุมการทำางาน แบบ for
คำาสัง For เป็นคำาสั่งควบคุมการทำางานและ
่
กำาหนดการทำางานวนรอบคล้าย ๆ กับคำาสั่ง while
จะมีรูปแบบแตกต่างกับคำาสังควบคุมการทำางานอืน
่
ๆ
คำาสัง for เป็นเป็นคำาสั่งสั่งควบคุมการทำางาน
่
และกำาหนดการทำางานวนรอบ โดยตั้งค่าก่อน แล้ว
จึงทำาการพิจารณาเงื่อนไข ถ้าเงื่อนไขเป็นจริง ก็
จะทำาคำาสังและวนรอบต่อไป
่
3. 4. การเขียนโดยใช้คำาสัง for จะเห็นได้ว่ามีความ
่
กระชับเขียนได้สั้นกว่าคำาสั่ง while เพราะสามารถ
กำาหนดได้ในครั้งเดียว แต่การทำางานก็จะได้ผล
เหมือนกันกับคำาสั่งwhile
ลักษณะการทำางานก็คอโปรแกรมจะทำาการ
ื
เช็คในส่วนของเงื่อนไข หากเงื่อนไขเป็นจริงก็จะ
เพิ่มค่าของตัวแปรไป 1 และทำาคำาสังในลูป จาก
่
นั้นก็ทำาการตรวจสอบเงื่อนไขอีก หากเงื่อนไขเป็น
จริงก็จะทำางานซำ้า ๆ แบบนีไปเรื่อย ๆ จนกว่า
้
เงื่อนไขเป็นเท็จ การทำางานของโปรแกรมก็จะ
หลุดจากลูป และจบการทำางาน
5. คำาสังควบคุมการทำางาน แบบ While
่
คำาสัง While เป็นคำาสั่งสำาหรับใช้ควบคุม
่
การทำางานแบบมีเงือนไข อีกแบบหนึ่ง ซึ่งแตกต่าง
ออกไปจากการใช้งานคำาสั่ง if และ elseif ก่อน
หน้านี้ ซึ่งคำาสั่ง While เป็นคำาสั่งที่จำาเป็นใน
การนำาไปใช้เขียนโปรแกรม ลองเข้ามาดูคะ ว่ามี
่
รูปแบบการเขียนและวิธีเขียนอย่างไร
คำาสัง While เป็นคำาสั่งสำาหรับใช้ควบคุมการ
่
ทำางานแบบมีเงือนไข ในการกำาหนดคำาสั่งให้มี
การทำางานแบบวนรอบ โดยพิจารณาเงื่อนไขก่อน
หากค่าที่ได้เป็นจริงตามเงื่อนไข จึงจะประมวลผล
6. 7. การเขียนโดยใช้คำาสั่ง for จะเห็นได้ว่ามี
ความกระชับเขียนได้สั้นกว่าคำาสั่ง while เพราะ
สามารถกำาหนดได้ในครั้งเดียว แต่การทำางานก็จะ
ได้ผลเหมือนกันกับคำาสั่ง while
ลักษณะการทำางานก็คือโปรแกรมจะทำาการ
เช็คในส่วนของเงื่อนไข หากเงื่อนไขเป็นจริงก็จะ
เพิ่มค่าของตัวแปรไป 1 และทำาคำาสังในลูป จาก
่
นั้นก็ทำาการตรวจสอบเงื่อนไขอีก หากเงื่อนไขเป็น
จริงก็จะทำางานซำ้า ๆ แบบนีไปเรื่อย ๆ จนกว่า
้
เงื่อนไขเป็นเท็จ การทำางานของโปรแกรมก็จะ
หลุดจากลูป และจบการทำางาน
8. 9. 10. จากตัวอย่างการโปรแกรม เราได้ทำาการ
เขียนโปรแกรม โดยสร้างตัวแปร $i แล้วให้มีคา
่
เท่ากับ 5 หลังจากนัน ตรงนีละที่จะทำางานต่างจาก
้
้
while เราะจะเจอกับคำาสั่ง do เมื่อเจอคำาสั่ง do
โปรแกรมจะทำาเลยทันที (do แปลว่าทำานี่นา) ซึ่งก็
่
คือแสดงผลค่าตัวแปร i คือ แสดงเลข 5 ออกมา
และขึ้นบรรทัดใหม่ แล้วเมื่อเจอคำาสั่ง $i-- จำากันได้
ไหมเพิ่งผ่านไปในบทความที่แล้ว มีความหมายว่า
ลบค่า $i ไป 1 ดังนั้นตอนนี้ $i=4 แล้ว
จากนันโปรแกรมจะเจอคำาสั่ง while ซึ่งจะ
้
ทำาการเช็คค่าในตัวแปร i คือ หากตัวแปร i มีคา
่
มากกว่าหรือเท่ากับ 1 โปรแกรมจะวนลูปทำาคำาสั่ง
ในลูป do อีกครั้ง การทำางานก็เหมือนคำาสั่ง while
11. คำาสังควบคุมแบบวนซำ้า
่
การวนซำ้า เป็นการกำาหนดให้มีการประมวลผล
คำาสังซำ้า ๆ กัน ตังแต่ 1 ครั้งขึนไป ทั้งนีขึ้นอยู่กับ
่
้
้
้
เงื่อนไขในการทำางาน ซึ่งจะช่วยให้การเขียน
โปรแกรมได้ง่าย สะดวก ไม่ตองเขียนข้อความคำาสั่ง
้
เดิมหลายครัง ทำาให้โปรแกรมมีความกระชับ
้
สามารถตรวจสอบความผิดพลาดได้ง่าย
โครงสร้างควบคุมแบบวนซำ้า (repetition
control structure) ประกอบด้วย
•คำาสั่ง for
•คำาสั่ง while
•คำาสั่ง do-while
โดยแต่ละโครงสร้างคำาสัง มีรูปแบบและวิธีการ
่
ใช้งานที่แตกต่างกัน นักเขียนโปรแกรมสามารถ
12. คำาสัง for
่
คำาสัง for เป็นคำาสังที่สั่งให้ประมวลผลคำา
่
่
สั่ง หรือชุดคำาสัง วนซำ้าได้หลายรอบ โดยต้อง
่
กำาหนดจำานวนรอบให้การวนซำ้าที่แน่นอน
รูปแบบของคำาสั่ง for เป็นดังนี้
for (การกำาหนดค่าเริ่มต้นของตัวนับ; เงื่อนไข
การวนซำ้า; การเปลี่ยนแปลงค่าตัวนับ) คำาสั่ง;
14. การกำาหนดค่าเริ่มต้นของตัวนับ เงื่อนไขการวน
ซำ้า และ การเปลียนแปลงค่าตัวนับ เป็นนิพจน์ทมี
่
ี่
การทำางานร่วมกันในคำาสั่ง for ดังนี้
การกำาหนดค่าเริ่มต้นของตัวนับ เป็นนิพจน์ที่ใช้
สำาหรับกำาหนดค่าเริ่มต้น ให้กบตัวแปรทีทำาหน้าที่
ั
่
ควบคุมการวนซำ้า และจะประมวลผลเพียงครั้งเดียว
•เงื่อนไขการวนซำ้า เป็นนิพจน์ทใช้สำาหรับประเมินค่า
ี่
คำาสั่ง จะถูกประมวลผลหรือไม่ นั่นคือถ้า เงื่อนไขการ
วนซำ้า มีค่าจริง คำาสั่ง จะถูกประมวลผล และถ้า
เงื่อนไขการวนซำ้า มีค่าเท็จ คำาสั่ง for จะสิ้นสุดลง
•การเปลี่ยนแปลงค่าตัวนับ เป็นนิพจน์ทจะถูก
ี่
ประมวลผลทุกครั้งหลังจาก คำาสั่ง ถูกประมวลผล โดย
การเปลียนแปลงค่าตัวนับ เป็นนิพจน์ใด ๆ ทีสามารถ
่
่
ประเมินค่าได้ เช่น นิพจน์เพิ่มค่า นิพจน์ลดค่า และ
นิพจน์กำาหนดค่า เป็นต้น
15. 16. 17. 18. เงื่อนไขกำรวนซำ้ำ เป็นนิพจน์ใดๆ ที่สำมำรถประเมินค่ำได้
โดยจะต้องเขียนไว้ระหว่ำงเครื่องหมำย ( และ ) เสมอเช่นเดียวกับ
คำำสั่ง if และคำำสั่ง if – else
เมื่อเริ่มต้นประมวลผลคำำสั่ง while เงื่อนไขกำรวนซำ้ำ จะถูก
ตรวจสอบค่ำ ถ้ำพบว่ำ เงื่อนไขกำรวนซำ้ำ มีค่ำเป็นจริง คำำสั่ง ภำย
ใต้คำำสั่ง while จะถูกตรวจสอบค่ำเป็นรอบแรก แล้ว เงื่อนไขกำรวน
ซำ้ำ จะถูกตรวจสอบค่ำอีกครั้ง หำกพบว่ำ เงื่อนไขกำรวนซำ้ำ ยังมีค่ำ
เป็น จริง คำำสั่ง จะถูกตรวจสอบค่ำอีกครั้ง จนกระทั่ง เงื่อนไขกำร
วนซำ้ำ มีค่ำเป็น เท็จ คำำสั่ง while จึงจะสิ้นสุดลง
กำรตรวจสอบค่ำ เงื่อนไขกำรวนซำ้ำ ของคำำสั่ง while ในครั้ง
แรก และพบว่ำมีค่ำเป็น เท็จ คำำสั่ง จะไม่ประมวลผลเลย
คำำสั่ง ภำยใต้คำำสั่ง while อำจเป็นคำำสั่งอย่ำงง่ำยหรือคำำสั่งเชิง
ประกอบ
19. 20. 21. หมำยเหตุ
• หมำยถึง ให้กดปุ่ม Enter บนแป้นพิมพ์
• ^z หมำยถึง ให้กดปุ่ม Ctrl - z บนแป้นพิมพ์
•
โปรแกรม InOut1.c แสดงกำรใช้คำำสั่งของภำษำซี 2 คำำ
สั่ง getchar() และ putchar() เพื่อใช้รับข้อมูลนำำเข้ำและแสดง
ผลลัพธ์แทนกำรใช้คำำสั่ง scanf() และ printf()
•
คำำสั่ง getchar() เป็นคำำสั่งไม่มีอำร์กิวเมนต์ และจะรับ
อักขระ 1 ตัวจำกแผงแป้นอักขระแล้ว ส่งกลับค่ำจำำนวนเต็มทีมี
่
ค่ำในตำรำงรหัสแอสกีที่ตรงกับอักขระดังกล่ำว
•
ฟังก์ชัน putchar() มีอำร์กิวเมนต์ 1 ตัวเป็นชนิด int และ
แสดงอักขระในตำรำงรหัสแอสกีทมีค่ำตรงกับจำำนวนเต็มดัง
ี่
กล่ำวจอภำพ
•
สำำหรับ EOF เป็นค่ำคงที่ที่นิยำมอยู่ในแฟ้มส่วนหัวชื่อ
stdio.h และใช้เป็นอักขระสำำหรับตรวจสอบกำรสิ้นสุดกำร
ป้องกันข้อมูลซึ่งในที่นี้ คือกำรป้องกัน Ctrl - z
22. •
จำกโปรแกรม InOut1.c ตรำบใดทีอักขระผู้ใช้ป้อน
่
ไม่ใช้อักขระสินสุดกำรป้อนข้อมูลเงื่อนไข กำรวนซำ้ำ
้
iochar != EOF จะยังมีค่ำเป็นจริง และแสดงผลค่ำอักขระ
นันออกทำงจอภำพก่อนทีจะวนรับอักขระตัวถัดไป และ
้
่
ในรอบทีผู้ใช้ป้อน Ctrl - z เงื่อนไขกำรวนซำ้ำ iochar !=
่
EOF จะมีค่ำเป็นเท็จ และคำำสั่ง while จะสิ้นสุดกำร
ทำำงำน
•
ในกรณีทผู้ใช้ป้อน Ctrl-z ในครั้งแรก เงื่อนไขกำร
ี่
วนซำ้ำ iochar != EOF จะมีค่ำเป็นเท็จและคำำสัง while จะ
่
สิ้นสุดกำรทำำงำนในทันที โดยทีคำำสั่งในบรรทัดที่ 11
่
และ 12 ไม่ถกประมวลผลเลย
ู
23. 24. คำำ สัง จะถูกประมวลผลโดยไม่มีเงื่อนไข
่
ใด ๆ ในรอบแรก จำกนันเงื่อ นไขกำรวน
้
ซำ้ำ จะถูกตรวจสอบค่ำ และคำำสั่ง จะถูกประมวล
ผลซำ้ำอีกทุกครั้งที่ เงื่อ นไขกำรวนซำ้ำ มีค่ำ
เป็น จริง และในครั้งแรกที่ เงื่อ นไขกำรวน
ซำ้ำ มีค่ำเป็น เท็จ คำำสั่ง do-while จึงจะสิ้นสุด
ลง
คำำ สัง ภำยใต้คำำสั่ง do-while อำจเป็นคำำ
่
สั่งอย่ำงง่ำยหรือคำำสังเชิงประกอบ
่
25. ย่า งที่ 4.2.3 โปรแกรมเลขยกกำา ลัง
1 //Program: Power.c
2
3 #define BASE 2
4 #include <stdio.h>
5 #include <math.h>
6
7 void main(){
8
9 int count = 0, limit;
8
9 printf("Enter an upper limit: ");
10 scanf("%d", &limit);
11 printf("PowertValuen");
11 do
12 printf("%dt%.2fn", count, pow(BASE, count));
11 while (count++ != limit);
13 }
14
15 getch();
16 }
26. 27. นิพ จน์ (expression)
นิพจน์ คือ การนำาค่าคงที่ ตัวแปร
และตัวดำาเนินการมาเขียนประกอบกัน เพื่อให้
ตัวแปรภาษาสามารถเข้าใจและคำานวณหา
ผลลัพธ์ได้ตามที่เราต้องการ
28. ตัว อย่า งที่ 2.6 ถ้าต้องการหาค่าจากสูตร a2+2ab+b2 เมื่อ
a=2, b=3 เราจะต้องเขียนสูตรดังกล่าวให้เป็นนิพจน์ดังนี้
• a*a+2 *a *b+b*b ……………………..…………………………… แบบที่ 1
หรือ pow(a,2) + 2 *a *b + pow(b,2)
……………………………… แบบที่ 2
• สำาหรับฟังก์ชัน pow(x,y) เป็นฟังก์ชันที่ใช้หาค่าตัวเลขที่อยู่ใน
รูปเลขยกกำาลัง
โดยที่ x เป็นเลขฐานซึ่งจะต้องมีค่าเป็นเลขจำานวนเต็มบวก
หรือศูนย์ก็ได้
y เป็นเลขยกกำาลังซึ่งอาจจะเป็นเลขจำานวนเต็ม
บวกหรือลบก็ได้
ดังนั้น pow(x,y) หมายถึง xy ส่วน pow(a,2) หมายถึง a2 และ
pow(b,2) หมายถึง b2
• ข้อ ควรระวัง ก่อนที่เราจะใช้ฟังก์ชัน pow(x,y) นีจะต้องใช้
้
คำาสั่ง #include<math.h> อยู่บนส่วนต้นของโปรแกรม เพือนำา
่
แฟ้ม math.h เข้ามาไว้ในโปรแกรมภาษา C ก่อน มิฉะนั้น
29. ตัว อย่า งที่ 2.7 แสดงนิพจน์ตัวอย่าง ซึ่งมีอยูหลาย
่
ชนิดตังต่อไปนี้
• 1) a+b*10+(3*c)*8 /* นิพจน์ทางคณิตศาสตร์*/
2) (m>=n)&&(x<y) /* นิพจน์เชิงตรรกะและนิพจน์
เชิงเปรียบเทียบความสัมพันธ์*/
3) !(k==25) /* นิพจน์เชิงตรรกะและนิพจน์เชิง
เปรียบเทียบความสัมพันธ์*/
4) !(p) /* นิพจน์เชิงตรรกะ*/
5) (i>10)||(j<5) /* นิพจน์เชิงตรรกะและนิพจน์เชิง
เปรียบเทียบ*/
6) if (y==z) /* นิพจน์เงื่อนไข*/
• ตัว อย่า งที่ 2.8 แสดงการหาค่าผลลัพธ์
จากนิพจน์ในภาษา C
• กำาหนดให้ int x=5, y=8, z=9;