SlideShare a Scribd company logo
1 of 35
ขั้นตอนการเขียน
       โปรแกรม
     คอมพิวเตอร์


                   1
ขันตอนการเขียน
  ้
โปรแกรมคอมพิวเตอร์
     การวิเคราะห์ปัญหา (Problem analysis)
     การออกแบบโปรแกรม (Design)
     การเขียนโปรแกรมโดยใช้ภาษาใดภาษาหนึง  ่
      (Coding)
     การตรวจสอบข้อผิดพลาดของโปรแกรม
      (Testing and Debugging)
     การทดสอบความถูกต้องของโปรแกรม
      (Testing and validating)
     การทำาเอกสารประกอบโปรแกรม                2
1. การวิเคราะห์ปัญ่นำาเข้าสู่
                ข้อมูลที
                         หา
                              ระบบคอมพิวเตอร์
      การวิเคราะห์ปัญหา      ประกอบด้วยอะไร
                              บ้าง
                                          Process
   วิเคราะห์ผลลัพธ์ วิเคราะห์ Input
                                 เขียนขันตอนการแก้ปญหา
                                        ้          ั


                        งำน
                   ์ของ
                สงค
             ุ ะ
            ถปร ัพธ์
        ดวัต ผลล
   ำำหน ของ
- ก บบ
 - รูปแ                                           3
ตัวอย่าง ต้องการคำานวณหาพื้นทีของ
                                 ่
สามเหลี่ยมรูปหนึ่ง
   1. วิเคราะห์ผลลัพธ์
   กำาหนดวัตถุประสงค์ การคำานวณหา
พื้นทีสามเหลี่ยม
      ่
   รูปแบบผลลัพธ์
           ความยาวฐาน = ………………
           ความสูง = ………………
           พืนที่สามเหลี่ยม = ……………
             ้

2.กำาหนดข้อมูลเข้า
           1. ความยาวฐาน           4
ขั้นตอนการประมวลผล
ป้อนความยาวฐาน
ป้อนความสูง
คำานวณพื้นที่สามเหลี่ยม จากสูตร
                 1 ความ
นที่สามเหลี่ยม = ×
                2 ยาวฐาน
                            ×ความสูง

                                       5
2. การออกแบบ
โปรแกรม
   เครื่องมือที่ใช้ในการออกแบบ
       ผังงาน (Flowchart) ขั้นตอนการแก้ปัญหาที
        ละขั้นตอนในลักษณะรูปภาพ
       รหัสจำาลอง (Pseudo) รูปแบบเป็นภาษาพูด
        ง่าย ๆ ภาษาอังกฤษ หรือภาษาไทยก็ได้



                                                  6
สัญลักษณ์ในผังงาน
  จุดเริมต้น หรือสิ้นสุด
        ่
                            จุดเชือมต่อในหน้าอืน
                                  ่            ่

อ่านข้อมูลเข้า หรือแสดงผลจุดเชือมต่อในหน้าเดียวก
                               ่
      ประมวลผล
                             พิมพ์ผลทางเครื่องพิม
      ตัดสินใจ
                           แสดงทิศทางการประมวล
   แสดงผลทางหน้าจอ
                                             7
ตัวอย่างการเขียนผัง
งาน
       จงเขียนผังงานแสดงการเขียนและ
       เริมจดหมาย
        ส่่ งต้น              1



  เขียนจดหมาย                             ไม่
                     มี
                          มีแสตมป์หรือไม่ มี
   พับจดหมาย                            ทำาการซื้อแสตมป

 ใส่ซองจดหมาย
                            ติดแสตมป์
   จ่าหน้าซอง
                            ส่งจดหมาย
                                                  8
         1
                              จบงาน
อัลกอริทึม คือ
ลำาดับการทำางาน
หรือขั้นตอนการ
แก้ไขปัญหางานให้
สำาเร็จ

                   9
การพัฒนาอัลกอริทึม
 การเขียนขั้นตอนในรายละเอียดของแต่ละอัลกอริ
   ทึม อาศัยโครงสร้างควบคุมดังนี้
  โครงสร้างลำาดับ (Sequence structure)

  โครงสร้างตัดสินใจ (Selection structure)

  โครงสร้างทำาซำ้า (Repetition structure)




                                              10
โครงสร้างการทำางานแบบลำาดับ
(Sequence)
   โครงสร้างลำาดับ
     หลักการให้มองงานเป็นชิ้นใหญ่ก่อน ยังไม่ต้อง
      ลงรายละเอียด แล้วจัดลำาดับความคิดว่าจะทำา
      อะไร ก่อนหรือหลัง ตามลำาดับ
           งาน 1              Begin
                                งาน 1
                                งาน 2
           งาน 2
                              end
         ผังงาน              รหัสเทียม

                                                    11
การพัฒนาอัลกอริทึม
 example: จงเขียนโปรแกรมคำานวณหาค่า y ของ
   สมการ y = x^2 + 2x +10
                     start

                    Read x

              Y = x*x + 2*x +10

     ผังงาน        Write y

                    stop                    12
พื้นที่สเหลี่ยมคางหมู โดยกำาหนด
           ี่
   ค่าความยาวด้านคู่ขนานและความ
   สูงให้
        เริ่มต้น                1


   อ่านความยาวด้าน        พิมพ์คาพื้นที่
                                ่
  คู่ขนานและความสูง

คำานวณหาพื้นที่คางหมู =      จบงาน
  ½ * ด้านคูขนาน * สูง
            ่

          1
                                           13
การพัฒนาอัลกอริทึม

   โครงสร้างตัดสินใจ (selection)
       โครงสร้าง IF
       โครงสร้าง IF else




                                    14
การพัฒนาอัลกอริทึม
   โครงสร้าง IF
       เป็นโครงสร้างที่ทดสอบเงื่อนไข แล้วเลือกว่าจะ
        ทำาหรือไม่ทำา ก่อนที่จะไปทำางานอื่นต่อไป

                       ใช่
             เงื่อนไข งานที่ต้องทำา
                   ไม่ใช่

             งานต่อไป

                                                       15
การพัฒนาอัลกอริทึม
   ตัวอย่าง โครงสร้าง IF
       แม่ถามว่าหิวข้าวหรือไม่ ถ้าหิวก็ให้กน ถ้าไม่หว
                                            ิ        ิ
        ไม่ต้องกิน แล้วจึง เดินงานไปโรงเรียน (งานต่อ
        ไป)
                          ใช่
               หิวใช่ไหม? งานกินข้าว
                      ไม่ใช่

            งานเดินทางมาเรียน
                                                         16
การพัฒนาอัลกอริทึม
   ตัวอย่าง โครงสร้าง IF
      จงเขียนผังงาน แสดงยอดขาย ถ้าซื้อสินค้า
       มากกว่า 1000 บาทมีส่วนลดให้ 10%
    วิเคราะห์ :
        Output คือยอดขายสุทธิ

        Input คือ ยอดขายก่อนหักส่วนลด

        Process มีรายละเอียดเขียนด้วยผังงานได้ใน
         หน้าถัดไป
                                                    17
เริ่มต้น

การพัฒนาอัลกอริทึม                     อ่าน ยอดซื้อ

   ตัวอย่าง(ต่อ) โครงสร้าง IF
                                     ส่วนลด = 0

                                 ไม่ใช่          ใช่
                                   ยอดซื้อ >1000

                                          ส่วนลด = ยอดซื้อ * 10/100

                 ผังงาน
                          เงินที่ตองชำาระ = ยอดซื้อ - ส่วนลด
                                  ้

                                 พิมพ์ เงินทีต้องชำาระ
                                             ่

                                         จบ
                                                               18
การพัฒนาอัลกอริทึม
   โครงสร้าง IF-else
                                If
    ไม่ใช่              ใช่     เงื่อนไข
             เงื่อนไข                งาน 1
                                Else
    งาน 2               งาน 1       งาน 2
                                End if




                                             19
การพัฒนาอัลกอริทึม
   โครงสร้าง IF-Else
       ตัวอย่าง ร้านค้าแห่งหนึ่งมีนโยบาย ลดราคาให้
        ลูกค้า ถ้าเป็นชายจะลดให้ 5% แต่ถ้าเป็นหญิง
        จะลดให้ 10% จงเขียนอัลกอริทึมเพื่อพิมพ์ยอด
        ขาย
       วิเคราะห์ปญหา
                   ั
         Output คือ ราคาสุทธิ
         Input       คือ ราคาสินค้า และ เพศ
         Process เขียนด้วยผังงาน ดังในหน้าต่อไป

                                                      20
เริมต้น
                                ่


IF-ELSE         อ่านค่า รวมเงิน, เพศ

                       ส่วนลด = 0
                  no                     yes
                           เพศ = ‘M’

    ส่วนลด = รวมเงิน * 0.1         ส่วนลด = รวมเงิน * 0.05



               เงินทีต้องชำาระ = รวมเงิน - ส่วนลด
                     ่


                   พิมพ์ เงินทีต้องชำาระ
                               ่

                          จบงาน                          21
ตัวอย่าง โครงสร้างการทำางานแบบมี
 การเลือก (Selection)
ในบริเวณ A และ B ของ        เริ่มต้น
หน่วยความจำามีตัวเลขเก็บ               ใ
อยู่ จงเขียนผังงานที่แสดง   A>B        ช่   C=A-B
การเปรียบเทียบระหว่าง A
และ B                         ไม่ใ
                                       ใ
                              ช่
                            A<B
ตามเงือนไข ดังนี้
      ่                                ช่ C = A + B
ถ้า A>B คำานวณ A-B นำา        ไม่ใ
ผลที่ได้ไปเก็บไว้ที่ C        ช่
                            C=A
ถ้า A<B คำานวณ A+B นำา
ผลที่ได้ไปเก็บไว้ที่ C      จบงาน                   22
ตัวอย่างการเขียน
ผังงาน
 เมื่อเราซื้อยาจากร้านขายยาที่มีอยู่ทั่ว ๆ ไปนั้น ใน
  ส่วนของวิธีใช้ยามักจะแยกขนาดรับประทานไว้ตาม
  อายุ เช่น
  อายุมากกว่า 10 ปี รับประทานครังละ 3 ช้อนชา
                                    ้
  อายุ          6-10 ปี รับประทานครังละ 2 ช้อนชา
                                      ้
  อายุ          2-5 ปี รับประทานครังละ 1 ช้อนชา
                                        ้
  เด็กอายุตำ่ากว่า 1 ปี ห้ามรับประทาน
จงเขียนผังงานที่แสดงถึงขนาดของการใช้ยาตามอายุ
  นี้                                               23
เริ่มต้น
                 ใ    รับประทานครั้งละ
  อายุ > 10      ช่       3 ช้อนชา
 ไม่
 ใช่             ใ รับประทานครั้งละ
6 <= อายุ <=10   ช่    2 ช้อนชา
ไม่ใช่
                 ใ รับประทานครั้งละ
2 <= อายุ <=5    ช่    1 ช้อนชา
ไม่
ใช่
ห้ามรับประทาน


                                         24

    จบงาน
การพัฒนาอัลกอริทึม
 โครงสร้าง         DO while


            งาน            DO
                                 คำาสั่งต่าง ๆ
    จริง                   While เงื่อนไข
           เงื่อนไข
                                รหัสเทียม
                  เท็จ
             ผังงาน
                                                 25
การพัฒนาอัลกอริทึม
   โครงสร้าง while

                   เท็จ
                          While เงื่อนไข
         เงื่อนไข
               จริง          งาน
                          end while
           งาน
                            รหัสเทียม

          ผังงาน
                                           26
ผังงานกับการเขียนโปรแกรม
    การเขียนแปลนบ้านเหมือนกับการเขียนผังงาน ดัง
     นันการสร้างบ้านก็เหมือนกับการเขียนโปรแกรม
       ้
     นันเอง
         ่                                หน่วยความจำา
                ตำาแหน่ง(Ad ข้อมูล มีลักษณะเหมือ
                dress)             ล็อกเกอร์เก็บขอ
       X
       =             X         8
                               1
      X=8                          จะหาตำาแหน่งว่า
       1
                                   ในหน่วยความจ
      A=2            A         2   แล้วนำาค่าไปเก็บ
                                   พร้อมจำาตำาแหน
                                    ที่เก็บว่าชื่ออะไ
รูปแสดงการจำาลองหน่วยความจำาหลักของคอมพิวเตอร์
                                                 27
ตัวอย่าง
   กำาหนดให้หน่วยความจำาตำาแหน่ง A และ B มีเลข
    6 และ 2 เก็บอยู่ตามลำาดับ จงเขียนผังงานแสดง
    การสลับค่า 6 และ 2 โดยสลับให้ได้ค่าเป็น A=2
    และ B=6




                                                  28
ตัวอย่าง
                   ตำาแหน่ง(Ad ข้อมูล
 เริมต้น
    ่       1      dress)

 A=6       A=B         A         6
                                 2
                       W         6
 B=2       B=W         B         6
                                 2

 W=A       จบงาน

   1
                                        29
3. การเขียนโปรแกรมโดยใช้ภาษา
ใดภาษาหนึ่ง(Coding)
  การเขียนโปรแกรมที่ดีนั้น  ควรจะทำา
  ตามขั้นตอน คือเริ่มตั้งแต่ วิเคราะห์
   ปัญหา ก่อนแล้วทำาการออกแบบ
    โปรแกรม จึงเริ่มเขียนโปรแกรม
    สำาหรับผู้ที่ไม่มประสบการณ์ควร
                     ี
   ทดลองเขียนในกระดาษก่อน แล้ว
  ตรวจสอบจนแน่ใจว่าสามารถทำางาน
     ได้แล้วจึงทำาการคีย์ลงเครื่อง       30
ของโปรแกรม
(Testing and Debugging
the Program)
 รูปแบบข้อผิดพลาด   มี 3 แบบคือ
  Syntax  Error – ข้อผิดพลาดจากการใช้
   ไวยากรณ์ภาษาที่ผิด หรือ อาจเกิดจาก
   การสะกดคำาผิด
  Run-time Error – ข้อผิดพลาดใน
   ระหว่างการปฏิบัติงาน(Execution) มักเกิด
   จากความรู้เท่าไม่ถึงการณ์
  Logical Error – ข้อผิดพลาดที่หาและแก้31
โปรแกรม( ต่อ )
 (Testing and Debugging the
 Program)
 วิธีการตรวจสอบข้อผิดพลาดของโปรแกรม
 มีดังนี้
         การตรวจสอบด้วยตนเอง (Self
     Checking) เขียนโปรแกรมลงกระดาษ
    แล้วไล่เช็คตรวจสอบการทำางานทีละขัน้
    ด้วยตนเอง ว่าจะมีการทำางานที่ถกต้อง
                                  ู
           ตามความต้องการหรือไม่
                                      32

       ตรวจสอบด้วยการแปลโปรแกรม
5. การทดสอบความถูกต้อง
ของโปรแกรม
 ทดสอบว่าโปรแกรมให้ผลลัพธ์
  ออกมาถูกต้องตามทีต้องการหรือ
                       ่
  ไม่
 โดยการป้อนข้อมูลสมมติหลายๆ
  ค่าที่เป็นไปได้เข้าไปแล้วดู
  ผลลัพธ์ว่าถูกต้องหรือไม่
                              33
6. การทำาเอกสารประกอบ
โปรแกรม
 เอกสารประกอบโปรแกรมสำาหรับผู้ใช้
  (User Documentation)
 เอกสารประกอบสำาหรับผู้เขียนโปรแกรม
  (Technical Documentation)



                                     34
7. การบำารุงรักษา
โปรแกรม
 หลังจากที่มการใช้งานโปรแกรม
             ี
 ไปนานๆ แล้ว อาจต้องมีการ
 ปรับปรุงแก้ไขโปรแกรมให้ตรง
 ตามความต้องการของผูใช้ที่อาจ
                     ้
 เปลี่ยนแปลงไป

                                35

More Related Content

What's hot

스타트업 데이터분석 - 퍼널분석과 코호트분석
스타트업 데이터분석 - 퍼널분석과 코호트분석스타트업 데이터분석 - 퍼널분석과 코호트분석
스타트업 데이터분석 - 퍼널분석과 코호트분석Seonggwan Lee
 
Specification-By-Example with Gherkin
Specification-By-Example with GherkinSpecification-By-Example with Gherkin
Specification-By-Example with GherkinChristian Hassa
 
การสร้างสื่อสิ่งพิมพ์และ Interactive Magazine Indesign CS6
การสร้างสื่อสิ่งพิมพ์และ Interactive Magazine Indesign  CS6  การสร้างสื่อสิ่งพิมพ์และ Interactive Magazine Indesign  CS6
การสร้างสื่อสิ่งพิมพ์และ Interactive Magazine Indesign CS6 Nattapong Manlee
 
ใบความรู้ ที่ 1 หลักการเขียนโปรแกรม
ใบความรู้ ที่ 1 หลักการเขียนโปรแกรมใบความรู้ ที่ 1 หลักการเขียนโปรแกรม
ใบความรู้ ที่ 1 หลักการเขียนโปรแกรมmr.somsak phoolpherm
 
人生で大事なことは XP白本と参考文献に教わった in ESM
人生で大事なことは XP白本と参考文献に教わった in ESM人生で大事なことは XP白本と参考文献に教わった in ESM
人生で大事なことは XP白本と参考文献に教わった in ESMTakeshi Kakeda
 
ユーザーのコンテクストを理解した発想方法の研究
ユーザーのコンテクストを理解した発想方法の研究ユーザーのコンテクストを理解した発想方法の研究
ユーザーのコンテクストを理解した発想方法の研究Daichi Aoki
 
โครงสร้างข้อมูลแบบต้นไม้
โครงสร้างข้อมูลแบบต้นไม้โครงสร้างข้อมูลแบบต้นไม้
โครงสร้างข้อมูลแบบต้นไม้tumetr
 
การสร้างเสริมสมรรถภาพทางกาย
การสร้างเสริมสมรรถภาพทางกายการสร้างเสริมสมรรถภาพทางกาย
การสร้างเสริมสมรรถภาพทางกายพัน พัน
 
アイデアワークショップ基本キット ver001
アイデアワークショップ基本キット ver001アイデアワークショップ基本キット ver001
アイデアワークショップ基本キット ver001Rikie Ishii
 
User story slicing exercise
User story slicing exerciseUser story slicing exercise
User story slicing exercisePaulo Clavijo
 
장바구니를 든 데이터 사이언티스트
장바구니를 든 데이터 사이언티스트장바구니를 든 데이터 사이언티스트
장바구니를 든 데이터 사이언티스트Dennis Lee
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptxPaul Boos
 
แบบฝึกหัดโครงสร้างการเขียนผังงาน
แบบฝึกหัดโครงสร้างการเขียนผังงานแบบฝึกหัดโครงสร้างการเขียนผังงาน
แบบฝึกหัดโครงสร้างการเขียนผังงานChess
 
คู่มือโปรแกรม Articulate storyline อย่างง่าย
คู่มือโปรแกรม Articulate storyline อย่างง่ายคู่มือโปรแกรม Articulate storyline อย่างง่าย
คู่มือโปรแกรม Articulate storyline อย่างง่ายNorasit Plengrudsamee
 

What's hot (20)

스타트업 데이터분석 - 퍼널분석과 코호트분석
스타트업 데이터분석 - 퍼널분석과 코호트분석스타트업 데이터분석 - 퍼널분석과 코호트분석
스타트업 데이터분석 - 퍼널분석과 코호트분석
 
Km3
Km3Km3
Km3
 
Specification-By-Example with Gherkin
Specification-By-Example with GherkinSpecification-By-Example with Gherkin
Specification-By-Example with Gherkin
 
การสร้างสื่อสิ่งพิมพ์และ Interactive Magazine Indesign CS6
การสร้างสื่อสิ่งพิมพ์และ Interactive Magazine Indesign  CS6  การสร้างสื่อสิ่งพิมพ์และ Interactive Magazine Indesign  CS6
การสร้างสื่อสิ่งพิมพ์และ Interactive Magazine Indesign CS6
 
ใบความรู้ ที่ 1 หลักการเขียนโปรแกรม
ใบความรู้ ที่ 1 หลักการเขียนโปรแกรมใบความรู้ ที่ 1 หลักการเขียนโปรแกรม
ใบความรู้ ที่ 1 หลักการเขียนโปรแกรม
 
Programmer1
Programmer1Programmer1
Programmer1
 
人生で大事なことは XP白本と参考文献に教わった in ESM
人生で大事なことは XP白本と参考文献に教わった in ESM人生で大事なことは XP白本と参考文献に教わった in ESM
人生で大事なことは XP白本と参考文献に教わった in ESM
 
애자일의 모든것
애자일의 모든것애자일의 모든것
애자일의 모든것
 
ユーザーのコンテクストを理解した発想方法の研究
ユーザーのコンテクストを理解した発想方法の研究ユーザーのコンテクストを理解した発想方法の研究
ユーザーのコンテクストを理解した発想方法の研究
 
โครงสร้างข้อมูลแบบต้นไม้
โครงสร้างข้อมูลแบบต้นไม้โครงสร้างข้อมูลแบบต้นไม้
โครงสร้างข้อมูลแบบต้นไม้
 
การสร้างเสริมสมรรถภาพทางกาย
การสร้างเสริมสมรรถภาพทางกายการสร้างเสริมสมรรถภาพทางกาย
การสร้างเสริมสมรรถภาพทางกาย
 
アイデアワークショップ基本キット ver001
アイデアワークショップ基本キット ver001アイデアワークショップ基本キット ver001
アイデアワークショップ基本キット ver001
 
13
1313
13
 
User story slicing exercise
User story slicing exerciseUser story slicing exercise
User story slicing exercise
 
Six sigma
Six sigmaSix sigma
Six sigma
 
장바구니를 든 데이터 사이언티스트
장바구니를 든 데이터 사이언티스트장바구니를 든 데이터 사이언티스트
장바구니를 든 데이터 사이언티스트
 
5 gen
5 gen5 gen
5 gen
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
 
แบบฝึกหัดโครงสร้างการเขียนผังงาน
แบบฝึกหัดโครงสร้างการเขียนผังงานแบบฝึกหัดโครงสร้างการเขียนผังงาน
แบบฝึกหัดโครงสร้างการเขียนผังงาน
 
คู่มือโปรแกรม Articulate storyline อย่างง่าย
คู่มือโปรแกรม Articulate storyline อย่างง่ายคู่มือโปรแกรม Articulate storyline อย่างง่าย
คู่มือโปรแกรม Articulate storyline อย่างง่าย
 

Viewers also liked

STEP Inspire: Non-Profit Assignment
STEP Inspire: Non-Profit AssignmentSTEP Inspire: Non-Profit Assignment
STEP Inspire: Non-Profit Assignmentmdc5070
 
Learning : How to Learn
Learning : How to LearnLearning : How to Learn
Learning : How to LearnShruti Arya
 
2 hldrsbto fofejuly12-dec13
2 hldrsbto fofejuly12-dec132 hldrsbto fofejuly12-dec13
2 hldrsbto fofejuly12-dec132hldrsacf
 
Tour operators information phillip island nature parks
Tour operators information   phillip island nature parksTour operators information   phillip island nature parks
Tour operators information phillip island nature parksPhillipIslandNP
 
Visualizing the Evolution of Systems and their Library Dependencies
Visualizing the Evolution of Systems and their Library DependenciesVisualizing the Evolution of Systems and their Library Dependencies
Visualizing the Evolution of Systems and their Library DependenciesAu Gai
 
Instafxng weekly analysis 13th - 17th August
Instafxng weekly analysis 13th - 17th AugustInstafxng weekly analysis 13th - 17th August
Instafxng weekly analysis 13th - 17th AugustInstaforex Nigeria
 

Viewers also liked (15)

STEP Inspire: Non-Profit Assignment
STEP Inspire: Non-Profit AssignmentSTEP Inspire: Non-Profit Assignment
STEP Inspire: Non-Profit Assignment
 
Dpa postolo 2015_eng
Dpa postolo 2015_engDpa postolo 2015_eng
Dpa postolo 2015_eng
 
Learning : How to Learn
Learning : How to LearnLearning : How to Learn
Learning : How to Learn
 
V ing
V ingV ing
V ing
 
321 unit 12 innovation
321 unit 12 innovation321 unit 12 innovation
321 unit 12 innovation
 
κειμενο γιορτής
κειμενο γιορτήςκειμενο γιορτής
κειμενο γιορτής
 
2 hldrsbto fofejuly12-dec13
2 hldrsbto fofejuly12-dec132 hldrsbto fofejuly12-dec13
2 hldrsbto fofejuly12-dec13
 
Tour operators information phillip island nature parks
Tour operators information   phillip island nature parksTour operators information   phillip island nature parks
Tour operators information phillip island nature parks
 
Visualizing the Evolution of Systems and their Library Dependencies
Visualizing the Evolution of Systems and their Library DependenciesVisualizing the Evolution of Systems and their Library Dependencies
Visualizing the Evolution of Systems and their Library Dependencies
 
Science50
Science50Science50
Science50
 
Human capital 2013
Human capital 2013Human capital 2013
Human capital 2013
 
Instafxng weekly analysis 13th - 17th August
Instafxng weekly analysis 13th - 17th AugustInstafxng weekly analysis 13th - 17th August
Instafxng weekly analysis 13th - 17th August
 
Ct 2011 2
Ct 2011 2Ct 2011 2
Ct 2011 2
 
Rx3 e paadtjuc
Rx3 e paadtjucRx3 e paadtjuc
Rx3 e paadtjuc
 
Quijote
QuijoteQuijote
Quijote
 

Similar to ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์

Programming
ProgrammingProgramming
Programmingsa
 
อัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาอัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาskiats
 
Flowchart
FlowchartFlowchart
FlowchartKo Kung
 
การเขียนผังงาน(Flowchart)
การเขียนผังงาน(Flowchart)การเขียนผังงาน(Flowchart)
การเขียนผังงาน(Flowchart)Kroopop Su
 
Dc282 interaction
Dc282 interactionDc282 interaction
Dc282 interactionajpeerawich
 
สัญลักษณ์ผังงาน
สัญลักษณ์ผังงานสัญลักษณ์ผังงาน
สัญลักษณ์ผังงานPannathat Champakul
 
การเขียนผังงาน
การเขียนผังงานการเขียนผังงาน
การเขียนผังงานIsaku JuJu
 
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศการแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศMeaw Sukee
 

Similar to ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์ (20)

1122
11221122
1122
 
Programming
ProgrammingProgramming
Programming
 
อัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาอัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหา
 
หลักการเขียนโปรแกรม
หลักการเขียนโปรแกรมหลักการเขียนโปรแกรม
หลักการเขียนโปรแกรม
 
Chapter05
Chapter05Chapter05
Chapter05
 
Chapter 05 Loop
Chapter 05 LoopChapter 05 Loop
Chapter 05 Loop
 
Chapter 05 Loop
Chapter 05 LoopChapter 05 Loop
Chapter 05 Loop
 
ผังงาน
ผังงานผังงาน
ผังงาน
 
Flowchart credit :
Flowchart credit : Flowchart credit :
Flowchart credit :
 
Flowchart
FlowchartFlowchart
Flowchart
 
การเขียนผังงาน(Flowchart)
การเขียนผังงาน(Flowchart)การเขียนผังงาน(Flowchart)
การเขียนผังงาน(Flowchart)
 
1
11
1
 
Dc282 interaction
Dc282 interactionDc282 interaction
Dc282 interaction
 
สัญลักษณ์ผังงาน
สัญลักษณ์ผังงานสัญลักษณ์ผังงาน
สัญลักษณ์ผังงาน
 
Learn 3
Learn 3Learn 3
Learn 3
 
โครงสร้างการเขียนโปรแกรมภาษาไพธอน
โครงสร้างการเขียนโปรแกรมภาษาไพธอนโครงสร้างการเขียนโปรแกรมภาษาไพธอน
โครงสร้างการเขียนโปรแกรมภาษาไพธอน
 
การเขียนผังงาน
การเขียนผังงานการเขียนผังงาน
การเขียนผังงาน
 
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศการแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
 
หลักการเขียนผังงาน(Flow chart)
หลักการเขียนผังงาน(Flow chart)หลักการเขียนผังงาน(Flow chart)
หลักการเขียนผังงาน(Flow chart)
 
การเขียนผังงาน (280653)
การเขียนผังงาน (280653)การเขียนผังงาน (280653)
การเขียนผังงาน (280653)
 

More from bpatra

Chap 4 pseudo code
Chap 4 pseudo codeChap 4 pseudo code
Chap 4 pseudo codebpatra
 
Chap 3 ลักษณะโครงสร้างผังงาน
Chap 3 ลักษณะโครงสร้างผังงานChap 3 ลักษณะโครงสร้างผังงาน
Chap 3 ลักษณะโครงสร้างผังงานbpatra
 
Chap 2 flow chart
Chap 2 flow chartChap 2 flow chart
Chap 2 flow chartbpatra
 
Chap 2 flow chart
Chap 2 flow chartChap 2 flow chart
Chap 2 flow chartbpatra
 
Chap 2 flow chart
Chap 2 flow chartChap 2 flow chart
Chap 2 flow chartbpatra
 
Chap 2 flow chart
Chap 2 flow chartChap 2 flow chart
Chap 2 flow chartbpatra
 
Chap 1 job analization
Chap 1 job analizationChap 1 job analization
Chap 1 job analizationbpatra
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1bpatra
 
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์bpatra
 

More from bpatra (10)

Chap 4 pseudo code
Chap 4 pseudo codeChap 4 pseudo code
Chap 4 pseudo code
 
Chap 3 ลักษณะโครงสร้างผังงาน
Chap 3 ลักษณะโครงสร้างผังงานChap 3 ลักษณะโครงสร้างผังงาน
Chap 3 ลักษณะโครงสร้างผังงาน
 
Chap 2 flow chart
Chap 2 flow chartChap 2 flow chart
Chap 2 flow chart
 
Chap 2 flow chart
Chap 2 flow chartChap 2 flow chart
Chap 2 flow chart
 
Chap 2 flow chart
Chap 2 flow chartChap 2 flow chart
Chap 2 flow chart
 
Chap 2 flow chart
Chap 2 flow chartChap 2 flow chart
Chap 2 flow chart
 
Chap 1 job analization
Chap 1 job analizationChap 1 job analization
Chap 1 job analization
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
Basic
BasicBasic
Basic
 
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์
 

ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์

  • 1. ขั้นตอนการเขียน โปรแกรม คอมพิวเตอร์ 1
  • 2. ขันตอนการเขียน ้ โปรแกรมคอมพิวเตอร์  การวิเคราะห์ปัญหา (Problem analysis)  การออกแบบโปรแกรม (Design)  การเขียนโปรแกรมโดยใช้ภาษาใดภาษาหนึง ่ (Coding)  การตรวจสอบข้อผิดพลาดของโปรแกรม (Testing and Debugging)  การทดสอบความถูกต้องของโปรแกรม (Testing and validating)  การทำาเอกสารประกอบโปรแกรม 2
  • 3. 1. การวิเคราะห์ปัญ่นำาเข้าสู่ ข้อมูลที หา ระบบคอมพิวเตอร์  การวิเคราะห์ปัญหา ประกอบด้วยอะไร บ้าง Process วิเคราะห์ผลลัพธ์ วิเคราะห์ Input เขียนขันตอนการแก้ปญหา ้ ั งำน ์ของ สงค ุ ะ ถปร ัพธ์ ดวัต ผลล ำำหน ของ - ก บบ - รูปแ 3
  • 4. ตัวอย่าง ต้องการคำานวณหาพื้นทีของ ่ สามเหลี่ยมรูปหนึ่ง 1. วิเคราะห์ผลลัพธ์ กำาหนดวัตถุประสงค์ การคำานวณหา พื้นทีสามเหลี่ยม ่ รูปแบบผลลัพธ์ ความยาวฐาน = ……………… ความสูง = ……………… พืนที่สามเหลี่ยม = …………… ้ 2.กำาหนดข้อมูลเข้า 1. ความยาวฐาน 4
  • 6. 2. การออกแบบ โปรแกรม  เครื่องมือที่ใช้ในการออกแบบ  ผังงาน (Flowchart) ขั้นตอนการแก้ปัญหาที ละขั้นตอนในลักษณะรูปภาพ  รหัสจำาลอง (Pseudo) รูปแบบเป็นภาษาพูด ง่าย ๆ ภาษาอังกฤษ หรือภาษาไทยก็ได้ 6
  • 7. สัญลักษณ์ในผังงาน จุดเริมต้น หรือสิ้นสุด ่ จุดเชือมต่อในหน้าอืน ่ ่ อ่านข้อมูลเข้า หรือแสดงผลจุดเชือมต่อในหน้าเดียวก ่ ประมวลผล พิมพ์ผลทางเครื่องพิม ตัดสินใจ แสดงทิศทางการประมวล แสดงผลทางหน้าจอ 7
  • 8. ตัวอย่างการเขียนผัง งาน  จงเขียนผังงานแสดงการเขียนและ เริมจดหมาย ส่่ งต้น 1 เขียนจดหมาย ไม่ มี มีแสตมป์หรือไม่ มี พับจดหมาย ทำาการซื้อแสตมป ใส่ซองจดหมาย ติดแสตมป์ จ่าหน้าซอง ส่งจดหมาย 8 1 จบงาน
  • 10. การพัฒนาอัลกอริทึม การเขียนขั้นตอนในรายละเอียดของแต่ละอัลกอริ ทึม อาศัยโครงสร้างควบคุมดังนี้  โครงสร้างลำาดับ (Sequence structure)  โครงสร้างตัดสินใจ (Selection structure)  โครงสร้างทำาซำ้า (Repetition structure) 10
  • 11. โครงสร้างการทำางานแบบลำาดับ (Sequence)  โครงสร้างลำาดับ  หลักการให้มองงานเป็นชิ้นใหญ่ก่อน ยังไม่ต้อง ลงรายละเอียด แล้วจัดลำาดับความคิดว่าจะทำา อะไร ก่อนหรือหลัง ตามลำาดับ งาน 1 Begin งาน 1 งาน 2 งาน 2 end ผังงาน รหัสเทียม 11
  • 12. การพัฒนาอัลกอริทึม example: จงเขียนโปรแกรมคำานวณหาค่า y ของ สมการ y = x^2 + 2x +10 start Read x Y = x*x + 2*x +10 ผังงาน Write y stop 12
  • 13. พื้นที่สเหลี่ยมคางหมู โดยกำาหนด ี่ ค่าความยาวด้านคู่ขนานและความ สูงให้ เริ่มต้น 1 อ่านความยาวด้าน พิมพ์คาพื้นที่ ่ คู่ขนานและความสูง คำานวณหาพื้นที่คางหมู = จบงาน ½ * ด้านคูขนาน * สูง ่ 1 13
  • 14. การพัฒนาอัลกอริทึม  โครงสร้างตัดสินใจ (selection)  โครงสร้าง IF  โครงสร้าง IF else 14
  • 15. การพัฒนาอัลกอริทึม  โครงสร้าง IF  เป็นโครงสร้างที่ทดสอบเงื่อนไข แล้วเลือกว่าจะ ทำาหรือไม่ทำา ก่อนที่จะไปทำางานอื่นต่อไป ใช่ เงื่อนไข งานที่ต้องทำา ไม่ใช่ งานต่อไป 15
  • 16. การพัฒนาอัลกอริทึม  ตัวอย่าง โครงสร้าง IF  แม่ถามว่าหิวข้าวหรือไม่ ถ้าหิวก็ให้กน ถ้าไม่หว ิ ิ ไม่ต้องกิน แล้วจึง เดินงานไปโรงเรียน (งานต่อ ไป) ใช่ หิวใช่ไหม? งานกินข้าว ไม่ใช่ งานเดินทางมาเรียน 16
  • 17. การพัฒนาอัลกอริทึม  ตัวอย่าง โครงสร้าง IF  จงเขียนผังงาน แสดงยอดขาย ถ้าซื้อสินค้า มากกว่า 1000 บาทมีส่วนลดให้ 10% วิเคราะห์ :  Output คือยอดขายสุทธิ  Input คือ ยอดขายก่อนหักส่วนลด  Process มีรายละเอียดเขียนด้วยผังงานได้ใน หน้าถัดไป 17
  • 18. เริ่มต้น การพัฒนาอัลกอริทึม อ่าน ยอดซื้อ  ตัวอย่าง(ต่อ) โครงสร้าง IF ส่วนลด = 0 ไม่ใช่ ใช่ ยอดซื้อ >1000 ส่วนลด = ยอดซื้อ * 10/100 ผังงาน เงินที่ตองชำาระ = ยอดซื้อ - ส่วนลด ้ พิมพ์ เงินทีต้องชำาระ ่ จบ 18
  • 19. การพัฒนาอัลกอริทึม  โครงสร้าง IF-else If ไม่ใช่ ใช่ เงื่อนไข เงื่อนไข งาน 1 Else งาน 2 งาน 1 งาน 2 End if 19
  • 20. การพัฒนาอัลกอริทึม  โครงสร้าง IF-Else  ตัวอย่าง ร้านค้าแห่งหนึ่งมีนโยบาย ลดราคาให้ ลูกค้า ถ้าเป็นชายจะลดให้ 5% แต่ถ้าเป็นหญิง จะลดให้ 10% จงเขียนอัลกอริทึมเพื่อพิมพ์ยอด ขาย  วิเคราะห์ปญหา ั  Output คือ ราคาสุทธิ  Input คือ ราคาสินค้า และ เพศ  Process เขียนด้วยผังงาน ดังในหน้าต่อไป 20
  • 21. เริมต้น ่ IF-ELSE อ่านค่า รวมเงิน, เพศ ส่วนลด = 0 no yes เพศ = ‘M’ ส่วนลด = รวมเงิน * 0.1 ส่วนลด = รวมเงิน * 0.05 เงินทีต้องชำาระ = รวมเงิน - ส่วนลด ่ พิมพ์ เงินทีต้องชำาระ ่ จบงาน 21
  • 22. ตัวอย่าง โครงสร้างการทำางานแบบมี การเลือก (Selection) ในบริเวณ A และ B ของ เริ่มต้น หน่วยความจำามีตัวเลขเก็บ ใ อยู่ จงเขียนผังงานที่แสดง A>B ช่ C=A-B การเปรียบเทียบระหว่าง A และ B ไม่ใ ใ ช่ A<B ตามเงือนไข ดังนี้ ่ ช่ C = A + B ถ้า A>B คำานวณ A-B นำา ไม่ใ ผลที่ได้ไปเก็บไว้ที่ C ช่ C=A ถ้า A<B คำานวณ A+B นำา ผลที่ได้ไปเก็บไว้ที่ C จบงาน 22
  • 23. ตัวอย่างการเขียน ผังงาน  เมื่อเราซื้อยาจากร้านขายยาที่มีอยู่ทั่ว ๆ ไปนั้น ใน ส่วนของวิธีใช้ยามักจะแยกขนาดรับประทานไว้ตาม อายุ เช่น อายุมากกว่า 10 ปี รับประทานครังละ 3 ช้อนชา ้ อายุ 6-10 ปี รับประทานครังละ 2 ช้อนชา ้ อายุ 2-5 ปี รับประทานครังละ 1 ช้อนชา ้ เด็กอายุตำ่ากว่า 1 ปี ห้ามรับประทาน จงเขียนผังงานที่แสดงถึงขนาดของการใช้ยาตามอายุ นี้ 23
  • 24. เริ่มต้น ใ รับประทานครั้งละ อายุ > 10 ช่ 3 ช้อนชา ไม่ ใช่ ใ รับประทานครั้งละ 6 <= อายุ <=10 ช่ 2 ช้อนชา ไม่ใช่ ใ รับประทานครั้งละ 2 <= อายุ <=5 ช่ 1 ช้อนชา ไม่ ใช่ ห้ามรับประทาน 24 จบงาน
  • 25. การพัฒนาอัลกอริทึม  โครงสร้าง DO while งาน DO คำาสั่งต่าง ๆ จริง While เงื่อนไข เงื่อนไข รหัสเทียม เท็จ ผังงาน 25
  • 26. การพัฒนาอัลกอริทึม  โครงสร้าง while เท็จ While เงื่อนไข เงื่อนไข จริง งาน end while งาน รหัสเทียม ผังงาน 26
  • 27. ผังงานกับการเขียนโปรแกรม  การเขียนแปลนบ้านเหมือนกับการเขียนผังงาน ดัง นันการสร้างบ้านก็เหมือนกับการเขียนโปรแกรม ้ นันเอง ่ หน่วยความจำา ตำาแหน่ง(Ad ข้อมูล มีลักษณะเหมือ dress) ล็อกเกอร์เก็บขอ X = X 8 1 X=8 จะหาตำาแหน่งว่า 1 ในหน่วยความจ A=2 A 2 แล้วนำาค่าไปเก็บ พร้อมจำาตำาแหน ที่เก็บว่าชื่ออะไ รูปแสดงการจำาลองหน่วยความจำาหลักของคอมพิวเตอร์ 27
  • 28. ตัวอย่าง  กำาหนดให้หน่วยความจำาตำาแหน่ง A และ B มีเลข 6 และ 2 เก็บอยู่ตามลำาดับ จงเขียนผังงานแสดง การสลับค่า 6 และ 2 โดยสลับให้ได้ค่าเป็น A=2 และ B=6 28
  • 29. ตัวอย่าง ตำาแหน่ง(Ad ข้อมูล เริมต้น ่ 1 dress) A=6 A=B A 6 2 W 6 B=2 B=W B 6 2 W=A จบงาน 1 29
  • 30. 3. การเขียนโปรแกรมโดยใช้ภาษา ใดภาษาหนึ่ง(Coding)  การเขียนโปรแกรมที่ดีนั้น ควรจะทำา ตามขั้นตอน คือเริ่มตั้งแต่ วิเคราะห์ ปัญหา ก่อนแล้วทำาการออกแบบ โปรแกรม จึงเริ่มเขียนโปรแกรม สำาหรับผู้ที่ไม่มประสบการณ์ควร ี ทดลองเขียนในกระดาษก่อน แล้ว ตรวจสอบจนแน่ใจว่าสามารถทำางาน ได้แล้วจึงทำาการคีย์ลงเครื่อง 30
  • 31. ของโปรแกรม (Testing and Debugging the Program)  รูปแบบข้อผิดพลาด มี 3 แบบคือ  Syntax Error – ข้อผิดพลาดจากการใช้ ไวยากรณ์ภาษาที่ผิด หรือ อาจเกิดจาก การสะกดคำาผิด  Run-time Error – ข้อผิดพลาดใน ระหว่างการปฏิบัติงาน(Execution) มักเกิด จากความรู้เท่าไม่ถึงการณ์  Logical Error – ข้อผิดพลาดที่หาและแก้31
  • 32. โปรแกรม( ต่อ ) (Testing and Debugging the Program)  วิธีการตรวจสอบข้อผิดพลาดของโปรแกรม มีดังนี้  การตรวจสอบด้วยตนเอง (Self Checking) เขียนโปรแกรมลงกระดาษ แล้วไล่เช็คตรวจสอบการทำางานทีละขัน้ ด้วยตนเอง ว่าจะมีการทำางานที่ถกต้อง ู ตามความต้องการหรือไม่ 32  ตรวจสอบด้วยการแปลโปรแกรม
  • 33. 5. การทดสอบความถูกต้อง ของโปรแกรม  ทดสอบว่าโปรแกรมให้ผลลัพธ์ ออกมาถูกต้องตามทีต้องการหรือ ่ ไม่  โดยการป้อนข้อมูลสมมติหลายๆ ค่าที่เป็นไปได้เข้าไปแล้วดู ผลลัพธ์ว่าถูกต้องหรือไม่ 33
  • 34. 6. การทำาเอกสารประกอบ โปรแกรม  เอกสารประกอบโปรแกรมสำาหรับผู้ใช้ (User Documentation)  เอกสารประกอบสำาหรับผู้เขียนโปรแกรม (Technical Documentation) 34
  • 35. 7. การบำารุงรักษา โปรแกรม  หลังจากที่มการใช้งานโปรแกรม ี ไปนานๆ แล้ว อาจต้องมีการ ปรับปรุงแก้ไขโปรแกรมให้ตรง ตามความต้องการของผูใช้ที่อาจ ้ เปลี่ยนแปลงไป 35