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 โปรแกรม

จัดทำโดย นางสาวทิพย์สุคนธ์ พันธ์กิ่ง กลุ่มสาระการเรียนรู้วิทยาศาสตร์และเทคโนโลยี 

โรงเรียนบุญวัฒนา สำนักงานเขตพื้นที่การศึกษามัธยมศึกษานครราชสีมา