Page 96 - การพัฒนาการหนังสืออิเล็กทรอนิกส์ภาษาของคอมพิวเตอร์
P. 96

หน่วยที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 (เงื�อนไขการวนซํ�า);
   91   92   93   94   95   96   97   98   99   100   101