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

ํ�
                                                                                                                                                                                        ํ
                                                                                                                                                                                   �
                                                                                         ํ�
                                                             หน่วยที6 คาสั�งควบคุมแบบวนซา                   94                                                                      หน่วยที6 คาสั�งควบคุมแบบวนซา                   95
                                                                 ํ
                                                            �
        .........................................................................................................................................................  .........................................................................................................................................................
        ตัวอย่างที่ 4 จงเขียนโปรแกรมแสดงเฉพาะเลขคู่ จาก 1 ถึง 20 ทางจอภาพ ( ex6-                                               ผลการรันโปรแกรม


        07.c )

        จากโจทย์ เขียนผังงาน แสดงการแก้ปัญหา ได้ดังนี้







































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




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