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

ํ�
                                                                 ํ
                                                            �
 �
                                              หน่วยที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 (สิ�นสุดโปรแกรม) */
 ั
   95   96   97   98   99   100   101   102   103   104   105