ใบความรูที่  4 
                                เรื่อง  แนวคิดในการเขียนโปรแกรม 
       การเขียนโปรแกรมเพื่อแกป ญหาได ปญหาหนึ่ง  จนได ผลลัพธตามที่ต องการ  หากผูเ ขียนโปรแกรมมี 
แนวคิดในการเขียนโปรแกรมที่ดี และทําการเขียนโปรแกรมตามแนวคิดที่ไดวางไว 

ขั้นตอนการพัฒนาโปรแกรม 
        ในการพัฒนาโปรแกรมมีขั้นตอนหลัก  5 ขั้นตอน  ซึ่งไมวาจะทําการพัฒนาโปรแกรมครั้งใดจะตองปฏิบัติ 
ตามขั้นตอนเหลานี้

   โจทย : จงเขียนโปรแกรมรับคาเลขจํานวนเต็ม 2 จํานวนและหาผลบวกของเลขทั้ง 2 จํานวนนั้น

1. วิเคราะหปญหา (Analysis) 
               
        ขั้นตอนนี้ถือวาเปนขั้นตอนที่สําคัญที่สุด  ผูเ ขียนโปรแกรมตองวิเคราะหปญหาใหออกวาจะตองทําการ 
                                                                                  
เขียนโปรแกรมเพื่อแกปญหาอะไร  เพราะหากวิเคราะหหรือมองปญหาผิดแลว  จะทําใหเขียนโปรแกรมไดผลลัพธ 
                        
ออกมาผิดไปจากสิ่งที่ตองการดวย และวิเคราะหขอมูลที่จะนําเขามาใชในโปรแกรมมีอะไรบาง  จากโจทยขางตน 
สามารถแตกปญหาไดเปน 2 สวน คือ 
        -  ตองรับขอมูลเลขจํานวนเต็ม  2  ตัวเขามาในโปรแกรม 
           วิเคราะห  กําหนดให  X  เก็บเลขจํานวนเต็มที่ 1 
                          กําหนดให  y  เก็บเลขจํานวนเต็มที่ 2 
        -  เลขจํานวนเต็มที่ 1 + เลขจํานวนเต็มที่ 2  มีคาเทากับเทาไร 
           วิเคราะห  กําหนดให  sum  เก็บคาผลบวกของเลขจํานวนเต็มทั้ง 2 จํานวน  นั่นคือ  sum = x + y 

2. วางแผนและออกแบบ  (Planning & Design) 
         การวางแผน  คือ  การนําปญหาที่วิเคราะหไดจากขันตอนที่ 1 มาวางแผนอยางเปนขันตอนวาจะตองเขียน 
                                                        ้                             ้
โปรแกรมเพื่อแกปญหาอยางไร  การวางแผนอยางเปนขั้นตอนนี้ เรียกวา  อัลกอริทึม (Algorithm) ซึ่งอัลกอริทึม 
                 
แบงออกเปน 2 รูปแบบ คือ                                                            START 
          ซูโดโคด (Pseudo code) คือ การเขียนอัลกอริทึมโดย                          READ X 
                                                                                    READ Y 
ใชประโยคภาษาอังกฤษที่สื่อความหมายงาย ๆ สามารถอาน                                 COMPUTE SUM = X+Y 
แลวเขาใจไดโดยทันที  จากโจทยสามารถเขียนซูโดโคดไดดังนี้                         PRINT SUM 
                                                                                     STOP

จะเห็นวา  เมื่ออานซูโดโคดแลวสามารถเขาใจไดทันทีวาขั้นตอนการเขียนโปรแกรมเปนอยางไร 
         โฟลวชารต (Flowchart)  คือการเขียนอัลกอริทึมโดยใชสัญลักษณรูปภาพเปนตัวสื่อความหมายจาก 
โจทย สามารถเขียนโฟลวชารตไดดังนี้ 

                                       ­ ขั้นตอนการพัฒนาโปรแกรมภาษาซี ­ 
-12- 

                                                 START 


                                            INPUT  X,Y 


                                         SUM =  X + Y 


                                         PRINT SUM 


                                               STOP
3.  เขียนโปรแกรม (Coding) 
         เปนการนําอัลกอริทึมจากขั้นตอนที่ 2 มาเขียนโปรแกรมใหถูกตองตามหลักไวยากรณ (syntax)  ของ 
ภาษาซี  จากโจทยสามาเขียนโปรแกรมไดดังนี้ 
ตัวอยางแสดง  ซอรสโคด 
  1:  #inclue <stdio.h> 
  2:  int main() 
  3:  { 
  4:                 int x,y,sum; 
  5:                 printf(“Value of x is : “); 
  6:                 scanf(“%d”,&x); 
  7:                 printf(“Value of y is : “); 
  8:                 scanf(“%d”,&y); 
  9:                 sum= x+y; 
10:                  printf(“Sum of %d+%d is %d n”,x,y,sum); 
11:                  getch(); 
12:                  return 0; 
13:  } 
         หากนําโปรแกรม มาพิจารณา จะพบวาการเขียนโปรแกรมมีขั้นตอนเปนไปตามขั้นตอนของอัลกอริทึมที่ได 
วิเคราะหขึ้นทุกประการ 

                                    ­ ขั้นตอนการพัฒนาโปรแกรมภาษาซี ­ 
-13- 
 1:    #inclue <stdio.h> 
 2:    int main() 
 3:    { 
 4:                  int x,y,sum; 
 5:                  printf(“Value of x is : “); 
                                                                           INPUT X 
 6:                  scanf(“%d”,&x); 
 7:                  printf(“Value of y is : “); 
                                                                           INPUT Y 
 8:                  scanf(“%d”,&y); 
 9:                  sum= x+y;                                             SUM = X+Y 
10:                  printf(“Sum of %d+%d is %d n”,x,y,sum); 
                                                                           PRINT SUM
11:                  getch(); 
12:                  return 0; 
13:    } 

4.  ทดสอบโปรแกรม 
         เปนการนําผลลัพธจากขั้นตอนที่ 3 มาทําการรัน  จากนั้นทดสอบโดยปอนคา x และ y  เขาไปในโปรแกรม 
และตรวจสอบผลลัพธที่ไดวาถูกตองหรือไม  โดยทดสอบหลาย ๆ ครั้ง  หากผลลัพธที่ไดถกตองแสดงวาโปรแกรมที่ 
                                                                                   ู
เขียนขึนถูกตองแลว  แตหากผลลัพธถกบางผิดบางหรือผิดทุกครั้งแสดงวาโปรแกรมที่เขียนขึนผิดพลาด  ผุเขียน 
       ้                           ู                                                  ้
ตองกลับไปตรวจสอบโปรแกรม 
         จากโจทยสามารถทดสอบโปรแกรมไดดังนี้ 
ผลลัพธของโปรแกรม 
รันครั้งที่ 1 
Value of x is : 5 
Value of y is : 7 
Sum of 5 + 7 is 12 

รันครั้งที่ 2 
Value of x is : 50 
Value of y is : 30 
Sum of 50 + 30 is 80 



                                      ­ ขั้นตอนการพัฒนาโปรแกรมภาษาซี ­ 
-14- 


5.  จัดทําคูมือ (Documentation) 
         จุดประสงคที่สําคัญของการทําคูมือ  คือ  ชวยใหผูที่ศึกษาซอรสโคดของโปรแกรม (source code) ไดงาย 
ขึ้น  จะเปนประโยชนมากสําหรับการพัฒนาโปรแกรมในอนาคต  เพราะจะชวยใหศึก ษาซอรสโคดไดงายและ 
รวดเร็วขึ้น  การจัดทําคูมือไมมีกฎเกณฑระบุไวแนนอน  แตผูเขียนโปรแกรมควรจัดทําคูมือใหมีรายละเอียดมาก 
ที่สุด 
         จากโจทย สามารถจัดทําคูมือไดดังนี้ 
ชื่อโปรแกรม              หาคาผลบวกของเลขจํานวนเต็ม  2  จํานวน 
ตัวแปรที่ใช             x  เก็บคาจํานวนเต็มตัวที่ 1 
                         Y  เก็บคาจํานวนเต็มตัวที่ 2 
                         Sum  เก็ บค าผลบวกของตั วเลขจํานวนเต็มทั้ง 2 
                         จํานวน 
ชนิดของขอมูล            x,y,sum  เปนขอมูลชนิดเลขจํานวนเต็ม (integer) 
วิธีการแกปญหา  ใชสมการ  sum = x + y




                                       ­ ขั้นตอนการพัฒนาโปรแกรมภาษาซี ­ 

แนวคิดในการเขียนโปรแกรม

  • 1.
    ใบความรูที่  4  เรื่อง  แนวคิดในการเขียนโปรแกรม  การเขียนโปรแกรมเพื่อแกป ญหาได ปญหาหนึ่ง  จนได ผลลัพธตามที่ต องการ  หากผูเ ขียนโปรแกรมมี  แนวคิดในการเขียนโปรแกรมที่ดี และทําการเขียนโปรแกรมตามแนวคิดที่ไดวางไว  ขั้นตอนการพัฒนาโปรแกรม  ในการพัฒนาโปรแกรมมีขั้นตอนหลัก  5 ขั้นตอน  ซึ่งไมวาจะทําการพัฒนาโปรแกรมครั้งใดจะตองปฏิบัติ  ตามขั้นตอนเหลานี้ โจทย : จงเขียนโปรแกรมรับคาเลขจํานวนเต็ม 2 จํานวนและหาผลบวกของเลขทั้ง 2 จํานวนนั้น 1. วิเคราะหปญหา (Analysis)   ขั้นตอนนี้ถือวาเปนขั้นตอนที่สําคัญที่สุด  ผูเ ขียนโปรแกรมตองวิเคราะหปญหาใหออกวาจะตองทําการ   เขียนโปรแกรมเพื่อแกปญหาอะไร  เพราะหากวิเคราะหหรือมองปญหาผิดแลว  จะทําใหเขียนโปรแกรมไดผลลัพธ   ออกมาผิดไปจากสิ่งที่ตองการดวย และวิเคราะหขอมูลที่จะนําเขามาใชในโปรแกรมมีอะไรบาง  จากโจทยขางตน  สามารถแตกปญหาไดเปน 2 สวน คือ  -  ตองรับขอมูลเลขจํานวนเต็ม  2  ตัวเขามาในโปรแกรม  วิเคราะห  กําหนดให  X  เก็บเลขจํานวนเต็มที่ 1  กําหนดให  y  เก็บเลขจํานวนเต็มที่ 2  -  เลขจํานวนเต็มที่ 1 + เลขจํานวนเต็มที่ 2  มีคาเทากับเทาไร  วิเคราะห  กําหนดให  sum  เก็บคาผลบวกของเลขจํานวนเต็มทั้ง 2 จํานวน  นั่นคือ  sum = x + y  2. วางแผนและออกแบบ  (Planning & Design)  การวางแผน  คือ  การนําปญหาที่วิเคราะหไดจากขันตอนที่ 1 มาวางแผนอยางเปนขันตอนวาจะตองเขียน  ้ ้ โปรแกรมเพื่อแกปญหาอยางไร  การวางแผนอยางเปนขั้นตอนนี้ เรียกวา  อัลกอริทึม (Algorithm) ซึ่งอัลกอริทึม   แบงออกเปน 2 รูปแบบ คือ  START  ซูโดโคด (Pseudo code) คือ การเขียนอัลกอริทึมโดย  READ X  READ Y  ใชประโยคภาษาอังกฤษที่สื่อความหมายงาย ๆ สามารถอาน  COMPUTE SUM = X+Y  แลวเขาใจไดโดยทันที  จากโจทยสามารถเขียนซูโดโคดไดดังนี้  PRINT SUM  STOP จะเห็นวา  เมื่ออานซูโดโคดแลวสามารถเขาใจไดทันทีวาขั้นตอนการเขียนโปรแกรมเปนอยางไร  โฟลวชารต (Flowchart)  คือการเขียนอัลกอริทึมโดยใชสัญลักษณรูปภาพเปนตัวสื่อความหมายจาก  โจทย สามารถเขียนโฟลวชารตไดดังนี้  ­ ขั้นตอนการพัฒนาโปรแกรมภาษาซี ­ 
  • 2.
    -12-  START  INPUT  X,Y  SUM =  X + Y  PRINT SUM  STOP 3.  เขียนโปรแกรม (Coding)  เปนการนําอัลกอริทึมจากขั้นตอนที่ 2 มาเขียนโปรแกรมใหถูกตองตามหลักไวยากรณ (syntax)  ของ  ภาษาซี  จากโจทยสามาเขียนโปรแกรมไดดังนี้  ตัวอยางแสดง  ซอรสโคด  1:  #inclue <stdio.h>  2:  int main()  3:  {  4:  int x,y,sum;  5:  printf(“Value of x is : “);  6:  scanf(“%d”,&x);  7:  printf(“Value of y is : “);  8:  scanf(“%d”,&y);  9:  sum= x+y;  10:  printf(“Sum of %d+%d is %d n”,x,y,sum);  11:  getch();  12:  return 0;  13:  }  หากนําโปรแกรม มาพิจารณา จะพบวาการเขียนโปรแกรมมีขั้นตอนเปนไปตามขั้นตอนของอัลกอริทึมที่ได  วิเคราะหขึ้นทุกประการ  ­ ขั้นตอนการพัฒนาโปรแกรมภาษาซี ­ 
  • 3.
    -13-  1:  #inclue <stdio.h>  2:  int main()  3:  {  4:  int x,y,sum;  5:  printf(“Value of x is : “);  INPUT X  6:  scanf(“%d”,&x);  7:  printf(“Value of y is : “);  INPUT Y  8:  scanf(“%d”,&y);  9:  sum= x+y;  SUM = X+Y  10:  printf(“Sum of %d+%d is %d n”,x,y,sum);  PRINT SUM 11:  getch();  12:  return 0;  13:  }  4.  ทดสอบโปรแกรม  เปนการนําผลลัพธจากขั้นตอนที่ 3 มาทําการรัน  จากนั้นทดสอบโดยปอนคา x และ y  เขาไปในโปรแกรม  และตรวจสอบผลลัพธที่ไดวาถูกตองหรือไม  โดยทดสอบหลาย ๆ ครั้ง  หากผลลัพธที่ไดถกตองแสดงวาโปรแกรมที่  ู เขียนขึนถูกตองแลว  แตหากผลลัพธถกบางผิดบางหรือผิดทุกครั้งแสดงวาโปรแกรมที่เขียนขึนผิดพลาด  ผุเขียน  ้ ู ้ ตองกลับไปตรวจสอบโปรแกรม  จากโจทยสามารถทดสอบโปรแกรมไดดังนี้  ผลลัพธของโปรแกรม  รันครั้งที่ 1  Value of x is : 5  Value of y is : 7  Sum of 5 + 7 is 12  รันครั้งที่ 2  Value of x is : 50  Value of y is : 30  Sum of 50 + 30 is 80  ­ ขั้นตอนการพัฒนาโปรแกรมภาษาซี ­ 
  • 4.
    -14-  5.  จัดทําคูมือ (Documentation)  จุดประสงคที่สําคัญของการทําคูมือ  คือ  ชวยใหผูที่ศึกษาซอรสโคดของโปรแกรม (source code) ไดงาย  ขึ้น  จะเปนประโยชนมากสําหรับการพัฒนาโปรแกรมในอนาคต  เพราะจะชวยใหศึก ษาซอรสโคดไดงายและ  รวดเร็วขึ้น  การจัดทําคูมือไมมีกฎเกณฑระบุไวแนนอน  แตผูเขียนโปรแกรมควรจัดทําคูมือใหมีรายละเอียดมาก  ที่สุด  จากโจทย สามารถจัดทําคูมือไดดังนี้  ชื่อโปรแกรม  หาคาผลบวกของเลขจํานวนเต็ม  2  จํานวน  ตัวแปรที่ใช  x  เก็บคาจํานวนเต็มตัวที่ 1  Y  เก็บคาจํานวนเต็มตัวที่ 2  Sum  เก็ บค าผลบวกของตั วเลขจํานวนเต็มทั้ง 2  จํานวน  ชนิดของขอมูล  x,y,sum  เปนขอมูลชนิดเลขจํานวนเต็ม (integer)  วิธีการแกปญหา  ใชสมการ  sum = x + y ­ ขั้นตอนการพัฒนาโปรแกรมภาษาซี ­