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

หน่วยที�6 คําสั�งควบคุมแบบวนซํ�า               92                                                                      หน่วยที�6 คําสั�งควบคุมแบบวนซํ�า               93



        .......................................................................................................................................................  .........................................................................................................................................................


        อธิบาย                                                                                                                 จากผังงาน เขียนโปรแกรมได้ดังนี้

        เงื่อนไขการวนซ้ำา หมายถึง นิพจน์ที่สามารถประเมินค่าได้ เขียนอยู่ในเครื่องหมาย ()

        ให้ค่าเป็นจริงหรือเท็จ                                                                                                     บรรทัด          รหัสต้นฉบับ (Source Code)                            อธิบายคําสั�ง


          คำาสั่่ง do - while จะเริ่มต้นประมวลผลคำาสั่งที่ต้องการทำาซ้ำาก่อน แล้วจึง ตรวจ                                                                                          /* เป็นคําสั�งของตัวประมวลผลก่อนซี จะมีผลให้แฟ้ม stdio.h ซึ�งเป็นแฟ้มส่วน

        สอบ เงื่อนไขการวนซ้ำา ขณะที่เงื่อนไขการวนซ้ำามีค่าเป็นจริง จะวนกลับไปทำาคำาสั่งที่                                          /*1*/  #include <stdio.h>                      หัวที�ใช้เก็บรวบรวมคําสั�งเกี�ยวกับการรับและแสดงผลข้อมูล ถูกอ่านเข้ามาเพื�อ

        ต้องการทำาซ้ำาอีก จนกระทั่ง                                                                                                                                                ประมวลผลร่วมกับโปรแกรมนี� */


        การตรวจสอบค่า เงื่อนไขการวนซ้ำา มีค่าเป็นเท็จ ก็จะออกจากการวนซ้ำา (ออกจาก                                                   /*2*/  int main() {                            /* ประกาศ main เป็นฟังก์ชันหลัก ชนิดจํานวนเต็ม และเริ�มต้น block ของ
                                                                                                                                                                                   ฟังก์ชัน main (เริ�มต้นโปรแกรม) */
        คำาสั่ง do - while) และไปทำาคำาสั่งถัดไป                                                                                    /*3*/  int i = 10;                             /* ประกาศตัวแปร i เป็นชนิดจํานวนเต็ม พร้อมกําหนดค่าเริ�มต้นเป็น 10 */

          คำาสั่งที่ต้องการทำาซ้ำา ในคำาสั่ง do - while จะถูกทำาอย่างน้อย 1 รอบเสมอ แม้                                             /*4*/  do {                                    /* ขอบเขตให้เริ�มทํา คําสั�งที�ต้องการทําซํ�า (มีคําสั�งย่อยมากกว่า 1 คําสั�ง ต้องเขียน
                                                                                                                                                                                   คําสั�งภายใต้เครื�องหมาย { }) */
        เงื่อนไขการวนซ้ำาจะเป็นเท็จก็ตาม                                                                                            /*5*/  printf("%d\n" , i);                     /* แสดงข้อความ "%d" โดยแสดงค่า i ใน %d เสร็จแล้วขึ�นบรรทัดใหม่ */


          คำาสั่งภายใต้คำาสั่ง do - while อาจเป็นคำาสั่งง่าย ๆ หรือ คำาสั่งเชิงประกอบ                                               /*6*/  i--;                                    /* ลดค่าตัวนับ i ครั�งละ 1 (ความหมายเดียวกับคําสั�ง i = i - 1 หรือ i -=

        หากมีมากกว่า 1 คำาสั่ง ต้องเขียนคำาสั่งภายใต้เครื่องหมาย {}                                                                                                                1) */
                                                                                                                                                                                   /* ตรวจสอบว่า ค่า i มากกว่าหรือเท่ากับ 1 จริงหรือไม่ ถ้าจริง วนกลับไปทํา

                                                                                                                                    /*7*/  } while (i >= 1);                       คําสั�งบรรทัดที� 4 แล้วเริ�มทํา คําสั�งที�ต้องการทําซํ�าอีกครั�ง ถ้าเท็จ สิ�นสุดการวนซํ�า
        ตัวอย่างที่ 3 จงเขียนโปรแกรมแสดงตัวเลขจาด 10 ถึง 1 ทางจอภาพ ( ex6-06.c )                                                                                                   ด้วยคําสั�ง do - while และไปทําคําสั�งบรรทัดที� 8 */

        จากโจทย์ เขียนผังงาน แสดงการแก้ปัญหา ได้ดังนี้                                                                              /*8*/  return 0;                               /* คืนค่า 0 ให้ฟังก์ชัน main โปรแกรมทํางานถูกต้องสมบูรณ์ */

                                                                                                                                    /*9*/  }                                       /* สิ�นสุด block ของฟังก์ชัน main (สิ�นสุดโปรแกรม) */



                                                                                                                               ผลการรันโปรแกรม
   91   92   93   94   95   96   97   98   99   100   101