slide5 การใช้คำสั่ง do...while

Download Report

Transcript slide5 การใช้คำสั่ง do...while

โครงสร ้างควบคุม
• 1. โครงสร ้างควบคุมแบบวนทางเลือก
1.1
คาสงั่ if
2.1
คาสงั่ while
• 2. โครงสร ้างควบคุมแบบวนซา้
2.2 คาสงั่ do… while
2.3 คาสงั่ for
http://itd.htc.ac.th/st_it50/it5016/nidz/Web_C/unit7.html
โครงสร ้างควบคุมแบบวนซา้
่
คาสังวนลู
ป
ความหมายของลู ป(loop)
่ มี
้ ความหมายว่า การวนซา้
ลู ป(loop)ในทีนี
่
้
ซึงการวนซ
าในทาง
่
ภาษาคอมพิวเตอร ์ คือ การทาคาสังหรื
อชุดคาสัง่
้ ากั
้ นหลายๆครง้ั
นันซ
• Pre-test Loop
การกระทา
การกาหนดค่า
1
้ั
จานวนครงในการตรวจสอบ
n+1
้ั
จานวนครงในการท
าคาสัง่
n
้ั
จานวนครงในการปร
ับปรุง
n
้ั น้
่ อยทีสุ
่ ดในการวน
จานวนครงที
0
• Post-Test loop
การกระทา
การกาหนดค่า
1
้ั
จานวนครงในการตรวจสอบ
n
้ั
จานวนครงในการท
าคาสัง่
n
้ั
จานวนครงในการปร
ับปรุง
n
้ั น้
่ อยทีสุ
่ ดในการวน
จานวนครงที
1
• n คือ จานวนของการวนซา้
•
คาสัง่ while
คาสัง่ while จะใช้เงื่อนไขเป็ นต ัวควบคุม
้
ลู ป ลู ป while นี จะเป็
นลู ปแบบ pre-test
่
่
loop ซึงจะท
าการตรวจสอบเงื่อนไขก่อนทีจะ
่
ไปทาคาสังในลู
ป
ผังการ
่ องต้
้
ทางานและชุดคาสังเบื
นของ while
int main()
{
int a;
a = 1;
while(a<=10)
{
printf(“ a= %d \n”,a);
a = a+1;
}
printf(“End of job”);
}
scanf(“%d”,&a);
scanf(“%d”,&b);
while (a>b)
{
b=b+1;
a=a-1;
printf(“a= %d”,a);
printf(“b= %d”,b);
}
printf(“End of job”);
int count = 1,sum=0;
float average;
while(count<=5)
{
scanf (“%d”,&data);
sum = sum+data;
count = count+1;
}
average=sum/5;
printf(“%.2f”,average);
จากผังงาน ให ้แก ้ไข
และเขียนโปรแกรม
เพิม
่ เติม โดยให ้
แสดงผลว่ามีเลขคีแ
่ ละ
เลขคูอ
่ ย่างละกีจ
่ านวน
even, odd
สรุป
คาสงั่ while ต ้องมีอย่างน ้อย 3
1 สว่ นกาหนดค่า
2 สว่ นเงือ
่ นไข
3. สว่ นปรับเปลีย
่ นค่า
แบบฝึ กหัด
• 1. จงเขียนผังงานและโปรแกรม รับค่า
จานวนเต็ม 1 จานวน แล ้วแสดงผลเป็ น
สูตรคูณ
(โดย
ใช ้ pre-test loop
) าง
ต ัวอย่
Enter number : 5
5*1=5
5 * 2 = 10
5 * 3 = 15
:
:
5*12 = 60
End of job…. Thanks.
แบบฝึ กหัด
• 2. จากข ้อ 1 กาหนดให้ร ับเฉพาะค่า 2-12
้ (ถ ้าไม่ใช ้ 2-12 ต ้องรับเลขใหม่
เท่านัน
ต ัวอย่าง
Enter number : 15
Enter number : 5
5*1=5
5 * 2 = 10
5 * 3 = 15
:
:
5*12 = 60
End of job…. thanks.
แบบฝึ กหัด
• 3. จงเขียนผังงานและโปรแกรมแสดงการหา
ผลบวกของเลข 1 ถึง 100 ออกมาบนจอภาพ
ี ส
• 4. จงเขียนโปรแกรมเปลีย
่ นค่าองศาเซลเซย
ให ้เป็ นองศาฟาเรนไฮท์ จาก 0 ถึง 20 องศา
ี สขึน
โดยให ้เพิม
่ ค่าองศาเซลเซย
้ ครัง้ ละ 1 ให ้
ี สและองศาพาเรน
แสดงเป็ นค่าองศาเซลเซย
ไฮท์ ทุกครัง้ ดังนี้
Celsius Fahrenheit
0
32.00
1
33.00
2
35.00
คาสัง่ do…while
่ ปแบบนี จะมี
้
• เป็ นลู ปแบบ Post-Test Loop ซึงลู
่ อนทีจะไปท
่
คาสังก่
าการตรวจสอบตัวควบคุม
ลู ป
แบบฝึ กหัด
• 1. จงเขียนผังงานและโปรแกรม รับค่า
จานวนเต็ม 1 จานวน แล ้วแสดงผลเป็ น
สูตรคูณ
(โดย
ใช ้ post-test loop )
ต ัวอย่าง
Enter number : 5
5*1=5
5 * 2 = 10
5 * 3 = 15
:
:
5*12 = 60
End of job…. Thanks.
แบบฝึ กหัด
• 2. จากข ้อ 1 กาหนดให้ร ับเฉพาะค่า 2-12
้ (ถ ้าไม่ใช ้ 2-12 ต ้องรับเลขใหม่
เท่านัน
ต ัวอย่าง
Enter number : 15
Enter number : 5
5*1=5
5 * 2 = 10
5 * 3 = 15
:
:
5*12 = 60
End of job…. Thanks.
แบบฝึ กหัด
• 3. จากข ้อ 1 กาหนดให ้รับค่าเฉพาะเลข 2-12
เท่านัน
้ (ถ ้าไม่ใช ้ 2-12 ต ้องรับเลขใหม่ และ
่ ร ับค่า ศูนย ์
โปรแกรมจะจบการทางานเมือ
ต ัวอย่าง
Enter number : 15
Enter number : 5
พิมพ์สต
ู รคูณของ 5
Enter number : 10
พิมพ์สต
ู รคูณของ 10
Enter number : 0
End of job…. thanks.