3. คำสั่ง do-while
คำสั่ง do-while นั้นมีการทำงานคล้ายกับคำสั่ง while ซึ่งจะมีการตรวจสอบเงื่อนไขการทำงาน
หากเป็นจริงก็จะทำงานตามคำสั่ง หรือชุดคำสั่งที่ได้กำหนดไว้ แต่คำสั่ง do-while นั้นจะทำงานก่อน 1 รอบ แล้วจึงมีการตรวจสอบเงื่อนไข หากเป็นจริงก็จะทำงานต่อในรอบต่อไป หากเป็นเท็จก็จะออกจากการทำงานในรอบการทำงานนั้น แต่อย่างไรก็เกิดการทำงานแล้ว 1 รอบ ดังภาพที่ 3
รูปแบบการทำงาน
ภาพที่ 3 ผังงาน Flowchart รูปแบบการทำงานของคำสั่ง do-while
รูปแบบคำสั่ง
do
statement;
while (condition); |
หรือหากต้องการให้แต่ละการวนรอบนั้น ทำงานมากกว่าหนึ่งคำสั่งก็สามารถทำได้ โดยการใช้เครื่องหมาย { } รอบชุดคำสั่ง (statement) ที่ต้องการดังรูปแบบนี้
do
{
statement1;
statement2;
statement3;
statementN;
}
while (condition); |
อธิบาย
do |
คือ เริ่มต้นคำสั่ง do-while ซึ่งจะตามด้วย 1 ชุดคำสั่งที่ต้องการทำงาน แต่หากต้องการให้ทำงานมากกว่า 1 ชุดคำสั่งจะต้องใช้เครื่องหมาย { } เข้ามาช่วย |
while |
คือ คำสั่งที่จะต้องเขียนไว้ แล้วจะต้องตามด้วยเงื่อนไขที่ต้องการตรวจสอบ |
condition |
คือ เงื่อนไขที่ต้องการตรวจสอบ |
ตัวอย่างโปรแกรม
คุณครูต้องการให้นักเรียนแสดงค่าตัวเลขที่น้อยกว่าหรือเท่ากับ 10 แต่ถ้าตัวเลขมากกว่า 10
ให้แสดงข้อความ End program บนจอภาพ จึงให้นักเรียนเขียนโปรแกรมเพื่อแสดงผลข้อมูล ดังนี้
“ให้นักเรียนเขียนโปรแกรมโดยใช้คำสั่ง do-while เริ่มการวนรอบด้วยคำสั่ง do แสดงค่าของ
ตัวแปร a ชนิด Integer แล้วขึ้นบรรทัดใหม่ และหลังจากคำสั่ง while คือ a จะต้องน้อยกว่าหรือ
เท่ากับ 10
ถ้าผลลัพธ์ออกมาเป็นจริงก็จะกลับไปทำงานตามที่คำสั่ง do กำหนดไว้ แต่หากเป็นเท็จก็
จะออกจากการทำงานวนรอบนี้ และจะแสดงข้อความ End program บนจอภาพ”
วิเคราะห์ปัญหา (Analysis)
สิ่งที่โจทย์กำหนด :: กำหนดตัวแปร a=1 โดยใช้ Format Code ชนิด Integer กำหนดค่า
ตัวแปร a เท่ากับ 11 เมื่อเริ่มการวนรอบด้วยคำสั่ง do และกำหนดเงื่อนไขหลังคำสั่ง while คือ a
จะต้องน้อยกว่าหรือเท่ากับ 10 ถ้าผลลัพธ์ออกมาเป็นจริงก็จะกลับไปทำงานตามที่คำสั่ง do กำหนด
ไว้ แต่หากเป็นเท็จก็จะออกจากการทำงานวนรอบนี้
ไปทำงานยังคำสั่งต่อไปของโปรแกรม
สิ่งที่โจทย์ต้องการ :: แสดงค่าของตัวแปร a และแสดงข้อความ End program บนจอภาพ
การแก้ปัญหา (Problem Solving) ตามแนวทางการคิดเชิงคำนวณ โดยการคิดแบบ "ขั้นตอนวิธี" (Algorithm) ดังนี้
Pseudo Code |
Flowchart |
Algorithm do-while
1. Start
2. int a=1
3. do
3.1 Print a
3.2 a=11;
4. while (a<=10)
4.1. Print End program
5. End
|
|
เขียนโปรแกรม (Coding)
บรรทัดที่ |
โปรแกรม |
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#include <stdio.h>
int a;
int main( )
{
a=1;
do
{
printf("%d \n",a);
a=11;
}
while (a<=10);
printf("End program");
} |
อธิบายโปรแกรม
บรรทัดที่ 1 |
เรียกใช้งานไลบรารี stdio.h |
บรรทัดที่ 2 |
กำหนดตัวแปร a ให้เป็นแบบ Integer |
บรรทัดที่ 3 |
กำหนดคำสั่ง int main( ) เริ่มการทำงาน |
บรรทัดที่ 4 |
ใช้เครื่องหมาย { เพื่อบอกจุดเริ่มต้นของคำสั่ง int main( ) |
บรรทัดที่ 5 |
กำหนดค่าตัวแปร a เท่ากับ 1 |
บรรทัดที่ 6 |
เริ่มการวนรอบด้วยคำสั่ง do |
บรรทัดที่ 7 |
เริ่มการทำงานตามคำสั่ง do ด้วยเครื่องหมาย { ในรอบแรก |
บรรทัดที่ 8 |
แสดงค่าของตัวแปร a แล้วขึ้นบรรทัดใหม่ |
บรรทัดที่ 9 |
กำหนดค่าตัวแปร a เท่ากับ 11 |
บรรทัดที่ 10 |
สิ้นสุดการทำงานการวนรอบของคำสั่ง do |
บรรทัดที่ 11 |
กำหนดเงื่อนไขหลังคำสั่ง while คือ a จะต้องน้อยกว่าหรือเท่ากับ
10 ถ้าผลลัพธ์ออกมาเป็นจริงก็จะกลับไปทำงานตามที่คำสั่ง do กำหนดไว้ แต่หากเป็นเท็จก็จะออกจากการทำงานวนรอบนี้
ไปทำงานยังคำสั่งต่อไปของโปรแกรม |
บรรทัดที่ 12 |
แสดงข้อความ End program บนจอภาพ |
บรรทัดที่ 13 |
สิ้นสุดการทำงานของ int main( ) ด้วยเครื่องหมาย } |
ผลลัพธ์บนจอภาพ
โปรแกรมจะแสดงค่าของตัวแปร a และแสดงข้อความ End program บนจอภาพ
|