Page 94 - การพัฒานาหนังสืออิเล็กทรอนิกส์เรื่องวิวัฒนาการภาษาของคอมพิวเตอร์
P. 94
หน่วยที�6 คําสั�งควบคุมแบบวนซํ�า 90 หน่วยที�6 คําสั�งควบคุมแบบวนซํ�า 91
......................................................................................................................................................... .........................................................................................................................................................
จากผังงาน เขียนโปรแกรมได้ดังนี้
2. คำาสั่ง do - while
บรรทัด รหัสต้นฉบับ (Source Code) อธิบายคําสั�ง -----------------------------------------------------------------
/* เป็นคําสั�งของตัวประมวลผลก่อนซี จะมีผลให้แฟ้ม stdio.h ซึ�งเป็นแฟ้มส่วน
/*1*/ #include <stdio.h> หัวที�ใช้เก็บรวบรวมคําสั�งเกี�ยวกับการรับและแสดงผลข้อมูล ถูกอ่านเข้ามาเพื�อ คำาสั่ง do - while เป็นคำาสั่งควบคุมแบบวนซ้ำารูปแบบหนึ่ง
ประมวลผลร่วมกับโปรแกรมนี� */
/* ประกาศ main เป็นฟังก์ชันหลัก ชนิดจํานวนเต็ม และเริ�มต้น block ของ
/*2*/ int main() { ฟังก์ชัน main (เริ�มต้นโปรแกรม) */
/* ประกาศตัวแปร i และ sum เป็นชนิดจํานวนเต็ม พร้อมกําหนดค่าเริ�มต้น แผนผังคำาสั่งควบคุมแบบวนซ้ำา - คำาสั่ง do - while
/*3*/ int i = 1 , sum = 0; ให้กับ i และ sum เป็น 1 และ 0 ตามลําดับ */
/* ตรวจสอบ ค่า i น้อยกว่าหรือเท่ากับ 10 จริงหรือไม่ ถ้าจริง ให้ทําเริ�มต้น
/*4*/ while (i <= 10) { block ของคําสั�ง while บรรทัดที� 5 ถ้าเท็จ สิ�นสุดการทําซํ�า ให้ไปทําคําสั�ง
บรรทัดที� 8 */
/* คําสั�งคํานวณสะสมค่า เหมือนกับคําสั�ง sum = sum + i; โดย
/*5*/ sum += i; ประมวลผล sum + i ก่อน แล้วนําผลลัพธ์ที�ได้ ไปเก็บไว้ใน sum */
/* เพิ�มค่าตัวนับ i ครั�งละ 1 (ความหมายเดียวกับคําสั�ง i = i + 1 หรือ i +=
/*6*/ i++;
1) */
/*7*/ } /* สิ�นสุด block ของคําสั�ง while แล้ววนไปทําคําสั�งบรรทัดที� 4 */
/* แสดงข้อความ "Sum 1 - 10 : %d" โดยแสดงค่า sum ใน %d
/*8*/ printf("Sum 1 - 10 : %d\n" ,sum); เสร็จแล้วก็ขึ�นบรรทัดใหม่ */
/*9*/ return 0; /* คืนค่า 0 ให้ฟังก์ชัน main โปรแกรมทํางานถูกต้องสมบูรณ์ */
/*10*/ } /* สิ�นสุด block ของฟังก์ชัน main (สิ�นสุดโปรแกรม) */
ผลการรันโปรแกรม
มีรูปแบบการใช้คำาสั่ง ดังนี้
รูปแบบคําสั�ง do - while
do do {
คําสั�งที�ต้องการทําซํ�า; คําสั�งที�ต้องการทําซํ�า 1;
while (เงื�อนไขการวนซํ�า); คําสั�งที�ต้องการทําซํ�า 2;
คําสั�งที�ต้องการทําซํ�า 3;
.
.
.
คําสั�งที�ต้องการทําซํ�า n;
} while (เงื�อนไขการวนซํ�า);