SlideShare a Scribd company logo
ใบความรู้ท่ ี 3
                              เรื่อง แนวคิดในการเขียนโปรแกรม
        การเขียนโปรแกรมเพื่อแก้ ปัญหาได้ ปัญหาหนึง จนได้ ผลลัพธ์ ตามที่ต้องการ หากผู้เขียนโปรแกรม
                                                 ่
มีแนวคิดในการเขียนโปรแกรมที่ดี และทาการเขียนโปรแกรมตามแนวคิดที่ได้ วางไว้

ขันตอนการพัฒนาโปรแกรม
  ้
       ในการพัฒนาโปรแกรมมีขนตอนหลัก 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) คือการเขียนอัลกอริ ทมโดยใช้ สญลักษณ์ รูปภาพเป็ นตัวสือความหมาย
                                                          ึ      ั                      ่
จากโจทย์ สามารถเขียนโฟลวชาร์ ตได้ ดงนี ้
                                       ั

                                                START


                                            INPUT X,Y


                                         SUM = X + Y


                                          PRINT SUM


                                               STOP


3. เขียนโปรแกรม (Coding)
        เป็ นการนาอัลกอริ ทมจากขันตอนที่ 2 มาเขียนโปรแกรมให้ ถกต้ องตามหลักไวยากรณ์ (syntax)
                            ึ     ้                           ู
ของภาษาซี จากโจทย์สามาเขียนโปรแกรมได้ ดงนี ้    ั
ตัวอย่างแสดง ซอร์ สโค้ ด
  1: #inclue <stdio.h>
  2: Void 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: }
หากนาโปรแกรม มาพิจารณา จะพบว่าการเขียนโปรแกรมมีขนตอนเป็ นไปตามขันตอนของ
                                                         ั้              ้
อัลกอริ ทมที่ได้ วิเคราะห์ขึ ้นทุกประการ
         ึ

 1:   #inclue <stdio.h>
 2:   Void 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:   }



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

More Related Content

PDF
แนวคิดในการเขียนโปรแกรม
PDF
หน่วยการเรียนรู้ที่ 3
PDF
3.8 การทำงานแบบลำดับ
PDF
2 การรับข้อมูลและการแสดงผลข้อมูล 8-10-2555
PDF
PDF
3.7 การเขียนผังงาน
แนวคิดในการเขียนโปรแกรม
หน่วยการเรียนรู้ที่ 3
3.8 การทำงานแบบลำดับ
2 การรับข้อมูลและการแสดงผลข้อมูล 8-10-2555
3.7 การเขียนผังงาน

What's hot (20)

PPT
04 conditional
PDF
59170259 ผลคุณี
PPT
Slide unit1 พื้นฐานภาษาซี
PDF
ความรู้พื้นฐานเกี่ยวกับภาษา PHP
PDF
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
PPT
PDF
ฟังก์ชั่น If ทางเลือกเดียว
PPT
การเขียนผังงาน (280653)
PDF
ฟังก์ชั่น Switch
PDF
chapter 3 คำสั่งควบคุม
PDF
โครงสร้างโปรแกรมภาษาซี
PDF
ฟังก์ชั่น If สองทางเลือก
PDF
ใบความรู้ ที่ 1 หลักการเขียนโปรแกรม
PPTX
การเขียนคำสั่งควบคุมแบบมีทางเลือก
DOC
การเขียนโปรแกรมภาษาซี
PDF
บทที่1 พื้นฐานโปรแกรมภาษาซี
PDF
lesson 4
04 conditional
59170259 ผลคุณี
Slide unit1 พื้นฐานภาษาซี
ความรู้พื้นฐานเกี่ยวกับภาษา PHP
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
ฟังก์ชั่น If ทางเลือกเดียว
การเขียนผังงาน (280653)
ฟังก์ชั่น Switch
chapter 3 คำสั่งควบคุม
โครงสร้างโปรแกรมภาษาซี
ฟังก์ชั่น If สองทางเลือก
ใบความรู้ ที่ 1 หลักการเขียนโปรแกรม
การเขียนคำสั่งควบคุมแบบมีทางเลือก
การเขียนโปรแกรมภาษาซี
บทที่1 พื้นฐานโปรแกรมภาษาซี
lesson 4
Ad

Similar to Learn 3 (20)

PDF
หลักการเขียนโปรแกรม
PDF
ม.3 รหัสจำลอง Pseudocode
PDF
Programming
 
PPT
ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์
PPT
ขั้นตอนการเขียนโปรแกรม
DOC
Basic
PPT
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
PDF
อัลกอริทึมและการวิเคราะห์ปัญหา
PPT
อัลกอริทึมและการวิเคราะห์ปัญหา
PPT
การพัฒนาโปรแกรม วิชญา
PPSX
บทที่1ProgramFlowchart สำหรับนักเรียนชั้นมัธยม
PDF
โจทย์ปัญหา Pbl 7.1เรื่อง การแสดงผลออกทางหน้าจอ
PPTX
03 โครงสร้างและผังงานโปรแกรม
DOC
โปรแกรม
PDF
Pbl2 docx
PDF
Pbl2 docx
PDF
Pbl2 นะแนนxปิ้น
PDF
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
PPT
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
หลักการเขียนโปรแกรม
ม.3 รหัสจำลอง Pseudocode
Programming
 
ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์
ขั้นตอนการเขียนโปรแกรม
Basic
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
อัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหา
การพัฒนาโปรแกรม วิชญา
บทที่1ProgramFlowchart สำหรับนักเรียนชั้นมัธยม
โจทย์ปัญหา Pbl 7.1เรื่อง การแสดงผลออกทางหน้าจอ
03 โครงสร้างและผังงานโปรแกรม
โปรแกรม
Pbl2 docx
Pbl2 docx
Pbl2 นะแนนxปิ้น
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
Ad

More from Sompon Ketsuwong (6)

Learn 3

  • 1. ใบความรู้ท่ ี 3 เรื่อง แนวคิดในการเขียนโปรแกรม การเขียนโปรแกรมเพื่อแก้ ปัญหาได้ ปัญหาหนึง จนได้ ผลลัพธ์ ตามที่ต้องการ หากผู้เขียนโปรแกรม ่ มีแนวคิดในการเขียนโปรแกรมที่ดี และทาการเขียนโปรแกรมตามแนวคิดที่ได้ วางไว้ ขันตอนการพัฒนาโปรแกรม ้ ในการพัฒนาโปรแกรมมีขนตอนหลัก 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
  • 2. จะเห็นว่า เมื่ออ่านซูโดโค้ ดแล้ วสามารถเข้ าใจได้ ทนทีวาขันตอนการเขียนโปรแกรมเป็ นอย่างไร ั ่ ้ โฟลวชาร์ ต (Flowchart) คือการเขียนอัลกอริ ทมโดยใช้ สญลักษณ์ รูปภาพเป็ นตัวสือความหมาย ึ ั ่ จากโจทย์ สามารถเขียนโฟลวชาร์ ตได้ ดงนี ้ ั START INPUT X,Y SUM = X + Y PRINT SUM STOP 3. เขียนโปรแกรม (Coding) เป็ นการนาอัลกอริ ทมจากขันตอนที่ 2 มาเขียนโปรแกรมให้ ถกต้ องตามหลักไวยากรณ์ (syntax) ึ ้ ู ของภาษาซี จากโจทย์สามาเขียนโปรแกรมได้ ดงนี ้ ั ตัวอย่างแสดง ซอร์ สโค้ ด 1: #inclue <stdio.h> 2: Void 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: }
  • 3. หากนาโปรแกรม มาพิจารณา จะพบว่าการเขียนโปรแกรมมีขนตอนเป็ นไปตามขันตอนของ ั้ ้ อัลกอริ ทมที่ได้ วิเคราะห์ขึ ้นทุกประการ ึ 1: #inclue <stdio.h> 2: Void 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: } 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. 5. จัดทาคู่มือ (Documentation) จุดประสงค์ที่สาคัญของการทาคูมือ คือ ช่วยให้ ผ้ ที่ศกษาซอร์ สโค้ ดของโปรแกรม (source code) ่ ู ึ ได้ งายขึ ้น จะเป็ นประโยชน์มากสาหรับการพัฒนาโปรแกรมในอนาคต เพราะจะช่วยให้ ศกษาซอร์ สโค้ ดได้ ่ ึ ง่ายและรวดเร็ วขึ ้น การจัดทาคูมือไม่มีกฎเกณฑ์ระบุไว้ แน่นอน แต่ผ้ เู ขียนโปรแกรมควรจัดทาคูมือให้ มี ่ ่ รายละเอียดมากที่สด ุ จากโจทย์ สามารถจัดทาคูมือได้ ดงนี ้ ่ ั ชื่อโปรแกรม หาค่าผลบวกของเลขจานวนเต็ม 2 จานวน ตัวแปรที่ใช้ x เก็บค่าจานวนเต็มตัวที่ 1 Y เก็บค่าจานวนเต็มตัวที่ 2 Sum เก็บค่าผลบวกของตัวเลขจานวนเต็มทัง้ 2 จานวน ชนิดของข้ อมูล x,y,sum เป็ นข้ อมูลชนิดเลขจานวนเต็ม (integer) วิธีการแก้ ปัญหา ใช้ สมการ sum = x + y