2. คำสั่ง while
คำสั่ง 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 |
เรียกใช้งานไลบรารี 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)
———————————————————————————————————————————
|