SlideShare a Scribd company logo
1 of 12
ขั ้ น ตอนในการพั ฒ นา Software
  วิธีการในการพัฒนา Software จะมีรูปแบบ (Model) ในการพัฒนาสองแบบ
ใหญ่ ๆ คือ Waterfall model และ Iterative model

1. Waterfall model

 R e q u ir e m e n t


                                    A n a ly s is &
                                       D e s ig n


                                                      C o d in g



                                                                   T e s t in g



                        M a in t a in a c e                                       P ro d u ct



   เหมาะสมสำาหรับการพัฒนาโปรแกรมสำาเร็จรูปที่เป็นลักษณะ Mass product
กล่าวคือผลิตออกมาทีละเยอะ ๆ เช่น MS Windows, MS Office ขั้นตอนต่าง ๆ
มีรายละเอียดดังนี้
   1.1 Requirement เป็นขั้นตอนในการเก็บความต้องการของผู้ใช้โปรแกรม
       ว่า ผู้ใช้โปรแกรมต้องการโปรแกรมอะไร ทำางานอย่างไร
   1.2 Analysis and design เป็นขั้นตอนในการเอาความต้องการของผู้ใช้มา
       วิเคราะห์ถึงความเป็นไปได้และความเหมาะสม เลือกเครื่องมือที่จะ
       ทำาการพัฒนาโปรแกรม แล้วทำาการออกแบบ (Design) โปรแกรม
   1.3 Coding เป็นขั้นตอนของการเขียนโปรแกรมตามที่เราออกแบบมา
   1.4 Testing เป็นขั้นตอนในการเอาโปรแกรมที่เขียนเสร็จแล้วมาทำาการ
       ทดสอบหาข้อผิดพลาด
   1.5 Product เมื่อทำาการทดสอบจนแน่ใจแล้วว่าไม่มีข้อผิดพลาดก็นำา
       โปรแกรมไปใช้งานจริง
   1.6 Maintenance เป็นขั้นตอนในการดูแลผู้ใช้โปรแกรมว่ามีปัญหาในการ
       ใช้งานหรือไม่อย่างไร พร้อมให้คำาปรึกษาและรับฟังข้อคิดเห็นเพื่อจะ
       นำามาพัฒนาโปรแกรมในรุ่นถัดไป

2. Iterative model
   เนื่องจาก Waterfall model ขาดการรับฟังข้อคิดเห็นจากผู้ใช้โปรแกรม
(Feedback) เพื่อที่จะนำามาปรับปรุงโปแกรมโดยทันที ทำาให้โปรแกรมที่ออกมา
ไม่ตรงกับความต้องการของผู้ใช้โปรแกรมอย่างแท้จริง จึงทำาให้เกิด Model
ในการพัฒนาโปรแกรมแบบใหม่ที่เรียก Iterative model ซึ่งมีรายละเอียดดังนี้
I n it ia l
                            r e q u ir e m e n t
                            a n d a n a ly s is




                                                        D e s ig n



                                        M o re
 M a in t a in a c e             r e q u ir e m e n t                  C o d in g
                                 a n d a n a ly s is



                                                        T e s t in g



                                                                                    C o m p le t e
                                                                                     P ro d u c t


       2.1 Initial requirement and analysis เป็นการเก็บความต้องการของผู้ใช้
           โปรแกรมครั้งแรกแล้วนำามาวิเคราะห์ พร้อมทั้งหาเครื่องมือที่จะนำา
           มาพัฒนาโปรแกรม
       2.2 Design ทำาการออกแบบโปรแกรมตามที่ได้วิเคราะห์ไว้
       2.3 Coding ทำาการเขียนโปรแกรมตามที่ได้ออกแบบไว้
       2.4 Testing ทำาการหาข้อผิดพลาดของโปรแกรม ซึ่งผู้ที่จะทำาการตรวจ
           สอบโปรแกรมจะมีทั้งการตรวจสอบภายในทีมเขียนโปรแกรมและ
           การตรวจสอบจากผู้ใช้โปรแกรม
       2.5 More requirement and analysis ถ้าผู้ใช้โปรแกรมตรวจสอบโปรแกรม
           แล้วยังไม่เป็นที่น่าพอใจหรือยังพบข้อผิดพลาดของโปรแกรม ให้จะ
           นำาเอาข้อเสนอเหล่านั้นมาทำาการแก้ไขเพิ่มเติม โดยทำาการ Design
           ใหม่อีกรอบหนึ่ง
       2.6 Product ถ้าการทดสอบเป็นที่น่าพอใจแล้วจึงเริ่มใช้ผลิตภัณฑ์กับงาน
           ระบบจริง
       2.7 Maintenance ถึงกระนั้นผลิตภัณฑ์ที่ใช้งานจริงย่อมมีปัญหาเกิดขึ้น
           เสมอ ผู้ใช้งานอาจมีความต้องการเพิ่ม จึงนำาเอาความต้องการเหล่า
           นั้นเข้าสู่ขั้นตอนการพัฒนาโปรแกรมอีกครั้งในขั้นตอนของ More
              requirement and analysis

   นอกจากนั้นแล้วยังมีการพัฒนา Model สำาหรับการพัฒนา Software อีก
หลายแบบเช่น Spiral model เป็นต้น

คำ า ถาม
    1. จงอธิบายการวิธีการพัฒนาโปรแกรมแบบ Waterfall model และ
          Iterative model
2. จงอธิบายข้อดีข้อเสียของการพัฒนาโปรแกรมแบบ Waterfall model
   และ Iterative model
ชนิ ด ของภาษาและเครื ่ อ งมื อ ที ่ ใ ช้ ใ นการพั ฒ นา
โปรแกรม
1.   ตระกู ล ภาษาคอมพิ ว เตอร์ ท ี ่ น ิ ย มใช้ ใ นปั จ จุ บ ั น ได้ แ ก่
     1.1. ภาษาสัญลักษณ์ (Assembly หรือ Symbolic language) เป็นภาษาที่ติดต่อ
          กับเครื่องคอมพิวเตอร์ได้โดยตรงโดยไม่ต้องแปลความหมายแต่
          อย่างใด จุดเด่นของภาษานี้คือขนาดของโปรแกรมมีขนาดเล็กจึง
          เป็นที่นิยมใช้ในงานควบคุมอุตสาหกรรม หรืองานที่ต้องการความ
          รวดเร็วในการทำางานเช่นส่วนติดต่อกับ Hardware ของระบบปฎิบัติ
          การ ข้อเสียของภาษาสัญลักษณ์นี้ก็คือทำาความเข้าใจได้ยากทำาให้
          การพัฒนาโปรแกรมยากตามไปด้วย และโปรแกรมขึ้นอยู่กับ
          Hardware มากเกินไป
     1.2. ภาษาซี (C Language) เป็นภาษาที่ได้รับความนิยมมากภาษาหนึ่ง
          เพราะสามารถเขียนโปรแกรมที่มีลักษณะเป็นโครงสร้าง (Structure
          program) โปรแกรมที่เขียนขึ้นขึ้นอยู่กับ Hardware น้อยกว่าภาษา
          สัญลักษณ์ทำาให้สามารถเขียนโปแกรมครั้งเดียวสามารถใช้ได้หลาก
          หลายอุปกรณ์ โปรแกรมที่เขียนขึ้นมีความเร็วเป็นรองแค่ภาษา
          สัญลักษณ์เท่านั้น ภาษาซีแตกแขนงออกเป็นภาษา C++, Java, C#
          เป็นต้น
     1.3. ภาษาปาสกาล (Pascal) เป็นภาษาที่เหมาะสมสำาหรับการเรียนรู้การ
          เขียน สามารถเขียนโปรแกรมที่มีลักษณะเป็น Black-box ได้อย่าง
          แท้จริงทำาให้เหมาะสมกับงานทางด้าน Real-time และการจำาลองการ
          ทำางานข้อเสียคือโปรแกรมที่ออกมาทำางานช้ากว่าภาษาซี ภาษาปาส
          คาลแตกแขนงออกไปเป็น Ada, Delphi, Kylix เป็นต้น
     1.4. ภาษาเบสิก (BASIC : Beginners All-purpose Symbolic Instruction Code)
          เป็นภาษาแรกที่มีใช้ในไมโครคอมพิวเตอร์ เหมาะสมสำาหรับผู้เขียน
          โปรแกรมเบื้องต้น งานที่ไม่ซับซ้อนมากนัก ไม่เหมาะสมสำาหรับงาน
          ในขนาดใหญ่ แต่ก็ได้ถูกปรับปรุงอย่างมากในจนกลายเป็นภาษา
          Visual Basic ที่เป็นต้นแบบของการพัฒนาโปรแกรมแบบ Visual

  นอกจากนั้นยังมีภาษาอื่น ๆ ที่ไม่ได้กล่าวถึง ซึ่งแต่ละภาษาใช้งานเฉพาะ
ทางแตกต่างกันไปเช่น PERL, PHP, LISP, LabView, Tcl/Tk, COBAL,
FORTRAN, SQL

2. เครื ่ อ งมื อ ที ่ ใ ช้ ใ นการพั ฒ นาโปรแกรม
   หลังจากที่เลือกภาษาที่จะใช้ในการพัฒนาโปรแกรมแล้ว การเลือก
เครื่องมือที่ใช้ในการพัฒนาโปรแกรมก็สำาคัญเช่นกัน ถ้าเลือกเครื่องมือที่มี
ลักษณะเข้าใจยาก หาข้อผิดพลาดของโปรแกรมเมื่อเกิด Error ขึ้นยาก ก็จะ
ทำาให้ระยะเวลาการพัฒนาโปรแกรมใช้เวลานาน ในขั้นตอนนี้เราต้องเลือก
สองสิ่งได้แก่
   2.1 เลือกตัวแปลภาษา (Complier) ที่จะใช้
   2.2 เลือกโปรแกรมที่ใช้เขียน Code (Editor) ที่ใช้ในการเขียนโปรแกรม
ตั ว อย่ า งการเลื อ กชนิ ด ของภาษาและเครื ่ อ งมื อ ที ่ ใ ช้ ใ นการ
พั ฒ นาโปรแกรม
ตั ว อย่ า ง ١ ต้องการเขียนโปรแกรมสั่งงานไมโครคอนโทรลเลอร์ตระกูล
68HC11 ไปควบคุมอุณภูมิเตาอบ
    1. ทำาการเลือกภาษาที่จะใช้ในการเขียนโปรแกรม ส่วนมากในงาน
       ควบคุมแล้วภาษาซี เหมาะสมที่สุด เพราะเป็นภาษาสูง เข้าใจง่าย ไม่
       ต้องเสียเวลาศึกษาภาษา Assembly
    2. ทำาการเลือก Complier ซึ่งมีหลายตัวมาก (สามารถหาได้จาก Internet)
       เช่น GCC, Cosmic C
    3. ทำาการเลือก Editor ที่ใช้เขียนโปรแกรมอาจจะเป็น Notepad ที่แถมมา
       กับ Windows หรือจะใช้ Editor สำาเร็จรูปเช่นถ้าเลือก Cosmic C ก็จะมี
       Editor สำาเร็จรูปมาให้เลย

ตั ว อย่ า ง ٢ ต้องการสอนนักศึกษาเขียนโปรแกรมเป็นอย่างน้อนหนึ่งภาษา
    1. ทำาการเลือกภาษาที่จะใช้ในการเขียนโปรแกรม เนื่องจากว่า
       คอมพิวเตอร์ที่ใช้เป็นตระกูล x86 ทั้งหมดและเพื่อให้นักศึกษาสามาร
       ทำาโปรเจคทางด้าน Control ได้ดังนั้นภาษาซีจึงเป็นภาษาที่เหมาะสม
    2. ทำาการเลือก Complier เนื่องจากระบบปฎิบัติการที่ใช้เป็น MS Windows
       จึงเลือก Turbo C 2.0 ซึงมีข้อดีคือแจกฟรี (สามารถ Download ได้จาก
       Borland) และเป็นที่นิยมใช้อย่างมาก
    3. ทำาการเลือก Editor ใช้ Editor ที่แถมมาพร้อมกับ Turbo C

คำ า ถาม
    1. จงเปรียบเทียบข้อดีของภาษาในตระกูล ภาษาสัญลักษณ์ ภาษาซี
       ภาษาปาสคาล และภาษาเบสิก
    2. จากตัวอย่างที่ ١ และตัวอย่างที่ ٢ จงบอกขั้นตอนของการเลือกชนิด
       ของภาษาและเครื่องมือที่ใช้ในการพัฒนาโปรแกรมมาอย่างคร่าว ๆ

Algorithm, Flowchart and Pseudo code
แนวคิ ด การเขี ย นโปรแกรม (Algorithms)
         คือ แผนการสั่งงานให้คอมพิวเตอร์ทำาตามที่เราต้องการ ตัวอย่างเช่น
ต้องการหาผลรวมของตัวเลข ٢ จำานวน จะต้องทำาอย่างไร? เป็นต้น ถ้าจะ
เปรียบเทียบแนวความคิดของมนุษย์กับเครื่องคอมพิวเตอร์ในการแก้ปัญหา
เรื่องนี้ อาจเป็นไปดังนี้คือ

แนวความคิดของมนุษย์                   แนวความคิดของเครื่องคอมพิวเตอร์
١. บอกตัวเลขทั้ง ٢ จำานวนนั้นมา       ١. ต้องมีตัวแปร ٣ ตัวเพื่อจดจำาค่าตัว
ก่อน                                  เลข ٢ จำานวนและรองรับผลการ
٢. ถ้าง่ายมากก็คิดในใจ คือ บวก        คำานวณที่เกิดขึ้นอีก ١ จำานวน
เสร็จแล้วก็บอกคำาตอบได้เลย            ٢. ต้องกรอกค่าตัวเลขใส่ตัวแปรที่ ١
٣. ถ้ายากนักก็ใช้เครื่องคิดเลขช่วย    ٣. ต้องกรอกค่าตัวเลขใส่ตัวแปรที่ ٢
แล้วถึงจะได้คำาตอบ                    ٤. สั่งให้นำาค่าจากตัวแปรที่ ١ มาบวก
กับตัวแปรที่ ٢ โดยนำาผลลัพธ์ใส่
                                                        ตัวแปรที่ ٣
                                                        ٥. สั่งให้แสดงผลลัพธ์จากตัวแปรที่ ٣

 เ ริ่ ม ต้ น ก า ร ทำา ง า น            จะเห็นได้ว่าแนวคิดของมนุษย์จะเป็นแบบง่าย ๆ
                                  ไม่มีระเบียบอะไรมากนัก แต่ถ้าเป็นคอมพิวเตอร์ต้องมีการ
                                  คิดอย่างเป็นขั้นตอน มีตัวแปรสำาหรับข้อมูลต่างๆ
                                         ต่อจากนั้นก็ทำา Algorithm ที่ยังเป็นเพียงแค่แนวคิดที่
  รั บ ตั ว เ ล ข ตั ว แ ร ก
 เ ก็ บ ไ ว้ ที่ ตั ว แ ป ร A     เป็นนามธรรม มาทำาเป็นสิ่งที่เป็นรูปธรรมได้แก่ ผัง
                                  งาน(Flowchart) และรหัสเทียม (Pseudocode)

  รั บ ตั ว เ ล ข ตั ว แ ร ก      ผั ง งาน (Flowchart)
 เ ก็ บ ไ ว้ ที่ ตั ว แ ป ร B
                                          คือแผนภาพใช้สำาหรับอธิบายขั้นตอนการทำางาน
                                  ของโปรแกรมคอมพิวเตอร์ โดยอาศัยสัญลักษณ์และความ
นำา ผ ล ลั พ ธ์ เ ก็ บ ไ ว้ ที่   สั้น ๆ ในการสื่อความหาย ใช้เป็นโครงร่างก่อนการเขียน
 ตั ว แ ป ร C โ ด ย ที่ C
   มี ค่ า เ ท่ า กั บ A + B
                                  โปรแกรมคอมพิวเตอร์ เพื่อให้ผู้เขียนโปรแกรมมองเห็น
                                  ภาพรวมทั้งหมดของโปรแกรม Flowchart แบ่งออกเป็นสอง
                                  แบบได้แก่
                                          ١. ผั ง งานระบบ (System flowchart) เป็นผังงานที่
     แ ส ด งผ ล ก าร
         บ วก C                   เขียนขึ้นเพื่อแสดงให้เห็นถึงความสัมพันธ์ระหว่างโปรแก
                                  รมต่ง ๆ ได้รับข้อมูลเข้ามาประมวลผลจากทางใด ประมวล
                                  ผลเสร็จแล้วจะส่งไปที่ไหน และผลลัพธ์ที่เกิดขึ้นจะ
                                  แสดงออกในรูปใด
 สิ้ น สุ ด ก า ร ทำา ง า น               ٢. ผั ง งานโปรแกรม (Program flowchart หรือ Detail
                                  flowchart) เป็นผังงานที่เขียนขึ้นเพื่อแสดงขั้นตอนคำาสั่ง
                                  อย่างละเอียด ซึ่งตามปกติแล้วผู้เขียนโปรแกรมจะเขียน
                                  Program flowchart ขึ้นมาก่อน ต่อจากนั้นจะตรวจสอบขั้น
                                  ตอนคำาสั่งงานแต่ละขั้นในผังงานว่าไม่มีผิดพลาดแล้วจึง
                                  ลงมือเขียนโปรแกรม ตัวอย่าง Flowchart ของการบวกสอง
                                  สองจำานวนแสดงดังรูปด้านข้าง

กลุ่มสัญลักณ์ของ Flowchart

   สั ญ ลั ก ษณ์                     ความหมาย             สั ญ ลั ก ษณ์       ความหมาย
                                                                           พิมพ์ผลลัพธ์ออก
                                   เริ่มต้นและสิ้น                         ทางกระดาษ
                                   สุดโปรแกรม



                                   รับข้อมูลาทาง                           ประมวลผลทั่วๆ
                                   คีย์บอร์ด                               ไป
อ่านเขียนข้อมูล                         ตัดสินใจเลือก
                  ลงดิกส์


                  อ่านเขียนข้อมูล
                  จากเทปแม่                               รอยต่อของเส้น
                  เหล็ก                                   เชื่อม


                  อ่านเขียนข้อมูล
                  ลงฐานข้อมูล                             ไปหน้าถัดไป



                  แสดงผลลัพธ์                             เส้นเชื่อม
                  ออกทางหน้าจอ



รหั ส เที ย ม (Pseudo code)
เป็นการเขียนโปรแกรมที่ไม่ขึ้นอยู่กับภาษา ทำาให้โปรแกรมเมอร์สามารถนำา
เอา Pseudo code ไปเขียนโปรแกรมเป็นภาษาใด ๆ ตัวอย่างการเขียน Pseudo
code สำาหรับโปรแกรมบวกเลขมีดังนี้
       Read (A)      ทำาการอ่านค่าแรก
       Read (B)      ทำาการอ่านค่าที่สอง
       C ← Α + Β คำานวณผลรวมไว้ที่ตัวแปรที่สาม
       Write ( C )   แสดงผลลลัพธ์
ตั ว อย่ า ง Algorithm, Flowchart และ          Pseudo code


ตั ว อย่ า ง١ จงเขียน Algorithm, Flowchart และ Pseudo code สำาหรับหาพื้นที่
สี่เหลี่ยมผืนผ้า โดยรับขนาดความกว้างและความยาวของสี่เหลี่ยมผ่านทาง
คีย์บอร์ดแล้วแสดงผลทางหน้าจอ

Flowchart           Algorithm
                    ١. รับค่าความสูงของสี่เหลี่ยนผ่านทางคีย์บอร์ด
                    ٢. รับค่าความกว้างของสี่เหลี่ยนมผ่านทางเคีย์บอร์ด
                    ٣. คำานวนค่าพื้นที่เก็บไว้ที่ตัวแปรพื้นที่ = ฐาน * สูง
                    ٤. แสดงพื้นที่ที่ได้ผ่านทางหน้าจอ

                    Pseudo code
                    Read (ความสูง)
                    Read (ความกว้าง)
                    พื้นที่ ← ความสูง * ความกว้าง
                    Write ( พื้นที่ )
เ ริ่ ม ต้ น



        รั บ ค่ า ค ว า ม สู ง



       รั บ ค่ า ค ว า ม ก ว้ า ง



     พื้ น ที่ = สู ง * ก ว้ า ง




                พื้ น ที่




                  จบ



ตั ว อย่ า ง ٢ จงเขียน Algorithm, Flowchart และ Pseudo code เพื่อหาพื้นที่สาม
เหลียมโดยรับค่าต่าง ๆ ผ่านทางคีย์บอร์ดและแสดงผลทางด้านหน้าจอ
       ในตัวอย่างนี้โจทย์ไม่ได้ระบุว่าค่าที่รับมาเป็นอะไร ค่าที่จะรับนั้นเป็น
อะไรก็ขึ้นอยู่กับสูตรที่เราจะใช้ ตัวอย่างของสูตรหาพื้นที่สามเหลี่ยม ดัง
แสดงข้างล่างนี้ ในที่นี้ขอเลือกใช้สูตรที่ ٣


                                          สูตรที่ ١                                       สูตรที่ ٢
                                                                            a
                                          ½ * ฐาน * สูง                                   ½ * a * b * sin θ
                                    สูง




                                                                                θ
         ฐาน                                                                        b

                                          สูตรที่ ٣
 a                            c            s ( s − a )( s − b )( s − c )
                                                a +b +c
                                          s =
           b                                       2

Flowchart                                             Algorithm
                                                      ١. รับค่า a,b และ c ผ่านทางคีย์บอร์ด
                                                                                               a +b +c
                                                      ٢. ทำาการคำานวณหาค่า s ตามสูตร s =
                                                                                                  2
                                                      ٣. ทำาการหาค่าพื้นที่ตามสูตร พื้นที่ =
                                                        s ( s − a )( s − b )( s − c )
                                                      ٤. แสดงผลพื้นที่ทางหน้าจอ

                                                      Pseudo code
                                                      Read ( a,b,c )
เ ริ่ ม ต้ น       S ← (a + b + c) / 2
                                  พื้นที่ ← root( s * (s-a) * (s-b) * (s-c) )
                                  Write ( พื้นที่ )
        รั บ ค่ า a , b แ ล ะ c



              a +b +c
      s =
                 2


  s ( s − a )( s − b )( s − c )



            แ ส ด ง ค่ า S



          จ บ ก า ร ทำา ง า น



ตั ว อย่ า ง ٣ จงเขียน Algorithm, Flowchart และ Pseudo code เพื่อตัวคะแนน
แบบอิงเกณฑ์โดยมีเกณฑ์การให้คะแนนดังนี้
       ได้คะแนน 0 - 49 เกรดที่ได้คือ F          ได้คะแนน 70 - 79 เกรดที่ได้
คือ B
       ได้คะแนน 50 - 59 เกรดที่ได้คือ D         ได้คะแนน 80 - 100 เกรดที่ได้
คือ A
       ได้คะแนน 60 - 69 เกรดที่ได้คือ C
โดยรับคะแนนผ่านทางคีย์บอร์ดและแสดงผลการตัดเกรดทาง Printer
Flowchart                                    Algorithm
                                             ١. รับคะแนนที่ต้องการหาเกรดผ่านทางคีย์บอร์ด
        เ ริ่ ม ต้ น                         ٢. ถ้าคะแนนตำ่ากว่า ٥٠ เกรดคือ F แล้วไปข้อ ٧
                                             ٣. ถ้าคะแนนระหว่าง ٥٩ - ٥٠ เกรดคือ D แล้วไป
                                             ข้อ ٧
     รั บ ค ะ แ น น
                                             ٤. ถ้าคะแนนระหว่าง ٦٩ - ٦٠ เกรดคือ C แล้วไป
                                             ข้อ ٧
                                             ٥. ถ้าคะแนนระหว่าง ٧٩ - ٧٠ เกรดคือ B แล้วไป
   ค ะแ น น < 50           Yes   เก รด = F   ข้อ ٧
                                             ٦. เกรดที่ได้คือ A
           No                                ٧. พิมพ์เกรดทางเครื่องพิมพ์

  ค ะ แ น น ร ะ ห ว่ า ง
                                             Pseudo code
       50 - 59
                           Yes   เก รด = D
                                             Read (คะแนน )
                                             If คะแนน < 50 then เกรด ← F
           No                                Elseif ( 50 <= คะแนน ) and ( คะแนน < 59 ) then
                                             เกรด ← D
  ค ะ แ น น ร ะ ห ว่ า ง
                           Yes   เก รด = C   Elseif ( 60 <= คะแนน ) and ( คะแนน < 69 ) then
       60 - 69
                                             เกรด ← C
                                             Elseif ( 70 <= คะแนน ) and ( คะแนน < 79 ) then
           No
                                             เกรด ← B
  ค ะ แ น น ร ะ ห ว่ า ง
                                             Else เกรด ← A
                           Yes   เก รด = B   End if
       70 - 79
                                             Print (เกรด)
           No


     เก รด = A




     พิ ม พ์ เ ก ร ด




   จ บ ก า ร ทำา ง า น
ตั ว อย่ า งที ่ ٤ จงเขียนโปรแกรมบวกเลขจำานวนเต็มตั้งแต่ ١ ถึง ١٠٠ แล้ว
แสดงผลลัพธ์ทางหน้าจอ

Flowchart 1                             Algorithm 1
                                        ١. กำาหนดตัวแปรสำาหรับนับค่าให้ชื่อว่า i มีค่าเริ่ม
                   เ ริ่ ม ต้ น         ต้นเป็น ١
                                        ٢. กำาหนดตัวแปรเก็บผลลัพธ์ชื่อว่า y มีค่าเริ่มต้น
                     i= 1
                    y = 0               เป็น ٠
                                        ٣. ดูว่า i มีค่ามากกว่า ١٠٠ หรือยัง ถ้ายังไม่ถึงให้ทำา
                                        ข้อ ٤ ถ้าถึงแล้วให้ทำาข้อ ٧
                  i> 100                ٤. y = y + i
                                        ٥. เพิ่มค่าตัวนับขึ้นอีกหนึ่ง (i = i + ١ )
                         No             ٦. กลับไปทำาข้อ ٣
                y = y + i
                                        ٧. แสดงค่า y ทางจอภาพ
                 i= i+ 1          Yes
                                        Pseudo code 1
                                        i←١
                   พิ ม พ์ y            y←٠
                                        Repeat while i <= ١٠٠
                                          y←y+i
                   เ ริ่ ม ต้ น
                                          i ←i +١
                                        End repeat
                                        Print ( i )

Flowchart                               Algorithm 2
                                                                    n
                                                                                  n (n + 1)
          เ ริ่ ม ต้ น                  จากสูตรคณิตศาสตร์ที่ว่า    ∑x
                                                                   i =1
                                                                          i   =
                                                                                      2
                                                                                            ดังนั้น
                                        ถ้ากำาหนดค่า n = 100 ก็สามารถหาผลรวมตั้งแต่ ١
         n = 100                        ถึง ١٠٠ ได้
                                        ١. กำาหนดค่า n = 100
                                                                        n (n + 1)
 ผ รวม =
  ล
         n ( n + 1)                     ٢. แทนค่าในสูตร ผลรวม =
                                                                            2
              2
                                        ٣. พิมพ์ค่าผลรวม

      พิ ม พ์ ผ ล ร ว ม                 Pseudo code ٢
                                        n ← ١٠٠
                                                   n (n + 1)
          เ ริ่ ม ต้ น                  ผลรวม ←
                                                       2
                                        Print (ผลรวม)

จากตัวอย่างนี้จะเห็นได้ว่า Algorithm ทีต่างกันจะส่งผลต่อความเร็วของการ
                                       ่
ทำางานโปรแกรม จะเห็นได้ชัดว่าโปรแกรมที่เขียนขึ้นจาก Algorithm 2 เขียน
ง่ายกว่าและทำางานเร็วกว่าโปรแกรมที่เขียนขึ้นจาก Algorithm 1
คำ า ถาม
1. จงอธิบายว่า Algorithm, Flowchart และ Pseudo code คืออะไร
2. จงเขียน Algorithm, Flowchart และ Pseudo code สำาหรับหาพื้นที่สามเหลี่ยม
    ของอีกสองสูตรที่เหลือในตัวอย่างที่ ٢ พร้อมทั้งแสดงผลลัพธ์ทางหน้าจอ
3. จงเขียน Algorithm, Flowchart และ Pseudo code สำาหรับหาพื้นที่และความ
    ยาวเส้นรอบวงของวงกลม พร้อมทั้งแสดงผลลัพธ์ทางหน้าจอ
4. จากสูตรการหาผลรวมของตัวต้านทานที่ต่อแบบขนานสามตัวดังนี้
                              1      1   1   1
                                   =   +   +
                             R รวม   R1 R 2 R 3
   จงเขียน Algorithm, Flowchart และ Pseudo code เพื่อหาค่า R รวม โดยรับค่า
   R1 R2 และ R3 ทางคีย์บอร์ดพร้อมทั้งแสดงผลลัพธ์ทางหน้าจอ
5. จงเขียน Algorithm, Flowchart และ Pseudo code หาผลรวมตั้งแต่ ١٠١ ถึง ٢
   ٠٠ พร้อมทั้งแสดงผลลัพธ์ทางหน้าจอ
6. จงเขียน Algorithm, Flowchart และ Pseudo code สำาหรับหาค่าสูงสุดและตำ่า
   สุดของจำานวน ١٠ จำานวนที่รับเข้ามาทางคีย์บอร์ดพร้อมทั้งแสดงค่า
   สูงสุดและตำ่าสุดทางหน้าจอ

More Related Content

What's hot

การเขียนผังงาน (Flowchart)
การเขียนผังงาน (Flowchart)การเขียนผังงาน (Flowchart)
การเขียนผังงาน (Flowchart)Fair Kung Nattaput
 
สัญลักษณ์ผังงาน
สัญลักษณ์ผังงานสัญลักษณ์ผังงาน
สัญลักษณ์ผังงานPannathat Champakul
 
การเขียนผังงาน(Flowchart)
การเขียนผังงาน(Flowchart)การเขียนผังงาน(Flowchart)
การเขียนผังงาน(Flowchart)Kroopop Su
 
ผังงาน (Flowchart)
ผังงาน (Flowchart)ผังงาน (Flowchart)
ผังงาน (Flowchart)Theruangsit
 
ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์
ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์
ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์bpatra
 
การวิเคราะห์อัลกอริทึม(algorithm analysis)
การวิเคราะห์อัลกอริทึม(algorithm analysis)การวิเคราะห์อัลกอริทึม(algorithm analysis)
การวิเคราะห์อัลกอริทึม(algorithm analysis)tumetr
 
Doc 40720.914467592650
Doc 40720.914467592650Doc 40720.914467592650
Doc 40720.914467592650Jakkree Eiei
 
ความหมายของผังงาน
ความหมายของผังงานความหมายของผังงาน
ความหมายของผังงาน9inglobin
 
1 3สัญลักษณ์ผังงาน
1 3สัญลักษณ์ผังงาน1 3สัญลักษณ์ผังงาน
1 3สัญลักษณ์ผังงานPannathat Champakul
 
การเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา Cการเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา CWarawut
 
การบ้านคอม
การบ้านคอมการบ้านคอม
การบ้านคอมNucharee
 

What's hot (20)

การเขียนผังงาน (Flowchart)
การเขียนผังงาน (Flowchart)การเขียนผังงาน (Flowchart)
การเขียนผังงาน (Flowchart)
 
สัญลักษณ์ผังงาน
สัญลักษณ์ผังงานสัญลักษณ์ผังงาน
สัญลักษณ์ผังงาน
 
การเขียนผังงาน(Flowchart)
การเขียนผังงาน(Flowchart)การเขียนผังงาน(Flowchart)
การเขียนผังงาน(Flowchart)
 
1122
11221122
1122
 
หลักการเขียนโปรแกรม
หลักการเขียนโปรแกรมหลักการเขียนโปรแกรม
หลักการเขียนโปรแกรม
 
หลักการเขียนผังงาน(Flow chart)
หลักการเขียนผังงาน(Flow chart)หลักการเขียนผังงาน(Flow chart)
หลักการเขียนผังงาน(Flow chart)
 
ผังงาน (Flowchart)
ผังงาน (Flowchart)ผังงาน (Flowchart)
ผังงาน (Flowchart)
 
ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์
ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์
ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์
 
การวิเคราะห์อัลกอริทึม(algorithm analysis)
การวิเคราะห์อัลกอริทึม(algorithm analysis)การวิเคราะห์อัลกอริทึม(algorithm analysis)
การวิเคราะห์อัลกอริทึม(algorithm analysis)
 
ผังงาน
ผังงานผังงาน
ผังงาน
 
Chapter 05 Loop
Chapter 05 LoopChapter 05 Loop
Chapter 05 Loop
 
Doc 40720.914467592650
Doc 40720.914467592650Doc 40720.914467592650
Doc 40720.914467592650
 
ความหมายของผังงาน
ความหมายของผังงานความหมายของผังงาน
ความหมายของผังงาน
 
1 3สัญลักษณ์ผังงาน
1 3สัญลักษณ์ผังงาน1 3สัญลักษณ์ผังงาน
1 3สัญลักษณ์ผังงาน
 
การเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา Cการเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา C
 
การบ้านคอม
การบ้านคอมการบ้านคอม
การบ้านคอม
 
Chapter 02 Flowchart
Chapter 02 FlowchartChapter 02 Flowchart
Chapter 02 Flowchart
 
Chapter05
Chapter05Chapter05
Chapter05
 
บทที่2
บทที่2บทที่2
บทที่2
 
flowchart
flowchartflowchart
flowchart
 

Similar to 3 software deverlop

โปรแกรม
โปรแกรมโปรแกรม
โปรแกรมthanapon51105
 
โปรแกรมคอมพิวเตอร
โปรแกรมคอมพิวเตอรโปรแกรมคอมพิวเตอร
โปรแกรมคอมพิวเตอรTay Atcharawan
 
ภาษา C
ภาษา Cภาษา C
ภาษา C0872671746
 
ประวัติภาษาซี
ประวัติภาษาซีประวัติภาษาซี
ประวัติภาษาซีHathaichon Nonruongrit
 
การพัฒนาโปรแกรม วิชญา
การพัฒนาโปรแกรม วิชญาการพัฒนาโปรแกรม วิชญา
การพัฒนาโปรแกรม วิชญาwinewic199
 
งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอมPassawan' Koohar
 
Group1 กระบวนการเทคโนโลยีสารสนเทศ2007
Group1 กระบวนการเทคโนโลยีสารสนเทศ2007Group1 กระบวนการเทคโนโลยีสารสนเทศ2007
Group1 กระบวนการเทคโนโลยีสารสนเทศ2007MMp'New Aukkaradet
 
โครงงานคอม 5
โครงงานคอม 5โครงงานคอม 5
โครงงานคอม 5wipawanmmiiww
 
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2winewic199
 

Similar to 3 software deverlop (20)

โปรแกรม
โปรแกรมโปรแกรม
โปรแกรม
 
โปรแกรมคอมพิวเตอร
โปรแกรมคอมพิวเตอรโปรแกรมคอมพิวเตอร
โปรแกรมคอมพิวเตอร
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
ภาษา C
ภาษา Cภาษา C
ภาษา C
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
689 2
689 2689 2
689 2
 
ใบความรู้ การเขียนโปรแกรม
ใบความรู้ การเขียนโปรแกรมใบความรู้ การเขียนโปรแกรม
ใบความรู้ การเขียนโปรแกรม
 
ประวัติภาษาซี
ประวัติภาษาซีประวัติภาษาซี
ประวัติภาษาซี
 
การพัฒนาโปรแกรม วิชญา
การพัฒนาโปรแกรม วิชญาการพัฒนาโปรแกรม วิชญา
การพัฒนาโปรแกรม วิชญา
 
งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอม
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Group1 กระบวนการเทคโนโลยีสารสนเทศ2007
Group1 กระบวนการเทคโนโลยีสารสนเทศ2007Group1 กระบวนการเทคโนโลยีสารสนเทศ2007
Group1 กระบวนการเทคโนโลยีสารสนเทศ2007
 
คอมทรงสัก1
คอมทรงสัก1คอมทรงสัก1
คอมทรงสัก1
 
Answer unit1.1
Answer unit1.1Answer unit1.1
Answer unit1.1
 
โครงงานคอม 5
โครงงานคอม 5โครงงานคอม 5
โครงงานคอม 5
 
Lesson 4 (misson)2
Lesson 4 (misson)2Lesson 4 (misson)2
Lesson 4 (misson)2
 
Lesson 4 (misson)2
Lesson 4 (misson)2Lesson 4 (misson)2
Lesson 4 (misson)2
 
Lesson 4 (misson)
Lesson 4 (misson)Lesson 4 (misson)
Lesson 4 (misson)
 
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
 
การเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษาการเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษา
 

3 software deverlop

  • 1. ขั ้ น ตอนในการพั ฒ นา Software วิธีการในการพัฒนา Software จะมีรูปแบบ (Model) ในการพัฒนาสองแบบ ใหญ่ ๆ คือ Waterfall model และ Iterative model 1. Waterfall model R e q u ir e m e n t A n a ly s is & D e s ig n C o d in g T e s t in g M a in t a in a c e P ro d u ct เหมาะสมสำาหรับการพัฒนาโปรแกรมสำาเร็จรูปที่เป็นลักษณะ Mass product กล่าวคือผลิตออกมาทีละเยอะ ๆ เช่น MS Windows, MS Office ขั้นตอนต่าง ๆ มีรายละเอียดดังนี้ 1.1 Requirement เป็นขั้นตอนในการเก็บความต้องการของผู้ใช้โปรแกรม ว่า ผู้ใช้โปรแกรมต้องการโปรแกรมอะไร ทำางานอย่างไร 1.2 Analysis and design เป็นขั้นตอนในการเอาความต้องการของผู้ใช้มา วิเคราะห์ถึงความเป็นไปได้และความเหมาะสม เลือกเครื่องมือที่จะ ทำาการพัฒนาโปรแกรม แล้วทำาการออกแบบ (Design) โปรแกรม 1.3 Coding เป็นขั้นตอนของการเขียนโปรแกรมตามที่เราออกแบบมา 1.4 Testing เป็นขั้นตอนในการเอาโปรแกรมที่เขียนเสร็จแล้วมาทำาการ ทดสอบหาข้อผิดพลาด 1.5 Product เมื่อทำาการทดสอบจนแน่ใจแล้วว่าไม่มีข้อผิดพลาดก็นำา โปรแกรมไปใช้งานจริง 1.6 Maintenance เป็นขั้นตอนในการดูแลผู้ใช้โปรแกรมว่ามีปัญหาในการ ใช้งานหรือไม่อย่างไร พร้อมให้คำาปรึกษาและรับฟังข้อคิดเห็นเพื่อจะ นำามาพัฒนาโปรแกรมในรุ่นถัดไป 2. Iterative model เนื่องจาก Waterfall model ขาดการรับฟังข้อคิดเห็นจากผู้ใช้โปรแกรม (Feedback) เพื่อที่จะนำามาปรับปรุงโปแกรมโดยทันที ทำาให้โปรแกรมที่ออกมา ไม่ตรงกับความต้องการของผู้ใช้โปรแกรมอย่างแท้จริง จึงทำาให้เกิด Model ในการพัฒนาโปรแกรมแบบใหม่ที่เรียก Iterative model ซึ่งมีรายละเอียดดังนี้
  • 2. I n it ia l r e q u ir e m e n t a n d a n a ly s is D e s ig n M o re M a in t a in a c e r e q u ir e m e n t C o d in g a n d a n a ly s is T e s t in g C o m p le t e P ro d u c t 2.1 Initial requirement and analysis เป็นการเก็บความต้องการของผู้ใช้ โปรแกรมครั้งแรกแล้วนำามาวิเคราะห์ พร้อมทั้งหาเครื่องมือที่จะนำา มาพัฒนาโปรแกรม 2.2 Design ทำาการออกแบบโปรแกรมตามที่ได้วิเคราะห์ไว้ 2.3 Coding ทำาการเขียนโปรแกรมตามที่ได้ออกแบบไว้ 2.4 Testing ทำาการหาข้อผิดพลาดของโปรแกรม ซึ่งผู้ที่จะทำาการตรวจ สอบโปรแกรมจะมีทั้งการตรวจสอบภายในทีมเขียนโปรแกรมและ การตรวจสอบจากผู้ใช้โปรแกรม 2.5 More requirement and analysis ถ้าผู้ใช้โปรแกรมตรวจสอบโปรแกรม แล้วยังไม่เป็นที่น่าพอใจหรือยังพบข้อผิดพลาดของโปรแกรม ให้จะ นำาเอาข้อเสนอเหล่านั้นมาทำาการแก้ไขเพิ่มเติม โดยทำาการ Design ใหม่อีกรอบหนึ่ง 2.6 Product ถ้าการทดสอบเป็นที่น่าพอใจแล้วจึงเริ่มใช้ผลิตภัณฑ์กับงาน ระบบจริง 2.7 Maintenance ถึงกระนั้นผลิตภัณฑ์ที่ใช้งานจริงย่อมมีปัญหาเกิดขึ้น เสมอ ผู้ใช้งานอาจมีความต้องการเพิ่ม จึงนำาเอาความต้องการเหล่า นั้นเข้าสู่ขั้นตอนการพัฒนาโปรแกรมอีกครั้งในขั้นตอนของ More requirement and analysis นอกจากนั้นแล้วยังมีการพัฒนา Model สำาหรับการพัฒนา Software อีก หลายแบบเช่น Spiral model เป็นต้น คำ า ถาม 1. จงอธิบายการวิธีการพัฒนาโปรแกรมแบบ Waterfall model และ Iterative model
  • 4. ชนิ ด ของภาษาและเครื ่ อ งมื อ ที ่ ใ ช้ ใ นการพั ฒ นา โปรแกรม 1. ตระกู ล ภาษาคอมพิ ว เตอร์ ท ี ่ น ิ ย มใช้ ใ นปั จ จุ บ ั น ได้ แ ก่ 1.1. ภาษาสัญลักษณ์ (Assembly หรือ Symbolic language) เป็นภาษาที่ติดต่อ กับเครื่องคอมพิวเตอร์ได้โดยตรงโดยไม่ต้องแปลความหมายแต่ อย่างใด จุดเด่นของภาษานี้คือขนาดของโปรแกรมมีขนาดเล็กจึง เป็นที่นิยมใช้ในงานควบคุมอุตสาหกรรม หรืองานที่ต้องการความ รวดเร็วในการทำางานเช่นส่วนติดต่อกับ Hardware ของระบบปฎิบัติ การ ข้อเสียของภาษาสัญลักษณ์นี้ก็คือทำาความเข้าใจได้ยากทำาให้ การพัฒนาโปรแกรมยากตามไปด้วย และโปรแกรมขึ้นอยู่กับ Hardware มากเกินไป 1.2. ภาษาซี (C Language) เป็นภาษาที่ได้รับความนิยมมากภาษาหนึ่ง เพราะสามารถเขียนโปรแกรมที่มีลักษณะเป็นโครงสร้าง (Structure program) โปรแกรมที่เขียนขึ้นขึ้นอยู่กับ Hardware น้อยกว่าภาษา สัญลักษณ์ทำาให้สามารถเขียนโปแกรมครั้งเดียวสามารถใช้ได้หลาก หลายอุปกรณ์ โปรแกรมที่เขียนขึ้นมีความเร็วเป็นรองแค่ภาษา สัญลักษณ์เท่านั้น ภาษาซีแตกแขนงออกเป็นภาษา C++, Java, C# เป็นต้น 1.3. ภาษาปาสกาล (Pascal) เป็นภาษาที่เหมาะสมสำาหรับการเรียนรู้การ เขียน สามารถเขียนโปรแกรมที่มีลักษณะเป็น Black-box ได้อย่าง แท้จริงทำาให้เหมาะสมกับงานทางด้าน Real-time และการจำาลองการ ทำางานข้อเสียคือโปรแกรมที่ออกมาทำางานช้ากว่าภาษาซี ภาษาปาส คาลแตกแขนงออกไปเป็น Ada, Delphi, Kylix เป็นต้น 1.4. ภาษาเบสิก (BASIC : Beginners All-purpose Symbolic Instruction Code) เป็นภาษาแรกที่มีใช้ในไมโครคอมพิวเตอร์ เหมาะสมสำาหรับผู้เขียน โปรแกรมเบื้องต้น งานที่ไม่ซับซ้อนมากนัก ไม่เหมาะสมสำาหรับงาน ในขนาดใหญ่ แต่ก็ได้ถูกปรับปรุงอย่างมากในจนกลายเป็นภาษา Visual Basic ที่เป็นต้นแบบของการพัฒนาโปรแกรมแบบ Visual นอกจากนั้นยังมีภาษาอื่น ๆ ที่ไม่ได้กล่าวถึง ซึ่งแต่ละภาษาใช้งานเฉพาะ ทางแตกต่างกันไปเช่น PERL, PHP, LISP, LabView, Tcl/Tk, COBAL, FORTRAN, SQL 2. เครื ่ อ งมื อ ที ่ ใ ช้ ใ นการพั ฒ นาโปรแกรม หลังจากที่เลือกภาษาที่จะใช้ในการพัฒนาโปรแกรมแล้ว การเลือก เครื่องมือที่ใช้ในการพัฒนาโปรแกรมก็สำาคัญเช่นกัน ถ้าเลือกเครื่องมือที่มี ลักษณะเข้าใจยาก หาข้อผิดพลาดของโปรแกรมเมื่อเกิด Error ขึ้นยาก ก็จะ ทำาให้ระยะเวลาการพัฒนาโปรแกรมใช้เวลานาน ในขั้นตอนนี้เราต้องเลือก สองสิ่งได้แก่ 2.1 เลือกตัวแปลภาษา (Complier) ที่จะใช้ 2.2 เลือกโปรแกรมที่ใช้เขียน Code (Editor) ที่ใช้ในการเขียนโปรแกรม
  • 5. ตั ว อย่ า งการเลื อ กชนิ ด ของภาษาและเครื ่ อ งมื อ ที ่ ใ ช้ ใ นการ พั ฒ นาโปรแกรม ตั ว อย่ า ง ١ ต้องการเขียนโปรแกรมสั่งงานไมโครคอนโทรลเลอร์ตระกูล 68HC11 ไปควบคุมอุณภูมิเตาอบ 1. ทำาการเลือกภาษาที่จะใช้ในการเขียนโปรแกรม ส่วนมากในงาน ควบคุมแล้วภาษาซี เหมาะสมที่สุด เพราะเป็นภาษาสูง เข้าใจง่าย ไม่ ต้องเสียเวลาศึกษาภาษา Assembly 2. ทำาการเลือก Complier ซึ่งมีหลายตัวมาก (สามารถหาได้จาก Internet) เช่น GCC, Cosmic C 3. ทำาการเลือก Editor ที่ใช้เขียนโปรแกรมอาจจะเป็น Notepad ที่แถมมา กับ Windows หรือจะใช้ Editor สำาเร็จรูปเช่นถ้าเลือก Cosmic C ก็จะมี Editor สำาเร็จรูปมาให้เลย ตั ว อย่ า ง ٢ ต้องการสอนนักศึกษาเขียนโปรแกรมเป็นอย่างน้อนหนึ่งภาษา 1. ทำาการเลือกภาษาที่จะใช้ในการเขียนโปรแกรม เนื่องจากว่า คอมพิวเตอร์ที่ใช้เป็นตระกูล x86 ทั้งหมดและเพื่อให้นักศึกษาสามาร ทำาโปรเจคทางด้าน Control ได้ดังนั้นภาษาซีจึงเป็นภาษาที่เหมาะสม 2. ทำาการเลือก Complier เนื่องจากระบบปฎิบัติการที่ใช้เป็น MS Windows จึงเลือก Turbo C 2.0 ซึงมีข้อดีคือแจกฟรี (สามารถ Download ได้จาก Borland) และเป็นที่นิยมใช้อย่างมาก 3. ทำาการเลือก Editor ใช้ Editor ที่แถมมาพร้อมกับ Turbo C คำ า ถาม 1. จงเปรียบเทียบข้อดีของภาษาในตระกูล ภาษาสัญลักษณ์ ภาษาซี ภาษาปาสคาล และภาษาเบสิก 2. จากตัวอย่างที่ ١ และตัวอย่างที่ ٢ จงบอกขั้นตอนของการเลือกชนิด ของภาษาและเครื่องมือที่ใช้ในการพัฒนาโปรแกรมมาอย่างคร่าว ๆ Algorithm, Flowchart and Pseudo code แนวคิ ด การเขี ย นโปรแกรม (Algorithms) คือ แผนการสั่งงานให้คอมพิวเตอร์ทำาตามที่เราต้องการ ตัวอย่างเช่น ต้องการหาผลรวมของตัวเลข ٢ จำานวน จะต้องทำาอย่างไร? เป็นต้น ถ้าจะ เปรียบเทียบแนวความคิดของมนุษย์กับเครื่องคอมพิวเตอร์ในการแก้ปัญหา เรื่องนี้ อาจเป็นไปดังนี้คือ แนวความคิดของมนุษย์ แนวความคิดของเครื่องคอมพิวเตอร์ ١. บอกตัวเลขทั้ง ٢ จำานวนนั้นมา ١. ต้องมีตัวแปร ٣ ตัวเพื่อจดจำาค่าตัว ก่อน เลข ٢ จำานวนและรองรับผลการ ٢. ถ้าง่ายมากก็คิดในใจ คือ บวก คำานวณที่เกิดขึ้นอีก ١ จำานวน เสร็จแล้วก็บอกคำาตอบได้เลย ٢. ต้องกรอกค่าตัวเลขใส่ตัวแปรที่ ١ ٣. ถ้ายากนักก็ใช้เครื่องคิดเลขช่วย ٣. ต้องกรอกค่าตัวเลขใส่ตัวแปรที่ ٢ แล้วถึงจะได้คำาตอบ ٤. สั่งให้นำาค่าจากตัวแปรที่ ١ มาบวก
  • 6. กับตัวแปรที่ ٢ โดยนำาผลลัพธ์ใส่ ตัวแปรที่ ٣ ٥. สั่งให้แสดงผลลัพธ์จากตัวแปรที่ ٣ เ ริ่ ม ต้ น ก า ร ทำา ง า น จะเห็นได้ว่าแนวคิดของมนุษย์จะเป็นแบบง่าย ๆ ไม่มีระเบียบอะไรมากนัก แต่ถ้าเป็นคอมพิวเตอร์ต้องมีการ คิดอย่างเป็นขั้นตอน มีตัวแปรสำาหรับข้อมูลต่างๆ ต่อจากนั้นก็ทำา Algorithm ที่ยังเป็นเพียงแค่แนวคิดที่ รั บ ตั ว เ ล ข ตั ว แ ร ก เ ก็ บ ไ ว้ ที่ ตั ว แ ป ร A เป็นนามธรรม มาทำาเป็นสิ่งที่เป็นรูปธรรมได้แก่ ผัง งาน(Flowchart) และรหัสเทียม (Pseudocode) รั บ ตั ว เ ล ข ตั ว แ ร ก ผั ง งาน (Flowchart) เ ก็ บ ไ ว้ ที่ ตั ว แ ป ร B คือแผนภาพใช้สำาหรับอธิบายขั้นตอนการทำางาน ของโปรแกรมคอมพิวเตอร์ โดยอาศัยสัญลักษณ์และความ นำา ผ ล ลั พ ธ์ เ ก็ บ ไ ว้ ที่ สั้น ๆ ในการสื่อความหาย ใช้เป็นโครงร่างก่อนการเขียน ตั ว แ ป ร C โ ด ย ที่ C มี ค่ า เ ท่ า กั บ A + B โปรแกรมคอมพิวเตอร์ เพื่อให้ผู้เขียนโปรแกรมมองเห็น ภาพรวมทั้งหมดของโปรแกรม Flowchart แบ่งออกเป็นสอง แบบได้แก่ ١. ผั ง งานระบบ (System flowchart) เป็นผังงานที่ แ ส ด งผ ล ก าร บ วก C เขียนขึ้นเพื่อแสดงให้เห็นถึงความสัมพันธ์ระหว่างโปรแก รมต่ง ๆ ได้รับข้อมูลเข้ามาประมวลผลจากทางใด ประมวล ผลเสร็จแล้วจะส่งไปที่ไหน และผลลัพธ์ที่เกิดขึ้นจะ แสดงออกในรูปใด สิ้ น สุ ด ก า ร ทำา ง า น ٢. ผั ง งานโปรแกรม (Program flowchart หรือ Detail flowchart) เป็นผังงานที่เขียนขึ้นเพื่อแสดงขั้นตอนคำาสั่ง อย่างละเอียด ซึ่งตามปกติแล้วผู้เขียนโปรแกรมจะเขียน Program flowchart ขึ้นมาก่อน ต่อจากนั้นจะตรวจสอบขั้น ตอนคำาสั่งงานแต่ละขั้นในผังงานว่าไม่มีผิดพลาดแล้วจึง ลงมือเขียนโปรแกรม ตัวอย่าง Flowchart ของการบวกสอง สองจำานวนแสดงดังรูปด้านข้าง กลุ่มสัญลักณ์ของ Flowchart สั ญ ลั ก ษณ์ ความหมาย สั ญ ลั ก ษณ์ ความหมาย พิมพ์ผลลัพธ์ออก เริ่มต้นและสิ้น ทางกระดาษ สุดโปรแกรม รับข้อมูลาทาง ประมวลผลทั่วๆ คีย์บอร์ด ไป
  • 7. อ่านเขียนข้อมูล ตัดสินใจเลือก ลงดิกส์ อ่านเขียนข้อมูล จากเทปแม่ รอยต่อของเส้น เหล็ก เชื่อม อ่านเขียนข้อมูล ลงฐานข้อมูล ไปหน้าถัดไป แสดงผลลัพธ์ เส้นเชื่อม ออกทางหน้าจอ รหั ส เที ย ม (Pseudo code) เป็นการเขียนโปรแกรมที่ไม่ขึ้นอยู่กับภาษา ทำาให้โปรแกรมเมอร์สามารถนำา เอา Pseudo code ไปเขียนโปรแกรมเป็นภาษาใด ๆ ตัวอย่างการเขียน Pseudo code สำาหรับโปรแกรมบวกเลขมีดังนี้ Read (A) ทำาการอ่านค่าแรก Read (B) ทำาการอ่านค่าที่สอง C ← Α + Β คำานวณผลรวมไว้ที่ตัวแปรที่สาม Write ( C ) แสดงผลลลัพธ์ ตั ว อย่ า ง Algorithm, Flowchart และ Pseudo code ตั ว อย่ า ง١ จงเขียน Algorithm, Flowchart และ Pseudo code สำาหรับหาพื้นที่ สี่เหลี่ยมผืนผ้า โดยรับขนาดความกว้างและความยาวของสี่เหลี่ยมผ่านทาง คีย์บอร์ดแล้วแสดงผลทางหน้าจอ Flowchart Algorithm ١. รับค่าความสูงของสี่เหลี่ยนผ่านทางคีย์บอร์ด ٢. รับค่าความกว้างของสี่เหลี่ยนมผ่านทางเคีย์บอร์ด ٣. คำานวนค่าพื้นที่เก็บไว้ที่ตัวแปรพื้นที่ = ฐาน * สูง ٤. แสดงพื้นที่ที่ได้ผ่านทางหน้าจอ Pseudo code Read (ความสูง) Read (ความกว้าง) พื้นที่ ← ความสูง * ความกว้าง Write ( พื้นที่ )
  • 8. เ ริ่ ม ต้ น รั บ ค่ า ค ว า ม สู ง รั บ ค่ า ค ว า ม ก ว้ า ง พื้ น ที่ = สู ง * ก ว้ า ง พื้ น ที่ จบ ตั ว อย่ า ง ٢ จงเขียน Algorithm, Flowchart และ Pseudo code เพื่อหาพื้นที่สาม เหลียมโดยรับค่าต่าง ๆ ผ่านทางคีย์บอร์ดและแสดงผลทางด้านหน้าจอ ในตัวอย่างนี้โจทย์ไม่ได้ระบุว่าค่าที่รับมาเป็นอะไร ค่าที่จะรับนั้นเป็น อะไรก็ขึ้นอยู่กับสูตรที่เราจะใช้ ตัวอย่างของสูตรหาพื้นที่สามเหลี่ยม ดัง แสดงข้างล่างนี้ ในที่นี้ขอเลือกใช้สูตรที่ ٣ สูตรที่ ١ สูตรที่ ٢ a ½ * ฐาน * สูง ½ * a * b * sin θ สูง θ ฐาน b สูตรที่ ٣ a c s ( s − a )( s − b )( s − c ) a +b +c s = b 2 Flowchart Algorithm ١. รับค่า a,b และ c ผ่านทางคีย์บอร์ด a +b +c ٢. ทำาการคำานวณหาค่า s ตามสูตร s = 2 ٣. ทำาการหาค่าพื้นที่ตามสูตร พื้นที่ = s ( s − a )( s − b )( s − c ) ٤. แสดงผลพื้นที่ทางหน้าจอ Pseudo code Read ( a,b,c )
  • 9. เ ริ่ ม ต้ น S ← (a + b + c) / 2 พื้นที่ ← root( s * (s-a) * (s-b) * (s-c) ) Write ( พื้นที่ ) รั บ ค่ า a , b แ ล ะ c a +b +c s = 2 s ( s − a )( s − b )( s − c ) แ ส ด ง ค่ า S จ บ ก า ร ทำา ง า น ตั ว อย่ า ง ٣ จงเขียน Algorithm, Flowchart และ Pseudo code เพื่อตัวคะแนน แบบอิงเกณฑ์โดยมีเกณฑ์การให้คะแนนดังนี้ ได้คะแนน 0 - 49 เกรดที่ได้คือ F ได้คะแนน 70 - 79 เกรดที่ได้ คือ B ได้คะแนน 50 - 59 เกรดที่ได้คือ D ได้คะแนน 80 - 100 เกรดที่ได้ คือ A ได้คะแนน 60 - 69 เกรดที่ได้คือ C โดยรับคะแนนผ่านทางคีย์บอร์ดและแสดงผลการตัดเกรดทาง Printer
  • 10. Flowchart Algorithm ١. รับคะแนนที่ต้องการหาเกรดผ่านทางคีย์บอร์ด เ ริ่ ม ต้ น ٢. ถ้าคะแนนตำ่ากว่า ٥٠ เกรดคือ F แล้วไปข้อ ٧ ٣. ถ้าคะแนนระหว่าง ٥٩ - ٥٠ เกรดคือ D แล้วไป ข้อ ٧ รั บ ค ะ แ น น ٤. ถ้าคะแนนระหว่าง ٦٩ - ٦٠ เกรดคือ C แล้วไป ข้อ ٧ ٥. ถ้าคะแนนระหว่าง ٧٩ - ٧٠ เกรดคือ B แล้วไป ค ะแ น น < 50 Yes เก รด = F ข้อ ٧ ٦. เกรดที่ได้คือ A No ٧. พิมพ์เกรดทางเครื่องพิมพ์ ค ะ แ น น ร ะ ห ว่ า ง Pseudo code 50 - 59 Yes เก รด = D Read (คะแนน ) If คะแนน < 50 then เกรด ← F No Elseif ( 50 <= คะแนน ) and ( คะแนน < 59 ) then เกรด ← D ค ะ แ น น ร ะ ห ว่ า ง Yes เก รด = C Elseif ( 60 <= คะแนน ) and ( คะแนน < 69 ) then 60 - 69 เกรด ← C Elseif ( 70 <= คะแนน ) and ( คะแนน < 79 ) then No เกรด ← B ค ะ แ น น ร ะ ห ว่ า ง Else เกรด ← A Yes เก รด = B End if 70 - 79 Print (เกรด) No เก รด = A พิ ม พ์ เ ก ร ด จ บ ก า ร ทำา ง า น
  • 11. ตั ว อย่ า งที ่ ٤ จงเขียนโปรแกรมบวกเลขจำานวนเต็มตั้งแต่ ١ ถึง ١٠٠ แล้ว แสดงผลลัพธ์ทางหน้าจอ Flowchart 1 Algorithm 1 ١. กำาหนดตัวแปรสำาหรับนับค่าให้ชื่อว่า i มีค่าเริ่ม เ ริ่ ม ต้ น ต้นเป็น ١ ٢. กำาหนดตัวแปรเก็บผลลัพธ์ชื่อว่า y มีค่าเริ่มต้น i= 1 y = 0 เป็น ٠ ٣. ดูว่า i มีค่ามากกว่า ١٠٠ หรือยัง ถ้ายังไม่ถึงให้ทำา ข้อ ٤ ถ้าถึงแล้วให้ทำาข้อ ٧ i> 100 ٤. y = y + i ٥. เพิ่มค่าตัวนับขึ้นอีกหนึ่ง (i = i + ١ ) No ٦. กลับไปทำาข้อ ٣ y = y + i ٧. แสดงค่า y ทางจอภาพ i= i+ 1 Yes Pseudo code 1 i←١ พิ ม พ์ y y←٠ Repeat while i <= ١٠٠ y←y+i เ ริ่ ม ต้ น i ←i +١ End repeat Print ( i ) Flowchart Algorithm 2 n n (n + 1) เ ริ่ ม ต้ น จากสูตรคณิตศาสตร์ที่ว่า ∑x i =1 i = 2 ดังนั้น ถ้ากำาหนดค่า n = 100 ก็สามารถหาผลรวมตั้งแต่ ١ n = 100 ถึง ١٠٠ ได้ ١. กำาหนดค่า n = 100 n (n + 1) ผ รวม = ล n ( n + 1) ٢. แทนค่าในสูตร ผลรวม = 2 2 ٣. พิมพ์ค่าผลรวม พิ ม พ์ ผ ล ร ว ม Pseudo code ٢ n ← ١٠٠ n (n + 1) เ ริ่ ม ต้ น ผลรวม ← 2 Print (ผลรวม) จากตัวอย่างนี้จะเห็นได้ว่า Algorithm ทีต่างกันจะส่งผลต่อความเร็วของการ ่ ทำางานโปรแกรม จะเห็นได้ชัดว่าโปรแกรมที่เขียนขึ้นจาก Algorithm 2 เขียน ง่ายกว่าและทำางานเร็วกว่าโปรแกรมที่เขียนขึ้นจาก Algorithm 1
  • 12. คำ า ถาม 1. จงอธิบายว่า Algorithm, Flowchart และ Pseudo code คืออะไร 2. จงเขียน Algorithm, Flowchart และ Pseudo code สำาหรับหาพื้นที่สามเหลี่ยม ของอีกสองสูตรที่เหลือในตัวอย่างที่ ٢ พร้อมทั้งแสดงผลลัพธ์ทางหน้าจอ 3. จงเขียน Algorithm, Flowchart และ Pseudo code สำาหรับหาพื้นที่และความ ยาวเส้นรอบวงของวงกลม พร้อมทั้งแสดงผลลัพธ์ทางหน้าจอ 4. จากสูตรการหาผลรวมของตัวต้านทานที่ต่อแบบขนานสามตัวดังนี้ 1 1 1 1 = + + R รวม R1 R 2 R 3 จงเขียน Algorithm, Flowchart และ Pseudo code เพื่อหาค่า R รวม โดยรับค่า R1 R2 และ R3 ทางคีย์บอร์ดพร้อมทั้งแสดงผลลัพธ์ทางหน้าจอ 5. จงเขียน Algorithm, Flowchart และ Pseudo code หาผลรวมตั้งแต่ ١٠١ ถึง ٢ ٠٠ พร้อมทั้งแสดงผลลัพธ์ทางหน้าจอ 6. จงเขียน Algorithm, Flowchart และ Pseudo code สำาหรับหาค่าสูงสุดและตำ่า สุดของจำานวน ١٠ จำานวนที่รับเข้ามาทางคีย์บอร์ดพร้อมทั้งแสดงค่า สูงสุดและตำ่าสุดทางหน้าจอ