วันพฤหัสบดีที่ 18 ธันวาคม พ.ศ. 2557

หลักการเขียนโปรแกรม

หลักการเขียนโปรแกรม

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

ทำความเข้าใจและวิเคราะห์ปัญหา

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


กำหนดแผนในการแก้ปัญหา

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


                 สัญลักษณ์                                                           ความหมาย
                                                          เริ่มต้นทำงาน

                                                    กำหนดค่าหรือประมวลผล

                                                       รับข้อมูลและแสดงผลข้อมูล

                                                         รับข้อมูลทางแป้นพิมพ์

                                                  การตัดสินใจ

                                                    ใช้แสดงผลข้อมูลทางจอภาพ

                                                         ใช้แสดงผลข้อมูลออกทางเอกสาร

                                                                       ทิศทางการดำเนินงาน

                                                                   ตัวเชื่อมต่อภายในหน้าเดียวกัน

                                                                    ตัวเชื่อมต่อไปหน้าอื่น


เขียนโปรแกรมตามแผนที่กำหนด

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

ทดสอบและตรวจสอบความถูกต้อง

          หลังจากขียนโปรแกรมเสร็จแล้วให้ทดลองคอมไพล์โปรแกรมว่ามีจุดผิดพลาดที่ใดบ้าง ในภาษาซีการคอมไพล์ โปรแกรมจะใช้วิธีการกดปุ่ม Alt + F9 ในกรณีที่ มีข้อผิดพลาดจะแสดงในช่องด้านล่างของหน้าจอเอดิเตอร์ ในส่วนของกรอบ message ให้อ่านทำความเข้าใจ และแก้ไขตามที่โปรแกรมแจ้งข้อมูลผิดพลาด เมื่อเสร็จแล้วให้ทดลองรันโปรแกรม


นำโปรแกรมที่ผ่านการทดสอบไปใช้งาน

          ถ้าหากรันโปรแกรมแล้วใช้งานได้แสดงว่าจะได้ไฟล์ที่มีส่วนขยายเป็น EXE เพื่อนำไปทดสอบ้งานในที่ต่างๆ และถ้านำไปใช้งานแล้วมีปัญหาก็ให้ทำการแก้ไขโปรแกรมอีกครั้ง แต่ถ้ารันโปรแกรมแล้วไม่มีปัญหาใดๆ แสดงว่าโปรแกรมนี้ใช้งานได้อย่างสมบูรณ์ จากนั้นผู้เขียนโปรแกรม ก็ต้องจัดทำคู่มือประกอบการใช้งานและนำไปเผยแพร่ต่อไป

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


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

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

          1. ภาษาระดับต่ำ (Low Level Language) เป็นภาษาที่มนุษย์ทำความเข้าใจได้ยาก ส่วนใหญ่ต้องมีความเข้าใจเกี่ยวกับสถาปัตยกรรมคอมพิวเตอร์ และฮาร์ดแวร์เป็นอย่างดีจึงจะสามารถ
เขียนโปรแกรมสั่งงานได้มีข้อดีในส่วนที่เขียนโปรแกรมควบคุมอาร์ดาแวร์แต่ละส่วนได้โดยตรงจึงทำงานได้เร็ว แต่ไม่เหมาะที่จะใช้ในการพัฒนาโปรแกรม ตัวอย่างของภาษาระดับต่ำได้แก่ ภาษาเครื่อง (Machine Language) และภาษาแอสเซมบลี (Assembly Language) เป็นต้น

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

          3. ภาษาระดับสูง (High Level Language) เป็นภาษาที่ทำความเข้าใจได้ง่าย มีลักษณะของ
การใช้คำสั่งเป็นภาษาอังกฤษซึ่งใกล้เคียงกับภาษามนุษย์มากการสั่งให้คอมพิวเตอร์ทำงานจะต้องมีการแปลความหมายของคำสั่งโดยใช้ตัวแปลภาษาทีละชุดคำสั่งที่เรียกว่า Interpreter หรือแปลครั้งเดียวทั้งโปรแกรมที่เรียกว่า Compiler

ผังงาน Flowchart

ผังงาน Flowchart

ในการเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ โดยทั่วไปจะมีหลักการ
หรือขั้นตอนที่สาคัญทั้งหมด 5 ขั้นตอนได้แก่

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

ประเภทของผังงาน โดยทั่วไปผังงานคอมพิวเตอร์แบ่งเป็น 
2 ประเภทใหญ่

        1. ผังงานระบบ (System Flowchart)

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

       2. ผังงานโปรแกรม (Program Flowchart) หรือเรียกสั้นๆ ว่า ผังงาน

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