วันศุกร์ที่ 21 กุมภาพันธ์ พ.ศ. 2563

ภาษาคอมพิวเตอร์

 ภาษาคอมพิวเตอร์
    ภาษาเป็นตัวแทนการสื่อสารระหว่าง 2 สิ่ง หรือหลายๆ สิ่ง เพื่อให้เกิดความหมายและความเข้าใจตรงกัน เช่น มนุษย์ใช้ค่าพูดสื่อสารกันก็ถือว่าค่าพูดนั้นเป็นภาษา หรืออาจใช้มือในการสื่อสารระหว่างคนที่เป็นใบ้พูดไม่ได้
            1.1 ความหมาย
                ภาษาคอมพิวเตอร์ หมายถึง ภาษาที่ใช้กับเครื่องคอมพิวเตอร์ หรือใช้เพื่อสื่อสารให้คอมพิวเตอร์เข้าใจ และสามารถปฏิบัติตามคำสั่งได้ ในทางคอมพิวเตอร์นั้น    ก็ต้องทำการพัฒนาภาษาที่จะสื่อสารระหว่างมนุษย์กับเครื่องคอมพิวเตอร์ แต่ด้วยเหตุที่เครื่องคอมพิวเตอร์เป็นอุปกรณ์อิเล็กทรอนิกส์ ซึ่งมีเฉพาะวงจรการเปิดและปิดทำให้เครื่องคอมพิวเตอร์สื่อสารโดยใช้เลขฐานสองเท่านั้น เรียกภาษาที่ใช้เฉพาะเลขฐานสองในคอมพิวเตอร์ว่าภาษาเครื่อง (Machine Language) การที่มนุษย์จะเรียนรู้ภาษาเครื่องนั้นยากมากเพราะนอกจากจะต้องศึกษาถึงอุปกรณ์นั้นอีกด้วย ซึ่งจะทำให้การใช้งานคอมพิวเตอร์เป็นเรื่องยุ่งยากจึงมีผู้คิดค้นภาษาคอมพิวเตอร์ขึ้น เพื่อทำหน้าที่ในการติดต่อสื่อสารระหว่างเครื่องคอมพิวเตอร์กับมนุษย์โดยผู้ใช้จะสามารถติดต่อกับเครื่องคอมพิวเตอร์โดยผ่านทางภาษาคอมพิวเตอร์ (Computer Programming Language)
            1.2 ชนิดของภาษาคอมพิวเตอร์
                จากการที่มีภาษาจำนวนมากมายนั้น ทำให้ต้องกำหนดระดับของภาษาคอมพิวเตอร์เพื่อช่วยในการแบ่งประเภทของภาษาเหล่านั้น การกำหนดว่าเป็นภาษาระดับต่ำหรือภาษาระดับสูงจะขึ้นอยู่กับภาษานั้นใกล้เคียงกับภาษาเครื่องคอมพิวเตอร์ (ใกล้เคียงกับรหัส 0 และ 1 เรียกว่า ภาษาระดับต่ำ) หรือว่าใกล้เคียงกับภาษาที่มนุษย์ใช้ (ใกล้เคียงกับภาษาอังกฤษเรียกว่า ภาษาระดับสูง)

ภาษาระดับต่ำ (Low Level Language) ได้แก่
                1.1 ภาษาครื่อง (Machine Language) เป็นภาษาระดับต่ำที่สุดเพราะใช้เลขฐานสองแทนข้อมูล   (0 และ1)และคำสั่งต่างๆทำให้การเขียนโปรแกรมยุ่งยากมาก
  
     ตัวอย่างที่ 1 แสดงคำสั่งของภาษาเครื่องมีดังนี้
              ถ้าเราต้องการสั่งให้เครื่องทำงานตามคำสั่ง 9 + 3 แสดงได้ดังนี้
                         การบวกแทนด้วยรหัส 10101010
                        เลข 9 เปลี่ยนเป็นเลขฐานสอง 00001001
                        เลข 3 เปลี่ยนเป็นเลขฐานสอง 00000011
                        ดังนั้น คำสั่ง 9 + 3 เขียนเป็นภาษาเครื่องได้ดังนี้
                           00001001 10101010 00000011 ---------> ภาษาเครื่อง
                             9 + 3 --------> ภาษามนุษย์และภาษาคอมพิวเตอร์

                1.2 ภาษาแอสเซมบลี (Assembly Language) ภาษาแอสเซมบลีใช้รหัสเป็นคำแทนคำสั่งภาษาเครื่อง ทำให้นักเขียนโปรแกรมสามารถเขียนโปรแกรมได้ง่ายขึ้น คือ ใช้สัญลักษณ์แทนเลข 0 และ 1  ของภาษาเครื่อง ซึ่งสัญลักษณ์ที่ใช้จะเป็นคำสั่งสั้นๆ ทำให้การเขียนโปรแกรมง่ายขึ้นกว่าภาษาเครื่อง แต่ก็ยังคงยุ่งยากมากในการจำคำสั่งทั้งหมด
                   ตัวอย่างที่ 2 แสดงค่าสั่งของภาษาแอสเซมบลีมีดังนี้
                      ถ้าเราต้องการสั่งให้เครื่องท่างานตามค่าสั่ง 9 + 3 แสดงได้ดังนี้
                                                MOV AX, 9
                                                MOV BX, 3
                                                ADD AX, BX

2. ภาษาระดับสูง (High Level Language)
                ภาษาระดับสูงจะใช้คำในภาษาอังกฤษแทนคำสั่งต่างๆ รวมทั้งสามารถใช้นิพจน์ทางคณิตศาสตร์ได้ด้วย ทำให้นักเขียนโปรแกรมสามารถใช้เวลามุ่งไปในการศึกษาถึงทางแก้ปัญหาเท่านั้น ไม่ต้องเป็นกังวลว่าคอมพิวเตอร์จะทำงานอย่างไรอีกต่อไป  ภาษาระดับสูงนี้ถือว่าเป็นภาษายุคที่สาม (third-generation language) ซึ่งทำให้เกิดการประมวลผลข้อมูลเพิ่มมากขึ้น และมีผู้หันมาใช้คอมพิวเตอร์กันมากขึ้น
3. ภาษาระดับสูงมาก (Very high-level Language)
                เป็นภาษายุคที่ 4 (fourth-generation language) หรือ 4GLs จะเป็นภาษาที่ใช้เขียนโปรแกรมได้สั้นกว่าภาษาในยุคก่อนๆการทำงานบางอย่างสามารถใช้เพียง 5 ถึง 10 บรรทัดเท่านั้น ในขณะที่ถ้าเขียนด้วยภาษาอาจต้องใช้ถึง 100 บรรทัดโดยพื้นฐานแล้วภาษาในยุคที่ 4 นี้มีคุณสมบัติที่แยกจากภาษายุคก่อนๆ อย่างชัดเจน กล่าวคือ ผู้เขียนโปรแกรมเพียงแต่กำหนดว่าต้องการให้โปรแกรมทำอะไรบ้าง ก็สามารถเขียนโปรแกรมได้ทันที โดยไม่ต้องทราบว่าทำได้อย่างไร ทำให้การเขียนโปรแกรมสามารถทำได้ง่ายและรวดเร็ว ภาษาในยุคที่ 4 นี้ยังมีภาษาที่ใช้สำหรับเรียกดูข้อมูลจากฐานข้อมูลได้เรียกว่าภาษาเรียกค้นข้อมูล (query language) การแสดงรายงานจากฐานข้อมูลภาษาเรียกค้นข้อมูลที่เป็นมาตรฐานเรียกว่า SQL (Structured Query Language)
4. ภาษาธรรมชาติ (Nature Language)
                เป็นภาษายุคที่ 5 (fifth generation language) หรือ 5GLs ธรรมชาติ หมายถึง ธรรมชาติของมนุษย์ คือ ไม่ต้องสนใจถึงคำสั่งหรือลำดับของข้อมูลที่ถูกต้อง ผู้ใช้เพียงแต่พิมพ์สิ่งที่ต้องการลงในเครื่องคอมพิวเตอร์เป็นคำหรือประโยคตามที่ผู้ใช้เข้าใจ ซึ่งจะทำให้มีรูปแบบของคำสั่งหรือประโยคที่แตกต่างกันออกไปได้มากมาย เพราะผู้ใช้แต่ละคนอาจจะใช้ประโยคต่างกันใช้คำศัพท์ต่างกันหรือแม้กระทั่งบางคนอาจจะใช้ศัพท์แสลงก็ได้ คอมพิวเตอร์จะพยายามแปลคำหรือประโยคเหล่านั้นตามคำสั่งแต่ถ้าไม่สามารถแปลให้เข้าใจได้ ก็จะมีคำถามกลับมาถามผู้ใช้ เพื่อยืนยันความถูกต้องภาษาธรรมชาติจะใช้ระบบฐานความรู้ (knowledge base system) ช่วยในการแปลความหมายของคำสั่งต่างๆ
5. ภาษาโปรแกรมเชิงวัตถุ (Object-Oriented Programming Language)
                นักเขียนโปรแกรมบางคน คิดว่าการเขียนโปรแกรมขนาดใหญ่นั้น บางครั้งก็เป็นงานที่หนักและเสียเวลามาก จึงได้พยายามคิดหาวิธีที่จะทำให้การเขียนโปรแกรมนั้นง่ายขึ้น และสามารถเขียนได้อย่างรวดเร็ว ทำให้เกิดเทคนิค โปรแกรมเชิงวัตถุ (Object-Oriented Programming) หรือ OOP เพื่อช่วยลดความยุ่งยากของการเขียนโปรแกรม ภาษาโปรแกรมเชิงวัตถุที่ได้รับความนิยมสูงได้แก่ JAVA ,Visual Basic , C++ และ C#

            1.3 การเลือกใช้ภาษาคอมพิวเตอร์
                เนื่องจากในปัจจุบัน ทุกๆปี จะมีภาษาคอมพิวเตอร์เกิดขึ้นมากมาย และภาษาต่างๆ จะมีจุดดีและจุดด้อยแตกต่างกันไป ผู้ใช้จึงจำเป็นต้องทำการคัดเลือกภาษาที่จะนำมาใช้งานอย่างระมัดระวังเนื่องจากเมื่อศึกษาและพัฒนาซอฟต์แวร์ด้วยภาษาใดภาษาหนึ่งแล้ว การเปลี่ยนไปใช้ภาษาอื่นในภายหลังจะเป็นเรื่องที่ยากลำบากอย่างยิ่งทั้งในเรื่องของค่าใช้จ่ายและเวลาที่ต้องสูญเสียไป รวมทั้งปัญหาของบุคลากรที่ต้องศึกษาหาความชำนาญใหม่อีกด้วย
                ในการเลือกภาษาคอมพิวเตอร์ที่จะนำมาใช้สิ่งที่ควรพิจารณาคือ
                1. ในหน่วยงานหนึ่งๆควรจะใช้ภาษาคอมพิวเตอร์ภาษาเดียวกัน เพราะการดูแลรักษาซอฟต์แวร์ที่พัฒนาขึ้นตลอดจนการจัดหาบุคลากรจะกระทำให้ง่ายกว่า
                2. ในการเลือกภาษาควรเลือกโดยดูจากคุณสมบัติหรือข้อดีของภาษานั้นๆ เป็นหลัก
                3. ถ้าโปรแกรมที่เขียนขึ้นนั้นต้องนำไปทำงานบนเครื่องต่างๆกัน ควรเลือกภาษาที่สามารถใช้งานได้ บนทุกเครื่องเพราะจะทำให้เขียนโปรแกรมเพียงครั้งเดียวเท่านั้น
                4. ผู้ใช้ควรจำกัดภาษาคอมพิวเตอร์ที่จะใช้ ไม่ควรติดตั้งตัวแปลภาษาคอมพิวเตอร์ทุกภาษาบนเครื่อง ทุกเครื่อง
                5. ภาษาคอมพิวเตอร์ที่เลือกใช้จะถูกจำกัดโดยนักเขียนโปรแกรมที่มีอยู่ ดังนั้นควรใช้ภาษาที่มีผู้รู้อยู่บ้าง

 ตารางแสดงตัวอย่างภาษาคอมพิวเตอร์และการใช้งาน

               
ภาษาคอมพิวเตอร์
การใช้งาน
BASIC
เพื่อใช้สอนวิชาการเขียนโปรแกรม สำหรับผู้เริ่มศึกษาการเขียนโปรแกรมภาษาคอมพิวเตอร์
COBOL
เป็นภาษาสำหรับใช้ในงานธุรกิจบนเครื่องขนาดใหญ่
FORTRAN
เป็นภาษาระดับสูงภาษาแรกของโลกใช้สำหรับงานด้านคณิตศาสตร์วิทยาศาสตร์ วิศวกรรมศาสตร์ที่ต้องการการคำนวณมากๆ
Pascal
เป็นภาษาที่ใช้พัฒนาโปรแกรมบนระบบปฏิบัติการ DOS
C
เป็นภาษาระดับสูง ใช้สอนวิชาการเขียนโปรแกรมสำหรับผู้เริ่มศึกษาการเขียนโปรแกรมภาษาคอมพิวเตอร์
C++
เป็นภาษาระดับสูงที่เข้าใจง่าย ใช้สำหรับเขียนโปรแกรมแบบ OOP
C#
เป็นภาษาระดับสูงสำหรับผู้ผลิตซอฟต์แวร์แบบ OOP
LOGO
นิยมใช้ในการเขียนโปรแกรมควบคุมหุ่นยนต์ โดยเฉพาะในโรงเรียนเพื่อสอนทักษะ การแก้ปัญหาให้กับนักเรียน
Action script
เป็นภาษาระดับสูงที่นิยมนำมาสร้างเกม สื่อ หรือแอพสำหรับใช้ในแท็บเล็ต และโทรศัพท์มือถือ
PHP
เป็นภาษาระดับสูงที่ใช้ในการพัฒนาเว็บไซต์ โดยเฉพาะเว็บไซต์ที่ต้องติดต่อฐานข้อมูล
HTML
เป็นภาษาที่ใช้ในการพัฒนาเว็บไซต์พื้นฐาน
JAVA
เป็นภาษาระดับสูง ใช้สำหรับเขียนโปรแกรมได้อย่างหลากหลายระบบปฏิบัติการ  โดยเฉพาะการเขียนแบบ OOP


วันพฤหัสบดีที่ 20 กุมภาพันธ์ พ.ศ. 2563

การควบคุมโครงสร้างการเขียนโปรแกรม

การควบคุมโครงสร้างการเขียนโปรแกรม
 Control Structure


        โปรแกรมทุกโปรแกรมสามารถเขียนขึ้นได้โดยใช้โครงสร้างมาทำการควบคุมเพียง 3 ชนิดเท่านั้น คือ

    

    โครงสร้างตามลำดับ (Sequence structure)

เป็นโครงสร้างของคำสั่งที่คอมพิวเตอร์จะทำงานไปตามลำดับที่เขียนไว้ ถ้าไม่ได้เปลี่ยนขั้นตอนการทำงานหรือมีเงื่อนไขเพิ่มเติม

   โครงสร้างทางเลือก (Selection structure)

โครงสร้างแบบทางเลือก if คือ โครงสร้างสำหรับใช้เลือกทำคำสั่ง (หรือกลุ่มคำสั่ง) โดยอาศัยการตรวจสอบเงื่อนไข  ซึ่งมี 3 รูปแบบคือ

1. หนึ่งทางเลือก (One Alternative)

โครงสร้างแบบนี้ จะเลือกทำคำสั่ง (หรือกลุ่มคำสั่ง) ก็ต่อเมื่อ ตรวจสอบเงื่อนไขแล้วเป็นจริง


2. สองทางเลือก (Two Alternative)

โครงสร้างแบบนี้มีสองทางเลือก กล่าวคือ เลือกทำคำสั่ง (หรือกลุ่มคำสั่ง) เมื่อตรวจสอบเงื่อนไขแล้วเป็น

จริง หรือ (ทำคำสั่ง (หรือกลุ่มคำสั่ง) เมื่อตรวจสอบเงื่อนไขแล้วเป็นเท็จ



3. หลายทางเลือก (Multiple-Alternative)

      ตรวจสอบเงื่อนไข ถ้าเป็นจริงทำตามคำสั่งฝั่งด้าน true ถ้าเป็นเท็จ ทำคำสั่งด้าน false และตรวจสอบเงื่อนไขของ if ตัวใหม่


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


1.โครงสร้างแบบการทำซ้ำ while

เป็นโครงสร้างที่ใช้ในการทำซ้ำคำสั่งต่าง ๆ โดยจะมีการตรวจสอบเงื่อนไข ซึ่ง
◦กรณีที่ผลลัพธ์ของเงื่อนไขไม่เท่ากับศูนย์ (จริง)  จะทำคำสั่งหรือกลุ่มคำสั่งในแต่ละรอบ
◦ส่วนกรณีที่ผลลัพธ์ของเงื่อนไขเท่ากับศูนย์ (เท็จ) จะหยุดทำคำสั่งหรือกลุ่มคำสั่งในรอบ โดยข้ามไปทำคำสั่งถัดไปจากรอบของโครงสร้าง while เลย






2.โครงสร้างแบบการทำซ้ำ do/while


              โครงสร้างแบบการทำซ้ำ while และ for  จะต้องมีการตรวจสอบค่าของเงื่อนไขก่อนว่าเป็นจริงหรือเท็จ  ก่อนที่จะทำคำสั่ง (กลุ่มคำสั่ง) ภายในรอบ  แต่การทำงานบางลักษณะจะต้องทำคำสั่งภายในรอบก่อนอย่างน้อย 1 ครั้ง  ซึ่งการทำงานในลักษณะที่กล่าวนี้สามารถใช้คำสั่ง do-while ได้


3.โครงสร้างแบบการทำซ้ำ for


เป็นโครงสร้างที่ใช้สำหรับทำซ้ำคำสั่ง โดยการทำงานของการทำซ้ำ จะขึ้นอยู่กับองค์ประกอบที่สำคัญ 3 ส่วนคือ

1. ค่าเริ่มต้นของตัวแปรควบคุมการทำซ้ำ
2. ส่วนตรวจสอบเงื่อนไข
3. ส่วนเปลี่ยนแปลงค่าของตัวแปรควบคุมการทำซ้ำ 





ผังงาน

ผังงาน


       ผังงาน (Flowchart) เป็นผังงานที่แสดงให้เห็นถึงแนวคิด และขั้นตอนการทำงานของโปรแกรม
อีกทั้งยังช่วยให้มองเห็นภาพรวมของโปรแกรมทำให้เขียนโปรแกรมได้ง่ายขึ้น การเขียน Flowchart 
นั้นจะใช้สัญลักษณ์ต่าง ๆ แทนคำอธิบายและกระบวนการทำงานของโปรแกรมในแต่ละส่วนตั้งแต่เริ่มแรก จนถึงสิ้นสุดการทำงานของโปรแกรม เพื่อให้ผู้พัฒนาโปรแกรมได้เข้าใจแนวคิด และการทำงานที่ชัดเจนมากที่สุด

ประเภทของผังงาน

       มี 2 ประเภท คือ

          2.1 ผังงานระบบ (System Flowchart) 
              ผังงานที่แสดงการทำงานของระบบซึ่งแสดงภาพรวมของระบบ โดยมีการนำข้อมูลเข้า ประมวลผล และข้อมูลออก โดยแสดงถึงสื่อนำข้อมูลเข้า -ออก แต่ไม่ได้แสดงวิธีการประมวลผล
  การนำข้อมูลเข้า วิธีการประมวลผล และการแสดงผลลัพธ์ (Input – Process - Output) ดังภาพ

         2.2 ผังงานโปรแกรม (Program Flowchart)
             ผังงานที่แสดงการทำงานย่อยหรือลำดับในโปรแกรม ซึ่งแสดงรายละเอียดขั้นตอนการทำงานและประมวลผลโปรแกรมนั้นๆทำให้รู้วิธีการคำนวณรับข้อมูลจากสื่อใด  และประมวลผลอย่างไร รวมถึงการแสดงผลลัพธ์ด้วยสื่อหรือวิธีใด

ตัวอย่าง



สัญลักษณ์ต่างๆ ที่ใช้งานในผังงาน
    การเขียนผังงาน Flowchart นั้นได้มีการกำหนดสัญลักษณ์ที่ใช้งานให้เป็นสากล และเป็นมาตรฐานเดียวกัน โดยการกำหนดมาตรฐานนี้ได้ถูกกำหนดตามแบบของ ANSI (American National Standards Institute) และ ISO (International Standard Organization) เพื่อสื่อความหมาย และให้เกิดความเข้าใจในสัญลักษณ์ที่ใช้ในการเขียนผังงาน Flowchart ทั่วโลก โดยสัญลักษณ์ต่าง ๆ นั้น สามารถแบ่งออกได้เป็นหลายสัญลักษณ์
สัญลักษณ์
ความหมายและการใช้งาน

Terminal
ใช้เริ่มต้นและสิ้นสุดการทำงานของโปรแกรม

Process
ใช้ประมวลผลการทำงานของโปรแกรม

Decision
เพื่อกำหนดทางเลือก หรือตัดสินใจการทำงานของโปรแกรม

Document
ใช้เพื่อแสดงผลลัพธ์ออกทางเครื่องพิมพ์ (Printer)

Input
ใช้เพื่อรับหรือแสดงผลโดยไม่กำหนดชนิดของอุปกรณ์ใน
การทำงาน

Manual input
ใช้เพื่อรับข้อมูลเข้ามาในระบบ เช่น ค่าของตัวแปร

Display
ใช้เพื่อแสดงผลลัพธ์ออกทางจอภาพ (Monitor)

On-Page Reference
ใช้เพื่อเชื่อมต่อการทำงานจากจุดหนึ่งไปยังอีกจุดหนึ่ง

Off-Page Reference
ใช้เพื่อเชื่อมต่อผังงานที่มีความยาวมากกว่า
1 หน้า ให้สามารถเชื่อมโยงกันได้

Connector
ใช้เชื่อมต่อระหว่างสัญลักษณ์หนึ่งไปยังอีกสัญลักษณ์หนึ่ง เพื่อให้ทราบการไหลและทิศทางของข้อมูล


     ประโยชน์ของผังงาน

1. ทำให้มองเห็นภาพของระบบและโปรแกรมได้ทั้งหมด และใช้เวลาในการเข้าใจการทำงานได้เร็วขึ้น 
2. การเขียนผังงานใช้สัญลักษณ์เป็นสากล สามารถนำไปเขียนและสื่อความหมาย ความเข้าใจได้ทุกภาษา 
3. ทำให้ตรวจพบข้อผิดพลาดได้ง่าย และสามารถแก้ไขจุดผิดพลาดได้อย่างรวดเร็ว 
4. หากมีการขยายงานต่อจากผังงานเดิมก็สามารถเพิ่มเติมได้ โดยอาศัยได้ดูผังงานเดิมประกอบ 
จะทำให้เข้าใจได้รวดเร็วกว่าการดูรายละเอียดจากโปรแกรม หรือระบบงานเดิม


ขั้นตอนการพัฒนาโปรแกรม

ขั้นตอนการพัฒนาโปรแกรม


       การเขียนโปรแกรมคอมพิวเตอร์ให้ทำงานได้ตามที่ต้องการนั้น ผู้เขียนโปรแกรมจะต้องรู้ว่าจะให้โปรแกรทำอะไร มีข้อมูลอะไรที่ต้องให้กับโปรแกรมบ้าง และต้องการอะไรจากโปรแกรมรวมทั้งรูปแบบการแสดงผลด้วย โดยทั่วไปแล้วขั้นตอนการพัฒนาโปรแกรมแบ่งได้ดังนี้
  1. กำหนดและวิเคราะห์ปัญหา (Problem Definition and Problem Analysis)
  2. เขียนผังงานและซูโดโค้ด (Pseudocoding)
  3. เขียนโปรแกรม (Programming)
  4. ทดสอบและแก้ไขโปรแกรม (Program Testing and Debugging)
  5. ทำเอกสารและบำรุงรักษาโปรแกรม (Program Documentation and Maintenance)
Picture
1. กำหนดและวิเคราะห์ปัญหา

           ขั้นตอนนี้เป็นขั้นตอนแรกสุดที่นักเขียนโปรแกรมจะต้องทำ การให้คอมพิวเตอร์แก้ปัญหาต่างๆ ให้เรานั้น เราจะต้องมีแนวทางที่แก้ไขปัญหาที่เหมาะสมให้กับคอมพิวเตอร์ เพื่อให้การทำงานเป็นไปอย่างมีประสิทธิภาพ โดยมีขั้นตอนย่อยๆ ดังนี้

  1. กำหนดขอบเขตของปัญหา โดยกำหนดรายละเอียดให้ชัดเจนว่าจะให้คอมพิวเตอร์ทำอะไร ตัวแปรค่าคงที่ที่ต้องใช้เป้นลักษณะใด ถ้าหากเราไม่กำหนดขอบเขตของปัญหาจะทำให้คอมพิวเตอร์ตัดสินได้ยากว่าข้อมูลต่างๆ ที่เกิดขั้นนั้นถูกหรือผิด
  2. กำหนดลักษณะของข้อมูลเข้าและออกจากระบบ (Input/Output Specification) โดยต้องรู้ว่าข้อมูลที่จะส่งเข้าไปเป็นอย่างไร เพื่อให้โปรแกรมทำการประมวลผล และแสดงผลลัพธ์ เช่น การรับค่าจากคีย์บอร์ด การใช้เมาส์ การกำหนดปุ่มต่างๆ ลักษณะการแสดงผลทางหน้าจอ ว่าจะให้มีรูปร่างอย่างไร โดยคำนึงถึงผู้ใช้เป็นหลักในการออกแบบโปรแกรม
  3. กำหนดวิธีการประมวลผล (Processing Specification) ดดยต้องรู้ว่าจะให้คอมพิวเตอร์ทำการประมวลผลอย่างไร จึงได้ผลลัพธ์ตามต้องการ

2. เขียนผังงานและซูโดโค้ด

           หลังจากที่ได้วิเคราะห์ปัญหาแล้ว ขั้นตอนต่อไปจะต้องใช้เครื่องมือที่ช่วยในการออกแบบโปรแกรม ซึ่งยังไม่ได้เป็นโปรแกรมจริง ๆ แต่จะช่วยให้เขียนโปรแกรมได้ง่ายขึ้น และทำให้ผู้อื่นนำโปรแกรมไปพัฒนาต่อได้ง่ายขึ้น โดยเขียนเป็นลำดับขั้นตอนการทำงานของโปรแกรม ที่เรียกว่า อัลกอริทึม (Algorithm) ซึ่งจะแสดงขั้นตอนการแก้ปัญหา โดยใช้ประโยคที่ชัดเจนไม่คลุมเครือ และมีรายละเอียดการทำงานพอสมควรเพียงพอที่จะนำไปเขียนเป็นโปรแกรมให้ทำงานจริง โดยอัลกอริทึมนั้น อาจเขียนให้อยู่ในรูปของรหัสลำลองหรือซูโดโค้ด (Pseudocode) หรือผังงาน (Flowchart) ก็ได้ โดยซูโดโค้ด จะเป็นคำอธิบายขั้นตอนการทำงานของโปรแกรม เป็นคำย่อไม่มีรูปแบบเฉพาะตัว โดยแต่ละส่วนจะเป็นแนวทางในการเขียนโปรแกรม ซึ่งทำให้เขียนโปรแกรมเป็นภาษาต่าง ๆ ได้ง่ายขึ้น ส่วนผังงาน จะใช้สัญลักษณ์ต่าง ๆ แทนการทำงานและทิศทางของโปรแกรม

3. เขียนโปรแกรม

           ขั้นตอนนี้เป็นการเขียนโปรแกรมเพื่อให้คอมพิวเตอร์สามารถประมวลผลได้ โดยเปลี่ยนขั้นตอนการทำงานให้อยู่ในรูปรหัสภาษาคอมพิวเตอร์ การเขียนโปรแกรมจะต้องเขียนตามภาษาที่คอมพิวเตอร์เข้าใจได้โดยอาจใช้ภาษาระดับสูง หรือภาษาระดับต่ำ ซึ่งเลือกได้หลายภาษา การเขียนโปรแกรมแต่ละภาษาจะต้องทำตามหลักไวยากรณ์ (syntax) ที่กำหนดไว้ในภาษานั้น นอกจากนี้การเลือกใช้ภาษาจะต้องพิจารณาถึงความถนัดของผู้เขียนโปรแกรมอีกด้วย

4. ทดสอบและแก้ไขโปรแกรม

           หลังจากเขียนโปรแกรมจะต้องทดสอบความถูกต้องของโปรแกรมที่เขียนขึ้น หาจุดผิดพลาดของโปรแกรมว่ามีหรือไม่ และตรวจสอบจนไม่พบที่ผิด จุดผิดพลาดของโปรแกรมนี้ เรียกว่า บัก (Bug) ส่วนการแก้ไขข้อผิดพลาดให้ถูกต้องเรียกว่า ดีบัก (Debug) โดยทั่วไปแล้วข้อผิดพลาดจากการเขียนโปรแกรมจะมีสองประเภท คือ

  1. การเขียนคำสั่งไม่ถูกต้องตามหลักการเขียนโปรแกรมภาษานั้น ๆ ซึ่งเรียกว่า Syntax Error หรือ Coding Error ข้อผิดพลาดประเภทนี้เรามักพบตอนแปลภาษาโปรแกรมเป็นรหัสภาษาเครื่อง
  2. ข้อผิดพลาดทางตรรกะ หรือ Logic Error เป็นข้อผิดพลาดที่โปรแกรมทำงานได้ แต่ผลลัพธ์ออกมาไม่ถูกต้อง

5. ทำเอกสารและบำรุงรักษาโปรแกรม

           ขั้นตอนนี้จะทำให้ผู้ใช้สามารถใช้งานโปรแกรมได้อย่างมีประสิทธิภาพ และสะดวกในการตรวจสอบข้อผิดพลาด โดยเขียนเป็นเอกสารประกอบโปรแกรมขึ้นมา โดยทั่วไปแล้วแบ่งออกเป็น 2 ประเภท คือ

  1. คู่มือการใช้ หรือ User Document หรือ User Guide ซึ่งจะอธิบายการใช้โปรแกรม
  2. คู่มือโปรแกรมเมอร์ หรือ Program Document หรือ Technical Reference ซึ่งจะอำนวยความสะดวกในการแก้ไขโปรแกรม และพัฒนาโปรแกรมในอนาคต โดยจะมีรายละเอียดต่าง ๆ เกี่ยวกับโปรแกรม เช่น ชื่อโปรแกรม การรับข้อมูล การพิมพ์ผลลัพธ์ขั้นตอนต่างๆ ในโปรแกรม เป็นต้น


        ส่วนการบำรุงรักษาโปรแกรม (Maintenance) ที่ผู้เขียนโปรแกรมจะต้องคอยตรวจสอบการใช้โปรแกรมจริง เพื่อแก้ไขข้อผิดพลาดที่อาจเกิดขึ้นในภายหลัง รวมทั้งการพัฒนาโปรแกรมให้ทันสมัยอยู่เสมอเมื่อเวลาผ่านไป

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

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

         ปัจจุบันคอมพิวเตอร์เข้ามาเกี่ยวข้องและมีบทบาทกับชีวิตประจำวัน แต่คอมพิวเตอร์ไม่สามารถทำงานได้หากไม่มีคำสั่ง ผู้เขียนโปรแกรมจึงต้องเขียนคำสั่งให้คอมพิวเตอร์ทำงาน เพื่อให้ได้ผลลัพท์ตามที่ต้องการ ดังนั้นการเรียนรู้เกี่ยวกับวิธีการเขียนโปรแกรม เพื่อเป็นพื้นฐานที่จะทำความเข้าใจและสามารถเขียนโปรแกรม เพื่อสั่งงานให้คอมพิวเตอร์ทำงานตามต้องการได้โดยจะต้องมี  การวิเคราะห์ผลลัพธ์     การวิเคราะห์ข้อมูล    การวิเคราะห์ตัวแปรและการวิเคราะห์วิธีการ 
      
  สำหรับแนวคิดในการเขียนโปรแกรมนั้น  สามารถแบ่งออกเป็น 2 รูปแบบ คือ

       1.การเขียนโปรแกรมเชิงโครงสร้าง

        แนวคิดนี้เป็นการจัดการคำสั่งต่างๆ ให้มีรูปแบบและมาตรฐานที่สามารถเขียนโปรแกรมได้ง่าย อีกทั้งยังตรวจสอบการทำงานของโปรแกรมได้โดยไม่ยุ่งยาก และง่ายต่อการปรับปรุงในอนาคต ซึ่งมีโครงสร้างการควบคุม          พื้นฐาน 3 รูปแบบ คือ

            1.1.โครงสร้างแบบเป็นลำดับขั้นตอน 
        
                    ประกอบด้วยคำสั่งหรือชุดคำสั่งไม่มีเงื่อนไข ไม่มีการตัดสินใจ มีทางเข้าทางเดียวและมีทางออก ทางเดียว ดำเนินการแบบเรียงลำดับต่อเนื่อง โดยแต่ละขั้นตอนมีการดำเนินงานเพียงครั้งเดียว
การทำงานแบบลำดับขั้นตอน
        
                1.2.โครงสร้างแบบมีทางเลือกในการตัดสินใจเลือกทางใดทางหนึ่ง
                    
                        เป็นโครงสร้างที่มีเงื่อนไข และมีการตรวจสอบเงื่อนไข ว่าเป็นค่าจริงหรือค่าเท็จแล้วดำเนินงานตามคำสั่งที่เป็นไปตามเงื่อนไขที่กำหนด



การทำงานแบบตัดสินใจเลือกทางใดทางหนึ่ง


               1.3.โครงสร้างแบบทำซ้ำ 
    
                     เป็นการทำงานในลักษณะวนซ้ำหลายๆ รอบ  โดยจะหลุดออกจากเงื่อนไขก็ต่อเมื่อเงื่อนไขตรงตามกำหนดไว้





การทำงานแบบทำซ้ำ


        2.การเขียนโปรแกรมเชิงวัตถุ
            แนวคิดเชิงวัตถุตั้งอยู่บนพื้นฐานการแจกแจงรายละเอียดของปัญหา ในการเขียนโปรแกรมเพื่อให้เป็นไปตามหลักการเชิงวัตถุนั้น ต้องพยายามมองรูปแบบวัตถุให้ออก การทำความเข้าใจถึงหลักการเขียนโปรแกรมเชิงวัตถุต้องอาศัยจินตนาการพอสมควร ซึ่งจะมองวัตถุหนึ่งๆ เป็นแหล่งรวมของข้อมูลและกระบวนการเข้าไว้ด้วยกัน โดยจะมีคลาส เป็นตัวกำหนดคุณสมบัติของวัตถุ และคลาสจะสามารถสืบทอดคุณสมบัติ ไปยังคลาสย่อยต่างๆ ที่เรียกว่า Subclass ได้ด้วยคุณสมบัติดังกล่าวจำทำให้เกิดการนำมาใช้ใหม่ ที่ทำให้ลดขั้นตอนการพัฒนาโปรแกรมลงได้ โดยเฉพาะโปรแกรมขนาดใหญ่ที่มีความซับซ้อนสูง