เรื่อง การวนซ้ําโดยใช คําสั่ง while · ข. 2...
TRANSCRIPT
- 47 -
การวนซ้ําโดยใชคําสั่ง while
ชั้นมัธยมศึกษาปที่ 4
แบบฝกเสริมทักษะการเขียนโปรแกรมเบื้องตน เรื่อง
รายวิชา การเขียนโปรแกรมเบื้องตน รหัสวิชา ง30227
โดย
นายไชยรัตน เอี่ยมแบน ตําแหนง ครู วทิยฐานะชํานาญการ
กลุมสาระการเรียนรูการงานอาชีพและเทคโนโลย ี
โรงเรียนสตรศีึกษา
สํานักงานเขตพื้นทีก่ารศึกษามัธยมศึกษา เขต 27
สํานักงานคณะกรรมการการศึกษาขั้นพื้นฐาน
กระทรวงศึกษาธิการ
- 45 -
คํานํา
แบบฝกเสริมทักษะการเขียนโปรแกรมเลมนี้ จัดทําขึ้นเพ่ือใชเปนเครื่องมือประกอบ
การเรียนรู และฝกปฏิบัติการเขียนโปรแกรมเบื้องตนในรายวิชาการเขียนโปรแกรมเบื้องตน(ง30227)
ซึ่งผานการบูรณาการความรู นําไปสูการเรียนรูดวยตนเองทั้งในและนอกหองเรียน ฝกใหผูเรียนได
คิดวิเคราะห วางแผน ออกแบบขั้นตอน และลงมือแกโจทยปญหาอยางเปนระบบ
ขอขอบพระคุณ ทานผูอํานวยการกัมพล พื้นแสน ผูอํานวยการโรงเรียนสตรีศึกษาที่ให
การสนับสนุน คุณครูวิศนุ พันธุมโน หัวหนาศูนยคอมพิวเตอรและอินเทอรเน็ต โรงเรียนสตรีศึกษา
ที่ใหคําปรึกษา คุณครูวราพงศ ประเสริฐสังข ครูชํานาญการพิเศษ โรงเรียนโพนทองพัฒนาวิทยา ที่ให
คําแนะนํา และขอขอบพระคุณเปนพิเศษสําหรับคณะครูโรงเรียนสตรีศึกษาทุกทานที่ใหกําลังใจ
จนพัฒนาแบบฝกชุดนี้เสร็จสมบูรณดวยดี
ไชยรัตน เอี่ยมแบน
ผูจัดทํา
- 46 -
สารบัญ
เรื่อง หนา
คําชี้แจงในการใชชุดแบบฝกเสริมทักษะการเขียนโปรแกรมเบื้องตน ................................................ 1
แผนผังขั้นตอนการใชชุดแบบฝกเสริมทักษะการเขียนโปรแกรมเบื้องตน ......................................... 2
จุดประสงคการเรียนรู ...................................................................................................................... 3
แบบทดสอบกอนเรียน ..................................................................................................................... 4
สรุปเนื้อหา ...................................................................................................................................... 7
แบบฝกเสริมทักษะการเขียนโปรแกรมเบื้องตน เรื่อง การวนซ้ําโดยใชคําสั่ง while ......................... 14
แบบทดสอบหลังเรียน ..................................................................................................................... 26
เฉลยแบบทดสอบกอนเรียน/แบบทดสอบหลังเรียน ......................................................................... 29
เฉลยแบบฝกเสริมทักษะการเขียนโปรแกรมเบื้องตน เรื่อง การวนซ้ําโดยใชคําสั่ง while ................. 30
เกณฑการประเมินแบบฝกเสริมทักษะการเขียนโปรแกรมเบื้องตน ................................................... 42
แบบประเมินแบบฝกเสริมทักษะการเขียนโปรแกรมเบื้องตน ........................................................... 43
บรรณานุกรม ................................................................................................................................... 44
- 1 -
คําช้ีแจงในการใชชุดแบบฝกเสริมทักษะการเขียนโปรแกรมเบื้องตน
หนวยการเรียนรูที่ 3 คําสั่งควบคุมการทํางานในภาษาซ ี
เรื่อง การวนซ้ําโดยใชคําสั่ง while
--------------------------------------- 1. อานคาํชี้แจงในการใชแบบฝกเสรมิทักษะการเขียนโปรแกรมเบื้องตน
2. ศึกษาขัน้ตอนการใชแบบฝกเสริมทกัษะการเขียนโปรแกรมเบื้องตนใหเขาใจ
3. ชุดแบบฝกเสรมิทักษะการเขียนโปรแกรมเบื้องตนแตละชุด ประกอบดวย
3.1 คําชีแ้จงในการใชชดุแบบฝกเสริมทักษะการเขียนโปรแกรมเบื้องตน
3.2 แผนผงัขัน้ตอนการใชชดุแบบฝกเสริมทกัษะการเขยีนโปรแกรมเบื้องตน
3.3 จุดประสงคการเรียนรู(ผลการเรียนรู)
3.4 แบบทดสอบกอนเรียน
3.5 สรุปเนื้อหาบทเรียน
3.6 แบบฝกเสริมทักษะการเขียนโปรแกรมเบื้องตน
3.7 แบบทดสอบหลงัเรียน
3.8 เฉลยแบบทดสอบกอนเรียน
3.9 เฉลยแบบทดสอบหลังเรียน
3.10 เฉลยแบบฝกเสริมทกัษะการเขียนโปรแกรมเบื้องตน
4. ทําแบบฝกตามแผนผงัขัน้ตอนการใชแบบฝกเสริมทกัษะการเขียนโปรแกรมเบื้องตน
- 2 -
แผนผังขั้นตอนการใชชุดแบบฝกเสริมทักษะการเขียนโปรแกรมเบื้องตน
หนวยการเรียนรูที่ 3 คําสั่งควบคุมการทํางานในภาษาซ ี
เรื่อง การวนซ้ําโดยใชคําสั่ง while
อานคําชี้แจง
ทดสอบกอนเรียน
ศึกษาเนื้อหา
ทําแบบฝกทักษะ
ประเมินผล
เร่ิมตน
จบ
ไมผาน
ผาน
ทดสอบหลังเรียน
- 3 -
จุดประสงคการเรียนรู
1. มีความรูความเขาใจการเขียนโปรแกรมควบคุมการทํางานแบบวนซ้ํา
2. ปฏิบัติการเขียนโปรแกรมควบคุมการทํางานแบบวนซ้ําโดยใชคําสั่ง while
3. สามารถประยุกตใชคําสั่งควบคุมการทํางานแบบวนซ้ําในการแกโจทยปญหาได
- 4 -
แบบทดสอบกอนเรียน หนวยการเรียนรูที่ 3 : คําสั่งควบคุมการทํางานในภาษาซี รายวิชาการเขียนโปรแกรมเบื้องตน
หนวยการเรียนรูยอยที่ 5 : การวนซ้ําโดยใชคําสั่ง while รหัสวิชา ง30227
คําสั่ง ใหนักเรียนเลือกคําตอบที่ถูกที่สุดเพียงขอเดียว
1. ขอใดกลาวถูกตองเกี่ยวกับการวนซ้ําโดยใชคําสั่ง while
ก. วนซ้ํากอน 1 รอบเสมอ
ข. วนซ้ําเมื่อนิพจนตรวจสอบใหผลลัพธเปนจริงเทานั้น
ค. ใชเมื่อทราบจํานวนรอบแนนอน
ง. วนซ้ําไดไมเกิน 65536 รอบ
2. ขอใดคือประโยชนของการใชคําสั่งวนซ้ําการทํางาน
ก. โปรแกรมกระชับ
ข. สะดวกในการแกไข
ค. ลดขั้นตอน
ง. ถูกทุกขอ
พิจารณาคําสั่งตอไปนี้แลวตอบคําถามขอ 3-4
3. โปรแกรมจะทําการวนซ้ํากี่รอบ
ก. 1 รอบ
ข. 9 รอบ
ค. 10 รอบ
ง. วนซ้ําไมรูจบ
4. โปรแกรมมีการเพิ่มคารอบละเทาใด
ก. 1
ข. 2
ค. 10
ง. ไมระบุ
int a; a=0; while (a<10) { printf(“%d ”,a); }
- 5 -
พิจารณาโปรแกรมตอไปนี้ แลวตอบคําถามขอ 5-9
5. นิพจนตรวจสอบการวนซ้ํา คือขอใด
ก. sum=1; j=1;
ข. (j<=4)
ค. sum=sum*j;
ง. j++;
6. โปรแกรมวนซ้ําทั้งหมดกี่รอบ
ก. 4 รอบ
ข. 3 รอบ
ค. 2 รอบ
ง. 1 รอบ
7. คําสั่งท่ีอยูในการวนรอบคือ
ก. บรรทัดที่ 5
ข. บรรทัดที่ 6
ค. บรรทัดที่ 9-10 .
ง. บรรทัดที่ 12-13
8. เมื่อสิ้นสุดการทํางาน sum จะมีคาเปนเทาใด
ก. 4
ข. 5
ค. 12
ง. 24
#include <stdio.h> #include <conio.h> main() { int sum,j; sum=1; j=1; while(j<=4) { sum=sum*j; j++; } printf("sum=%d",sum); getch(); }
1 2 3 4 5 6 7 8 9
10 11 12 13 14
- 6 -
9. เมื่อเปลี่ยนคําสั่งในบรรทัดที่ 10 เปน j=j+2; โปรแกรมจะวนซ้ําจํานวนกี่รอบ
ก. 1 รอบ
ข. 2 รอบ
ค. 3 รอบ
ง. 4 รอบ
10. โปรแกรมในขอใดตอไปนี้ ควรเลือกใชการวนซ้ําโดยใชคําสั่ง while
ก. โปรแกรมแสดงสูตรคูณแม 2 ถึง แม 12
ข. โปรแกรมหาคาผลรวมของตัวเลขจาก 1 ถึง 10
ค. โปรแกรมตรวจสอบจํานวนเฉพาะ
ง. โปรแกรมแสดงตัวอักษรจาก A ถึง Z
- 7 -
สรุปเนื้อหา
หนวยการเรียนรูที่ 3 คําสั่งควบคุมการทํางานในภาษาซ ี
เรื่อง การวนซ้ําโดยใชคําสั่ง while
----------------------------------
การวนซ้ําโดยใชคําสั่ง while
การวนซ้ําการทํางานโดยใชคําสั่ง while เหมาะสําหรับการเขียนโปรแกรมท่ีตองการวนซ้ํา
การทํางานเมื่อทราบจํานวนครั้งที่ตองการวนซ้ําไมแนนอน โดยจะทําการวนซ้ําการทํางานเมื่อนิพจน
ตรวจสอบใหคาของการตรวจสอบเปนจริง และจะหยุดการวนซ้ําเมื่อนิพจนตรวจสอบใหคาของการ
ตรวจสอบเปนเท็จ มีโครงสรางการทํางาน ดังรูป
นิพจนตรวจสอบtrue
false
คําส่ัง1
คําส่ัง2
ผังงานแสดงการวนซ้ําโดยใชคําสั่ง while
- 8 -
การวนซ้ําโดยใชคําสั่ง while จะเหมาะสําหรับการวนซ้ําที่ไมทราบรอบการทํางานแนนนอน
โดยโปรแกรมจะทําการวนซ้ําเมื่อนิพจนการตรวจสอบใหคาการทดสอบเปนจริง(true) เทานั้น
โครงสรางการวนซ้ําโดยใชคําสั่ง while มีรูปแบบคําสั่งการใชงาน ดังนี ้
โจทยตัวอยางที่ 1
การพิมพขอความ Strisuksa School ซ้ําจํานวน 10 ครั้ง โดยใชคําสั่งวนซ้ํา while
1. กําหนดขอมูลนําเขา/ตัวแปรที่ใช
ตัวแปรที่ใชนับรอบ ชื่อตัวแปร : i ชนิดขอมูล : int
2. ชุดคําสั่งท่ีตองการวนซ้ํา
แสดงขอความ Strisuksa School
3. การออกแบบหนาจอผลลัพธ
while (นิพจนตรวจสอบ)
{
คําสั่งที่ตองการวนซ้ํา1;
คําสั่งที่ตองการวนซ้ํา2;
… }
รูปแบบคําสั่ง
- 9 -
ผังงานแสดงการแกปญหา
Start
i<=10
End
i=1
true
false
i=i+1
Print“Strisuksa School”
- 10 -
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
.................
รหัสโปรแกรม
#include <stdio.h>
#include <conio.h>
main()
{
int i;
i=1; //กําหนดคาเริ่มตน i=1
while (i<=10) //วนซ้ําเมื่อ i นอยกวาหรือเทากับ 10
{
printf("Strisuksa School \n"); //คําสั่งที่วนซ้ํา
i++; //เพิ่มคา i ขึ้นอีก 1
}
getch();
}
- 11 -
โจทยตัวอยางที่ 2
โปรแกรมแสดงตัวเลขจํานวนเต็มจาก 1 – 50 (แสดงบรรทัดละ 10 จํานวน) โดยใชคําสั่งวนซ้ํา while
1. กําหนดขอมูลนําเขา/ตัวแปรที่ใช
ตัวแปรที่ใชนับรอบ ชื่อตัวแปร : i ชนิดขอมูล : int
2. ชุดคําสั่งท่ีตองการวนซ้ํา
แสดงตัวเลขจํานวนเต็มจาก 1 – 50 โดยตัดขึ้นบรรทัดใหมเมื่อแสดงครบ 10 จํานวน
3. การออกแบบหนาจอผลลัพธ
- 12 -
ผังงานแสดงการแกปญหา
Start
i<=50
End
i=1
true
false
i=i+1
Print i
i%10==0
NewLine
true
false
- 13 -
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
.................
รหัสโปรแกรม
#include <stdio.h>
#include <conio.h>
main()
{
int i;
i=1; //กําหนดคาเริ่มตน i=1
while (i<=50) //วนซ้ําเมื่อ i นอยกวาหรือเทากับ 10
{
printf("%d\t",i); //คําสั่งที่วนซ้ํา
if (i%10==0) printf("\n"); //ถาคา i หารดวย 10 ลงตัวใหตัดขึ้นบรรทัดใหม
i++; //เพิ่มคา i ขึ้นอีก 1
}
getch();
}
- 14 -
แบบฝกเสริมทักษะการเขียนโปรแกรมเบื้องตน
หนวยการเรียนรูที่ 3 คําสั่งควบคุมการทํางานในภาษาซ ี
เรื่อง การวนซ้ําโดยใชคําสั่ง while
-----------------------------------
คําชี้แจง ใหนักเรียนกําหนดขอมูลนําเขา ชุดคําสั่งที่ตองการวนซ้ํา การออกแบบหนาจอผลลัพธ
เขียนผังงานแสดงขั้นตอนการแกปญหา และเขียนรหัสโปรแกรมเพ่ือแกโจทยปญหาตอไปนี้
1. โปรแกรมแสดงผลบวกของตัวเลขจํานวนเต็มจาก 1 – n โดยใชคําสั่งวนซ้ํา while
1.1 กําหนดขอมูลนําเขา
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
1.2 ชุดคําสั่งที่ตองการวนซ้ํา
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
1.3 การออกแบบหนาจอผลลัพธ
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
- 15 -
1.4 ผังงานแสดงการแกปญหา
- 16 -
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
.................
1.5 รหัสโปรแกรม
- 17 -
2. โปรแกรมแสดงตัวเลขจํานวนเต็มจาก 10 ถึง 1 โดยใชคําสั่งวนซ้ํา while
2.1 กําหนดขอมูลนําเขา
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
2.2 ชุดคําสั่งที่ตองการวนซ้ํา
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
2.3 การออกแบบหนาจอผลลัพธ
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
- 18 -
2.4 ผังงานแสดงการแกปญหา
4
- 19 -
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
.................
2.5 รหัสโปรแกรม
- 20 -
3. โปรแกรมแสดง ASCII code ตัวอักษรจาก A – Z โดยใชคําสั่งวนซ้ํา while
3.1 กําหนดขอมูลนําเขา
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
3.2 ชุดคําสั่งที่ตองการวนซ้ํา
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
3.3 การออกแบบหนาจอผลลัพธ
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
- 21 -
3.4 ผังงานแสดงการแกปญหา
- 22 -
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
.................
3.5 รหัสโปรแกรม
- 23 -
4. โปรแกรมตรวจสอบคาสูงสุด และคาต่ําสุดของตัวแปรชนิด int โดยใชคําสั่งวนซ้ํา while
4.1 กําหนดขอมูลนําเขา
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
4.2 ชุดคําสั่งที่ตองการวนซ้ํา
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
4.3 การออกแบบหนาจอผลลัพธ
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
- 24 -
4.4 ผังงานแสดงการแกปญหา
- 25 -
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
.................
4.5 รหัสโปรแกรม
- 26 -
แบบทดสอบหลังเรียน หนวยการเรียนรูที่ 3 : คําสั่งควบคุมการทํางานในภาษาซี รายวิชาการเขียนโปรแกรมเบื้องตน
หนวยการเรียนรูยอยที่ 5 : การวนซ้ําโดยใชคําสั่ง while รหัสวิชา ง30227
คําสั่ง ใหนักเรียนเลือกคําตอบที่ถกูที่สุดเพียงขอเดียว
1. ขอใดกลาวถูกตองเกี่ยวกับการวนซ้ําโดยใชคําสั่ง while
ก. วนซ้ําเมื่อนิพจนตรวจสอบใหผลลัพธเปนจริงเทานั้น
ข. ใชเมื่อทราบจํานวนรอบแนนอน
ค. วนซ้ําไดไมเกิน 65536 รอบ
ง. วนซ้ํากอน 1 รอบเสมอ
2. โปรแกรมในขอใดตอไปนี้ ควรเลือกใชการวนซ้ําโดยใชคําสั่ง while
ก. โปรแกรมแสดงสูตรคูณแม 2 ถึง แม 12
ข. โปรแกรมหาคาผลรวมของตัวเลขจาก 1 ถึง 100
ค. โปรแกรมตรวจสอบจํานวนเฉพาะ
ง. โปรแกรมแสดงตัวอักษรจาก A ถึง Z
พิจารณาคําสั่งตอไปนี้แลวตอบคําถามขอ 3-4
3. โปรแกรมจะทําการวนซ้ํากี่รอบ
ก. 1 รอบ
ข. 2 รอบ
ค. 10 รอบ
ง. วนซ้ําไมรูจบ
4. โปรแกรมมีการเพิ่มคารอบละเทาใด
ก. 1
ข. 2
ค. 10
ง. ไมระบุ
int a; a=0; while (a<10) { printf(“%d ”,a); }
- 27 -
พิจารณาโปรแกรมตอไปนี้ แลวตอบคําถามขอ 5-9
5. นิพจนตรวจสอบการวนซ้ํา คือขอใด
ก. sum=1; j=1;
ข. (j<=4)
ค. sum=sum*j;
ง. j++;
6. โปรแกรมวนซ้ําทั้งหมดกี่รอบ
ก. 4 รอบ
ข. 3 รอบ
ค. 2 รอบ
ง. 1 รอบ
7. คําสั่งท่ีอยูในการวนรอบคือ
ก. บรรทัดที่ 5
ข. บรรทัดที่ 6
ค. บรรทัดที่ 9-10 .
ง. บรรทัดที่ 12-13
8. เมื่อสิ้นสุดการทํางาน sum จะมีคาเปนเทาใด
ก. 4
ข. 5
ค. 12
ง. 24
#include <stdio.h> #include <conio.h> main() { int sum,j; sum=1; j=1; while(j<=4) { sum=sum*j; j++; } printf("sum=%d",sum); getch(); }
1 2 3 4 5 6 7 8 9
10 11 12 13 14
- 28 -
9. เมื่อเปลี่ยนคําสั่งในบรรทัดที่ 10 เปน j=j+2; โปรแกรมจะวนซ้ําจํานวนกี่รอบ
ก. 1 รอบ
ข. 2 รอบ
ค. 3 รอบ
ง. 4 รอบ
10. ขอใดคือประโยชนของการใชคําสั่งวนซ้ําการทํางาน
ก. โปรแกรมกระชับ
ข. สะดวกในการแกไข
ค. ลดขั้นตอน
ง. ถูกทุกขอ
- 29 -
เฉลยแบบทดสอบกอนเรียน เฉลยแบบทดสอบหลังเรียน
1. ข 1. ก
2. ง 2. ค
3. ง 3. ง
4. ง 4. ง
5. ข 5. ข
6. ก 6. ก
7. ค 7. ค
8. ง 8. ง
9. ข 9. ข
10. ค 10. ง
- 30 -
เฉลยแบบฝกเสริมทักษะการเขียนโปรแกรมเบือ้งตน
หนวยการเรียนรูที่ 3 คําสั่งควบคุมการทํางานในภาษาซ ี
เร่ือง การวนซ้ําโดยใชคําสั่ง while
-----------------------------------
คําชี้แจง ใหนักเรียนกําหนดขอมูลนําเขา ชุดคําสั่งที่ตองการวนซ้ํา การออกแบบหนาจอผลลัพธ
เขียนผังงานแสดงขั้นตอนการแกปญหา และเขียนรหัสโปรแกรมเพ่ือแกโจทยปญหาตอไปนี้
1. โปรแกรมแสดงผลบวกของตัวเลขจํานวนเต็มจาก 1 – n โดยใชคําสั่งวนซ้ํา while
1.1 กําหนดขอมูลนําเขา
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
1.2 ชุดคําสั่งที่ตองการวนซ้ํา
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
1.3 การออกแบบหนาจอผลลัพธ
ตัวนับรอบ ชื่อตัวแปร : i ชนิดขอมูล : int
ผลรวม ชื่อตัวแปร : total ชนิดขอมูล : int
ตัวเลขจํานวนสุดทาย(n) ชื่อตัวแปร : n ชนิดขอมูล : int
แสดงผลบวกของตัวเลขจาก 1 – n
- 31 -
1.4 ผังงานแสดงการแกปญหา
Start
i=i+1
i<=n
End
total=0i=1
Print i,total
Input n(lastnumber)
total=total+i
false
true
- 32 -
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
.................
1.5 รหัสโปรแกรม
#include <stdio.h>
#include <conio.h>
main()
{
int i,total,n;
printf("Input last number : ");
scanf("%d",&n);
total=0;
i=1;
while(i<=n) //วนซ้ําเมื่อ i นอยกวาหรือเทากับ n
{
total=total+i; //ผลรวมใหม=ผลรวมเดิม+i
printf("%d = %d \n",i,total);
i++; //เพิ่มคา i ขึ้นอีก 1
}
printf("=========================\n");
printf("Total 1-%d = %d",n,total);
//Total หมายถึง ขอความ , สวน total หมายถึง ตัวแปร
getch();
}
- 33 -
2. โปรแกรมแสดงตัวเลขจํานวนเต็มจาก 10 ถึง 1 โดยใชคําสั่งวนซ้ํา while
2.1 กําหนดขอมูลนําเขา
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
2.2 ชุดคําสั่งที่ตองการวนซ้ํา
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
2.3 การออกแบบหนาจอผลลัพธ
ตัวนับรอบ ชื่อตัวแปร : i ชนิดขอมูล : int
แสดงตัวเลขจํานวนเต็มจาก 10 – 1
- 34 -
2.4 ผังงานแสดงการแกปญหา
4
Start
i=i-1
i>=1
End
i=10
true
false
Print i
- 35 -
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
.................
2.5 รหัสโปรแกรม
#include <stdio.h>
#include <conio.h>
main()
{
int i;
i=10; //กําหนดคาเริ่มตน i=10
while (i>=1) //วนซ้ําเมื่อ i มากกวาหรือเทากับ 1
{
printf("%d\t",i);
i- -; //ลดคา i ลงอีก 1 เนื่องจากวนซ้ําจากตัวเลขมากไปหานอย
}
getch();
}
- 36 -
3. โปรแกรมแสดง ASCII code ตัวอักษรจาก A – Z โดยใชคําสั่งวนซ้ํา while
3.1 กําหนดขอมูลนําเขา
.........................................................................................................................................................
.........................................................................................................................................................
3.2 ชุดคําสั่งที่ตองการวนซ้ํา
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
3.3 การออกแบบหนาจอผลลัพธ
ตัวนับรอบการทํางาน ชื่อตัวแปร : ch ชนิดขอมูล : char
แสดง ASCII code ของตัวอักษร โดยมีรูปแบบ ดังนี้
A = 65
B = 66
C = 67
.. ..
.. ..
Z = 90
ดังตัวอยางหนาจอผลลัพธ
- 37 -
3.4 ผังงานแสดงการแกปญหา
Start
ch=ch+1
ch<=’Z’
End
ch=’A’
true
false
Print ASCII code ch
New Line
- 38 -
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
.................
3.5 รหัสโปรแกรม
#include <stdio.h>
#include <conio.h>
main()
{
char ch;
ch='A'; //กําหนดคา ch เทากับตัวอักษร A
printf("ASCII Code A - Z \n");
printf("================= \n");
while(ch<='Z') //วนซ้ําเมื่อ ch นอยกวาหรือเทากับ ตัวอักษร Z
{
printf("%c = %d \n",ch,ch);
//%c หมายถึง ใหแสดงตัวอักษรที่เก็บในตัวแปร ch
//%d หมายถึง ใหแสดงตัวเลขจํานวนเต็มที่เก็บในตัวแปร ch
ch++; //เพิ่มคา ch ขึ้นอีก 1 เชน จาก A เปน B , B เปน C , C เปน D
}
getch();
}
- 39 -
4. โปรแกรมตรวจสอบคาสูงสุด และคาต่ําสุดของตัวแปรชนิด int โดยใชคําสั่งวนซ้ํา while
4.1 กําหนดขอมูลนําเขา
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
4.2 ชุดคําสั่งที่ตองการวนซ้ํา
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
4.3 การออกแบบหนาจอผลลัพธ
ตัวแปรจําคาเริ่มตนคานอย ชื่อตัวแปร : min ชนิดขอมูล : int
ตัวแปรจําคาเริ่มตนคามาก ชื่อตัวแปร : max ชนิดขอมูล : int
เพิ่มคา min ครั้งละ 1 และ เพิ่มคา max ครั้งละ 1
วนซ้ําเมื่อ max มีคามากกวา min
เมื่อคา max เพิ่มคาเลยคาสูงสุดของขอบเขต int จะยอนกลับไปที่คาต่ําสุดของ int
ดังนั้น คาสูงสุดของ int จะมคีาเทากับ min และ
คาต่ําสุดของ int จะมีคาเทากับ max
- 40 -
4.4 ผังงานแสดงการแกปญหา
Print “please wait”
Start
min=min+1
max>min
End
min=1max=2
true
false
max=max+1
Print minimum of int(max)
Print maximum of int(min)
- 41 -
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
.
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
…..............................................................................................................................................................
.................
4.5 รหัสโปรแกรม
#include <stdio.h>
#include <conio.h>
main()
{
int min,max;
printf("Please wait....! \n");
min=1;
max=2;
while(max>min) //วนซ้ําเมื่อคา max มากกวา min
{
min++; //เพิ่มคาตัวแปร min เพิ่มขึ้นอีก 1
max++; //เพิ่มคาตัวแปร max เพิ่มขึ้นอีก 1
}
//หลังออกจากการวนซ้ําคาตัวแปร max จะวกกลับไปท่ีคาต่ําสุดของ int
//หลังออกจากการวนซ้ําคาตัวแปร min จะมีคาเทากับคาสูงสุดของ int
printf("Minimum of integer = %d \n",max);
printf("Maximum of integer = %d \n",min);
getch();
}
- 42 -
เกณฑการประเมินแบบฝกเสริมทักษะการเขียนโปรแกรมเบื้องตน
หนวยการเรียนรูที่ 3 คําสั่งควบคุมการทํางานในภาษาซี
เรื่อง การวนซ้ําโดยใชคําสั่ง while
ระดับคุณภาพ / ระดับคะแนน รายการประเมิน
ดีมาก (4) ดี (3) พอใช (2) ปรับปรุง (1)
1. การวางแผน
ออกแบบอยางมี
ระบบ
มีการแสดงวิธีการ
แกปญหาในลักษณะ
ผังงาน หรือ
คําอธิบายอยางยอ
เพื่อใหเขาใจแนว
ทางการวิเคราะห
ปญหา ซึ่งสามารถ
นําไปใชในการเขียน
รหัสคําสั่งได
มกีารแสดงวิธีการ
แกปญหาในลักษณะ
ผังงาน หรือ
คําอธิบายอยางยอ
เพื่อใหเขาใจแนว
ทางการวิเคราะห
ปญหา
มีการแสดงวิธีการ
แกปญหาในลักษณะ
ผังงาน หรือคําอธิบาย
อยางยอ
ไมมีมีการแสดงวิธีการ
แกปญหาในลักษณะ
ผังงาน หรือคําอธิบาย
อยางยอ
2.ความถูกตอง
สมบูรณของ
โปรแกรมตาม
โจทยที่กําหนด
โปรแกรมทํางานได
อยางถูกตองสมบูรณ
ตามที่โจทยกําหนด
และไมมีขอผิดพลาด
โปรแกรมทํางานได
อยางถูกตอง ตามที ่
โจทยกําหนด และมี
ขอผิดพลาดเล็กนอย
โปรแกรมสามารถ
ทํางานได แตผลลัพธมี
ขอผิดพลาด
โปรแกรมไมสามารถ
ทํางานได เนื่องจาก
คําสั่งไมถูกตอง
3. วิธีการที่
นํามาใชในการ
แกปญหา
มีเทคนิคในการ
แกปญหาในการ
ทํางานของโปรแกรม
อยางมีประสิทธิภาพ
และเลือกใชคําสั่ง
ฟงกชัน ไดอยางถูกตอง
และเหมาะสมกับโจทย
ปญหา
มีเทคนิคในการ
แกปญหาในการ
ทํางานของโปรแกรม
อยางมีประสทิธ-ิ
ภาพ และเลือกใชคําสัง่
ฟงกชันไดอยางถูกตอง
มีเทคนิคในการ
แกปญหาในการ
ทํางานของโปรแกรม
และเลือกใชคําสั่ง
ฟงกชันไดอยางถูกตอง
มีเทคนิคในการ
แกปญหาในการ
ทํางานของโปรแกรม
และเลือกใชคําสั่ง
ฟงกชันไมเหมาะสม
เกณฑการตัดสินคุณภาพ
ชวงคะแนน ระดับคุณภาพ ผลการประเมิน
41-48 (4) ดีมาก
33-40 (3) ดี
24-32 (2) พอใช
ผาน
ต่ํากวา 24 (1) ปรับปรุง ไมผาน
- 43 -
แบบประเมินแบบฝกเสริมทักษะการเขียนโปรแกรมเบื้องตน
หนวยการเรียนรูที่ 3 คําสั่งควบคุมการทํางานในภาษาซี
เรื่อง การวนซ้ําโดยใชคําสั่ง while รายการประเมิน
การวางแผน
ออกแบบอยางมี
ระบบ
(ขอละ 4 คะแนน)
ความถูกตอง
สมบูรณของ
โปรแกรม
(ขอละ 4 คะแนน)
วิธีการ
ที่นํามาใช
ในการแกปญหา
(ขอละ 4 คะแนน)
เลข
ที ่
ชื่อ-สกุล
ของผูรับการประเมิน ขอ
ที่ 1
ขอที่
2
ขอที่
3
ขอที่
4
ขอที่
1
ขอที่
2
ขอที่
3
ขอที่
4
ขอที่
1
ขอที่
2
ขอที่
3
ขอที่
4 คะแน
นรวม
(48
คะแน
น)
ผลกา
รประ
เมิน(
ผ/มผ
)
ลงชื่อ ............................................. ผูประเมิน
(นายไชยรัตน เอี่ยมแบน)
.........../........................./...............
- 44 -
บรรณานุกรม
กิตติ ตรีคุณประภา และคณะ. (2553). C++ E-Learning. อินเทอรเน็ตนารู. [Online]. Available :
http://ba.hcu.ac.th/Elearning/index.htm
ขวัญจิตร สุวรรณวงศ. (2553). สาระคอมพิวเตอร. โรงเรียนลําปางกัลยาณี. การเขียนโปรแกรม
ภาษาซ ีTorbo++. อินเทอรเน็ตนารู. [Online]. Available : http://www.lks.ac.th/
kuanjit/menu_C.htm
ธีรวัฒน ประกอบผล. รศ. (2550). การเขียนโปรแกรมบนระบบปฏิบัติการเท็กซโหมด (ภาษาซ)ี.
กรุงเทพมหานคร : ซัคเซส มีเดีย.
ประภาพร ชางไม. (2551). คูมือการเขียนโปรแกรมภาษาซี ฉบับผูเริ่มตน. โอดีซี อินไฟ
ดิสตริพิวเตอร เซ็นเตอร จํากัด. กรุงเทพมหานคร.
มาโนชญ แสงศิร.ิ (2553). สถาบันสงเสริมการสอนคณิตศาสตรและเทคโนโลยี (สสวท.). โครงการ
ครูที่มีความสามารถพิเศษทางดานวิทยาศาสตร คณิตศาสตรและเทคโนโลยี (สควค.).
เครื่องหมายและการดําเนินการในภาษาซ.ี อินเทอรเน็ตนารู. [Online]. Available :
http://www.sangsiri.net/wbi/40208/knows/know9.pdf
หาญ เพ็ญแสง. (2541). การเขียนโปรแกรมคอมพิวเตอร 1. กรุงเทพมหานคร : สํานักพิมพเอมพันธ.
โอภาส เอี่ยมสิริวงศ. (2552). การเขียนโปรแกรมดวยภาษาซี (Programming with C).
กรุงเทพมหานคร : ซีเอ็ด.
Bjarne Stroustrup.(2000). The C++ Programming Language: Special Edition. Addison-
Wesley Professional : 3 edition.
Dennis M. Ritchie. (1988). C Programming Language. Prentice Hall : 2 edition.
K. N. King. (2008). C Programming : A Modern Approach, 2nd Edition. W. W. Norton &
Company : 2 edition.
Mark Lee. (2009). C++ Programming for the Absolute Beginner. Course Technology
PTR : 2 edition.
Michael Vine. (2007). C Programming for the Absolute Beginner. Course Technology
PTR : 2 edition.
Stephen Prata. (2004). C++ Primer Plus . Sams : 5 edition.
- 48 -
http://www.strisuksa.ac.th/chairat