✦ while ✦
คำสั่ง while เป็นคำสั่งที่ใช้ควบคุมการวนรอบของโปรแกรม โดยจะมีเงื่อนไข(Condition) เป็นตัวตรวจสอบว่าหากเงื่อนไขที่กำหนดไว้เป็นจริงก็จะทำงานตามคำสั่ง หรือชุดคำสั่งที่กำหนดไว้แล้วก็จะวนไปตรวจสอบเงื่อนไขที่กำหนดไว้อีกครั้ง หากเงื่อนไขเป็นจริงก็จะทำงานในรอบต่อไปอีก หากเป็นเท็จก็จะออกจากการวนรอบของ while เพื่อทำงานคำสั่งต่อไป
ลูปที่ง่ายและพื้นฐานที่สุดในภาษา C++ นั้นคือ while loop เราใช้คำสั่งลูปสำหรับวนซ้ำให้โปรแกรมสามารถทำงานเดิมซ้ำ ๆ ได้ ซึ่งมีรูปแบบการใช้งาน คือ
คำสั่ง while loop ใช้เพื่อทำสั่งโค้ดของโปรแกรมในขณะที่ Expression เป็นจริง true และมันจะสิ้นสุดการทำงานเมื่อ Expression เป็นเท็จ false และออกจาก while loop และทำคำสั่งอื่นต่อไป
// ตัวอย่างที่ 1 โปรแกรม while นับจาก 1 ถึง 10 เพิ่มขึ้นทีละ 1
#include <iostream>
using namespace std;
int main()
{
int n = 1;
while (n <= 10)
{
cout << n << ",";
n++;
}
cout << " end loop";
return 0;
}
// ตัวอย่างที่ 2 โปรแกรม while นับจาก 5 ถึง 50 เพิ่มขึ้นทีละ 10
#include <iostream>
using namespace std;
int main()
{
int n = 5;
while (n <= 50)
{
cout << n << endl;
n+=10;
}
cout << "end loop";
return 0;
}
ในตัวอย่าง โปรแกรมจะนับจาก 1 ถึง 10 เราได้ประกาศตัวแปร n และกำหนดค่าให้เป็น 1 ก่อนที่มันจะเข้าไปในทำงานใน while loop และคำสั่ง while loop จะทำการตรวจสอบ Expression และเข้าสู่ถ้าเงื่อนไขยังคงเป็นจริง และแสดงค่า n ออกทางจอภาพและเพิ่มค่า n ขึ้น 1 จนกว่า n จะเพิ่มไปถึง 10 ซึ่งจะทำให้ Expression เป็นเท็จ และโปรแกรมจะออกจาก loop และทำสั่งอื่นต่อไป
และนี่เป็นผลลัพธ์เมื่อรันโปรแกรม
1,2,3,4,5,6,7,8,9,10, end loop
ผลลัพธ์เมื่อรันโปรแกรม
5
15
25
35
45
end loop
// ตัวอย่างที่ 3 โปรแกรม while จาก 60 ถึง 10 ลดลงทีละ 10
#include <iostream>
using namespace std;
int main()
{
int n = 60;
while (n >= 10)
{
cout << n << " ";
n-=10;
}
cout << " end loop";
return 0;
}
ผลลัพธ์เมื่อรันโปรแกรม
60 50 40 30 20 10 end loop
// ตัวอย่างที่ 4 โปรแกรม while นับจาก 50 ถึง 0 ลดลงทีละ 2
#include <iostream>
using namespace std;
int main()
{
int n = 50;
while (n >= 0)
{
cout << n << " ";
n-=2;
}
cout << "end loop";
return 0;
}
ผลลัพธ์เมื่อรันโปรแกรม
50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 0 end loop
// ตัวอย่างที่ 5 โปรแกรม while แสดงข้อความ 5 บรรทัด
#include <iostream>
using namespace std;
int main()
{
int n = 1;
while(n <= 5){
cout << n << "-น่ารักนะเรา " << endl;
n++;
}
ผลลัพธ์เมื่อรันโปรแกรม
1-น่ารักนะเรา
2-น่ารักนะเรา
3-น่ารักนะเรา
4-น่ารักนะเรา
5-น่ารักนะเรา
// ตัวอย่างที่ 6 โปรแกรม while รับค่าตัวเลขทางแป้นพิมพ์ 5 ค่า และแสดงผลรวมทั้งหมด
#include <iostream>
using namespace std;
int main()
{
int i = 1, no = 1, sum = 0;
while(i <= 5){
cout << "รอบที่ " << i << ": ";
cin >> no;
sum += no;
i++;
}
cout << "ผลรวม = "<< sum << endl;
ผลลัพธ์เมื่อรันโปรแกรม
รอบที่ 1: 10
รอบที่ 2: 20
รอบที่ 3: 30
รอบที่ 4: 40
รอบที่ 5: 50
ผลรวม = 150
// ตัวอย่างที่ 7 โปรแกรม while รับค่าจำนวนนักเรียน เพื่อกรอกความสูง และหาค่าผลรวม ค่าเฉลี่ยความสูง
#include <iostream>
using namespace std;
int main()
{
int stu = 1, h = 1,no = 1, sum = 0;
cout << "จำนวนนักเรียน ";
cin >> stu;
while(no <= stu){
cout << "ส่วนสูงคนที่ " << no << ": ";
cin >> h;
sum += h;
no++;
}
cout << "ผลรวม = " << sum << endl;
cout << "ค่าเฉลี่ย = " << sum/stu << endl;
}
ผลลัพธ์เมื่อรันโปรแกรม
จำนวนนักเรียน: 5
ส่วนสูงคนที่ 1: 150
ส่วนสูงคนที่ 2: 165
ส่วนสูงคนที่ 3: 155
ส่วนสูงคนที่ 4: 180
ส่วนสูงคนที่ 5: 160
ผลรวม = 810
ค่าเฉลี่ย = 162
ให้นักเรียนเขียนโปรแกรมด้วยคำสั่ง while
รับค่า GPA ของเพื่อนแต่ละคน จากนั้นหาค่าเฉลี่ย และแสดงผล
ตั้งชื่อตัวแปร เพื่อเก็บค่าต่าง ๆ ตัวอย่างการประกาศตัวแปร
float gpa = 0.0;
float avg = 0.0;
int n = 1, student = 1;
นักเรียนจับกลุ่ม 2-4 คน
เพื่อเขียนโปรแกรมให้ได้ผลลัพธ์ดังตัวอย่าง
จากนั้นสอบเขียนโปรแกรมกับครูทีละกลุ่ม ทุกคนในกลุ่มต้องสามารถเขียนโปรแกรมได้ทุกคน
โดยแบ่งงานว่าส่วนใดใครจะเป็นผู้รับผิดชอบในการเขียน
ตัวอย่างการ Run โปรแกรม
จัดทำโดย นางสาวทิพย์สุคนธ์ พันธ์กิ่ง กลุ่มสาระการเรียนรู้วิทยาศาสตร์และเทคโนโลยี
โรงเรียนบุญวัฒนา สำนักงานเขตพื้นที่การศึกษามัธยมศึกษานครราชสีมา