คำสั่ง for | คำสั่ง while | คำสั่ง do-while

———————————————————————————————————————————

สื่อวีดิทัศน์การสอน เรื่อง :: คำสั่งในการวนรอบ while ::



———————————————————————————————————————————

2. คำสั่ง while 1
         
คำสั่ง while เป็นคำสั่งที่ใช้ควบคุมการวนรอบของโปรแกรม โดยจะมีเงื่อนไข(Condition) เป็นตัวตรวจสอบว่าหากเงื่อนไขที่กำหนดไว้เป็นจริงก็จะทำงานตามคำสั่ง หรือชุดคำสั่งที่กำหนดไว้แล้วก็จะวนไปตรวจสอบเงื่อนไขที่กำหนดไว้อีกครั้ง หากเงื่อนไขยังคงเป็นจริงก็จะทำงานในรอบต่อไปอีก หากเป็นเท็จก็จะออกจากการวนรอบของ while เพื่อทำงานยังคำสั่งต่อไป ดังภาพที่ 2

         รูปแบบการทำงาน


ภาพที่ 2 ผังงาน Flowchart รูปแบบการทำงานของคำสั่ง while

         รูปแบบคำสั่ง

while (Condition)
         Statement;

                  หรือหากต้องการให้การวนรอบแต่ละครั้งสามารถทำงานได้หลายชุดคำสั่ง ก็จะนำเอา
          เครื่องหมาย { } มาเขียนไว้เพื่อเป็นการกำหนดขอบเขตของการทำงานทั้งหมด

while (Condition)
{
     Statement1;
     Statement2;
     Statement3;
     StatementN;
}

        อธิบาย

while
คือ คำสั่งที่ใช้ในภาษาซี เป็นคำสั่งสงวน
Condition
คือ เงื่อนไขที่ต้องให้มีการตรวจสอบก่อนการทำงานในการวนรอบของ while
Statement
คือ คำสั่ง หรือชุดคำสั่งที่ใช้ทำงานในแต่ละรอบ

        ตัวอย่างโปรแกรม
                คุณครูต้องการให้นักเรียนแสดงผลเฉพาะตัวเลขคี่ที่อยู่ระหว่าง 1 ถึง 20 บนจอภาพ จึงให้นักเรียน
        เขียนโปรแกรมเพื่อแสดงผลข้อมูล  ดังนี้
                “ให้นักเรียนเขียนโปรแกรมโดยแสดงเลขคี่ทุกจำนวนที่อยู่ระหว่าง 1 ถึง 20 ออกมาบนจอภาพ
        โปรแกรมนี้จะแสดงให้เห็นถึงการตรวจสอบเงื่อนไขการวนรอบการทำงานของคำสั่ง while”


        วิเคราะห์ปัญหา (Analysis)
                สิ่งที่โจทย์กำหนด :: กำหนดตัวแปร a=1 โดยใช้ Format Code ชนิด Integer กำหนด
        การวนรอบด้วยคำสั่ง while  โดยมีเงื่อนไขว่า ตัวแปร a น้อยกว่า หรือเท่ากับ 20 และกำหนดค่าใหม่
        ให้ตัวแปร a โดยที่บวกค่าเพิ่มขึ้นอีก 2        
                สิ่งที่โจทย์ต้องการ :: แสดงตัวเลขคี่ที่อยู่ระหว่าง 1 ถึง 20 บนจอภาพ

        การแก้ปัญหา (Problem Solving) ตามแนวทางการคิดเชิงคำนวณ โดยการคิดแบบ "ขั้นตอนวิธี" (Algorithm) ดังนี้

Pseudo Code
Flowchart
Algorithm while
  1. Start
  2. int a=1
  3. while (a <=20)
    3.1
Print a
    3.2 a+=2  
  4. End

       เขียนโปรแกรม (Coding)  
               
บรรทัดที่
โปรแกรม
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
int a;
int main( )
{
     a = 1;
     while (a <=20)
     {
          printf("%d ",a);
          a+=2;
     }
}

       ผลลัพธ์บนจอภาพ
              เมื่อสั่งให้โปรแกรมทำงานจะเห็นได้ว่าโปรแกรมจะแสดงเฉพาะตัวเลขคี่ที่อยู่ระหว่าง 1 ถึง 20
       ออกมาให้เห็นดังตัวอย่าง

1 3 5 7 9 11 13 15 17 19

       อธิบายโปรแกรม

บรรทัดที่ 1
เรียกใช้งานไลบรารี stdio.h
บรรทัดที่ 2
กำหนดตัวแปร a ให้เป็นแบบ Integer
บรรทัดที่ 3
กำหนดคำสั่ง int main( ) เริ่มการทำงาน
บรรทัดที่ 4
ใช้เครื่องหมาย { เพื่อบอกจุดเริ่มต้นของคำสั่ง int main( )
บรรทัดที่ 5
กำหนดค่าตัวแปร a เท่ากับ 1
บรรทัดที่ 6
กำหนดการวนรอบด้วยคำสั่ง while โดยมีเงื่อนไขว่าตัวแปร a
น้อยกว่า หรือเท่ากับ 20
บรรทัดที่ 7
เริ่มต้นการวนรอบของ while ด้วยเครื่องหมาย {
บรรทัดที่ 8
แสดงค่าของตัวแปร a บนจอภาพ
บรรทัดที่ 9
กำหนดค่าใหม่ให้ตัวแปร a โดยที่บวกค่าเพิ่มขึ้นอีก 2
บรรทัดที่ 10
สิ้นสุดการทำงานการวนรอบของ while
บรรทัดที่ 11
สิ้นสุดการทำงานของ int main( )

         การทดสอบการทำงานของโปรแกรมจากเว็บ https://repl.it/languages/c
                  คลิกเครื่องหมาย  เพื่อดูผลผลลัพธ์การทำงานของโปรแกรมด้านล่าง
        (ลิงค์สำรอง https://repl.it/repls/InsecureDependablePreprocessor)



———————————————————————————————————————————