หน้าแรก:คำแนะนำและวิธีการใช้งานบทเรียน

ขอบข่ายเนื้อหา

เรื่องที่ 1 ขั้นตอนการพัฒนาโปรแกรม

 

เรื่องที่ 2 การวิเคราะห์ปัญหา

เรื่องที่ 3 ผังงาน

เรื่องที่ 4 ลักษณะโครงสร้างผังงาน

เรื่องที่ 5 ซูโดโค้ด

เรื่องที่ 6 ภาษาคอมพิวเตอร์

เรื่องที่ 7 โครงสร้างโปรแกรมภาษาซี

เรื่องที่ 8 การติดตั้งโปรแกรมภาษาซี

เรื่องที่ 9 ตัวแปรภาษาซี
เรื่องที่ 10  ตัวดำเนินการในภาษาซี
แหล่งเรียนรู้เพิ่มเติม
ผู้จัดทำ
 
 
 
 
 
 
 

 


 

                  มีความรู้ความเข้าใจเกี่ยวกับขั้นตอนการพัฒนาโปรแกรม  ลักษณะของ
นักโปรแกรมเมอรฺ์  และลักษณะโปรแกรมที่ดี

 

 

 

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

 

   1.2 คุณสมบัติของนักเขียนโปรแกรมที่ดี

 

   1.3 ลักษณะของโปรแกรมที่ดี

 

 

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

 

 


            ในการเขียนโปรแกรมเพื่อแก้ปัญหาต่าง ๆ จำเป็นต้องมีการวางแผนและออกแบบโปรแกรม
ไว้ล่วงหน้า โดยกำหนดขั้นตอนวิธีการทำงานให้ชัดเจน กระบวนการวิเคราะห์และออกแบบ
โปรแกรมเรียกว่า วัฏจักรการพัฒนาระบบงาน System Development Lift Cycle ( SDLC) ซึ่งมีกระบวนการทำงานเริ่มต้นจากการวิเคราะห์ปัญหาไปจนถึงการนำโปรแกรมไปใช้งานและปรับปรุงพัฒนา
ระบบให้ดีขึ้น มีขั้นตอนของวัฏจักรการพัฒนาระบบงาน ดังต่อไปนี้

                    ขั้นตอนที่ 1 การวิเคราะห์งาน (Job Analysis)
                    ขั้นตอนที่ 2 การออกแบบโปรแกรม (Program Design)
                    ขั้นตอนที่ 3 การเขียนโปรแกรม (Program Coding)
                    ขั้นตอนที่ 4 การทดสอบและแก้ไขโปรแกรม ( Program Testing & Verification)
                    ขั้นตอนที่ 5 การจัดทำเอกสารและคู่มือการใช้งาน (Program Documentation)
                    ขั้นตอนที่ 6 การใช้งานจริง (Program Implement)
                    ขั้นตอนที่ 7 การปรับปรุงและพัฒนาโปรแกรม (Program Maintenance) 

ขั้นตอนที่ 1 : การวิเคราะห์งาน (Job Analysis)

            เป็นขั้นตอนในการเก็บรวบรวมข้อมูลของระบบงานที่จะพัฒนา และเป็นข้อมูลที่จะนำไปใช้
ในการออกแบบโปรแกรมโดยใช้เครื่องมือออกแบบในขั้นตอนที่ 2 การออกแบบโปรแกรม (Design
Program) ในการวิเคราะห์งานนั้น มีขั้นตอนย่อยอยู่ด้วยกัน 5 ขั้นตอน ดังนี้

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

            2. กำหนดผลลัพธ์ที่ต้องการแสดง (Output)
                    •  กำหนดรูปแบบการแสดงผล เช่น แสดงผลลัพธ์เป็นภาพกราฟฟิกส์ทางจอภาพ
หรือพิมพ์ข้อมูลออกทางเครื่องพิมพ์ เป็นต้น
                    •  ตรวจสอบข้อผิดพลาดและความถูกต้องของผลลัพธ์ เช่น ตรวจสอบข้อผิดพลาด
จากการคำนวณ ตรวจสอบผลลัพธ์ว่าถูกต้องตรงตามที่ต้องการหรือไม 

            3. การกำหนดข้อมูลนำเข้า (input)  ซึ่งประกอบหัวข้อพิจารณาดังนี้
                    •  กำหนดลักษณะการรับข้อมูล เช่น รับข้อมูลจากแป้นพิมพ์ หรือ อ่านข้อมูลจากไฟล์
                    •  รูปแบบข้อมูลที่รับเข้ามาเป็นอย่างไร เช่น ข้อมูลชื่อนักเรียนเก็บเป็นตัวอักษรหรือ
สตริง ข้อมูลเงินเดือนพนักงานเก็บเป็นจำนวนทศนิยม เป็นต้น
                    •  ขอบเขตของข้อมูลมีช่วงค่าของข้อมูลได้เท่าไหร่ เช่น รับข้อมูลเงินเดือนมีค่า
อยู่ระหว่าง 0.00 ถึง 100,000.00 บาท เก็บข้อมูลเป็นจำนวนทศนิยม เป็นต้น
                    •  ข้อจำกัดในการรับข้อมูลอย่างไรบ้าง เช่น รับข้อมูลได้เฉพาะค่าตัวเลขที่มากกว่า 0
เป็นต้น

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

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

ขั้นตอนที่ 2 : การออกแบบโปรแกรม (Program Design)

          ประกอบด้วยวิธีการดังนี้ คือ

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

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

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

ขั้นตอนที่ 3 : การเขียนโปรแกรม (Program Coding)

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

ขั้นตอนที่ 4 : การทดสอบและแก้ไขโปรแกรม ( Program Testing & Verification)

          การทดสอบและแก้ไขโปรแกรม เป็นขั้นตอนการตรวจสอบโปรแกรมที่เขียนได้ ว่าทำงาน
ถูกต้องตรงตามความต้องการของผู้ใช้ หรือตรงตามลักษณะงานของโปรแกรมนั้นหรอไม่
          ความผิดพลาด ( Errors) ที่สามารถเกิดขึ้นได้จากการเขียนโปรแกรม มีดังนี้
                    •  Syntax Error ความผิดพลาดที่เกิดจากการใช้คำสั่งผิดรูปแบบที่ภาษานั้นกำหนด เช่น
การลืมประกาศตัวแปร การเขียนคำสั่งผิด เช่น คำสั่ง while( ) เป็น WHILE( )
                    •  Logic Error ความผิดพลาดที่เกิดจากการที่โปรแกรมทำงานผิดไปจากขั้นตอนที่ควร
จะเป็น เช่น การตรวจสอบเงื่อนไขผิดไม่ตรงตามวัตถุประสงค์ คำนวณค่าได้คำตอบไม่ถูกต้อง หรือ
ทำงานผิดลำดับขั้นตอน เป็นต้น
                    •  System Design Error ความผิดพลาดที่เกิดจากการที่โปรแกรมทำงานได้ไม่ตรงตาม
ความต้องการของลูกค้า

            ขั้นตอนการทดสอบและแก้ไขโปรแกรม

                    •  Desk-Checking ผู้เขียนโปรแกรมตรวจสอบโปรแกรมด้วยตนเอง ถ้าให้ผู้อื่นช่วยดู
จะเรียกว่า Structured-Walkthrough
                    •  Translating ตรวจสอบรูปแบบคำสั่งต่างๆที่ใช้ในโปรแกรมโดยตัวแปลภาษา
( Translator) เป็นผู้ตรวจ
                    •  Debugging เป็นการทดลองใช้โปรแกรมจริง เพื่อค้นหาข้อบกพร่อง เช่น ผลลัพธ์ที่
ไม่ตรงตามความต้องการ ซึ่งอาจมีสาเหตุจาก Logic Errors และถ้าได้ทดสอบกับผู้ใช้จริงก็จะ
สามารถตรวจสอบ System Design Errors ได้

ขั้นตอนที่ 5 : การจัดทำเอกสารและคู่มือการใช้งาน (Program Documentation)

          การจัดทำเอกสารและคู่มือการใช้งานจัดทำเอกสารต่าง ๆ ที่เกี่ยวข้องกับระบบหรือการเขียน
โปรแกรม ได้แก่
                    •  คู่มือสำหรับผู้ใช้โปรแกรม (User's Manual or User's Guide) คือเอกสารที่อธิบาย
วิธีการใช้ระบบหรือโปรแกรม เรียกว่า User Manual ใช้สำหรับผู้ใช้งานโปรแกรม แนะนำวิธีการใช้
งานโปรแกรม แนะนำคุณสมบัติ และองค์ประกอบของโปรแกรมต่าง ๆ วิธีการติดตั้งโปรแกรม
สามารถทำควบคู่ไปกับการเขียนโปรแกรม อาจทำเป็นคู่มือเอกสารที่อยู่ในรูปแบบโปรแกรม
ออนไลน์ก็ได้ (Online Manual)
                    •  คู่มือสำหรับผู้เขียนโปรแกรม (Programmer's Manual or Programmer's Guide) เป็น
คู่มือที่จัดทำขึ้น เพื่อให้ผู้พัฒนาโปรแกรม รวมทั้งเทคนิคพิเศษต่างๆ ของโปรแกรม เพื่อให้สะดวก
ต่อการปรับปรุงแก้ไขโปรแกรมที่มีอยู่เดิม โดยทั่วไปจะเป็นเอกสารแสดงการวิเคราะห์และออกแบบ
ระบบ เรียกว่า System Manual ใช้สำหรับผู้พัฒนาระบบหรือโปรแกรม เท่านั้น

ขั้นตอนที่ 6 : การใช้งานจริง (Program Implement)

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

ขั้นตอนที่ 7 : การปรับปรุงและพัฒนาโปรแกรม (Program Maintenance)

          การเขียนโปรแกรมที่ ดีต้องมีขั้นตอนการปรับปรุงและพัฒนาโปรแกรมให้มีความถูกต้อง
ทันสมัย และตรงกับความต้องการของผู้ใช้มากที่สุด โดยทั่วไปโปรแกรมที่ใช้งานจะประกอบด้วย
หลาย ๆ รุ่น เช่นรุ่นทดสอบ (Beta Version) และ รุ่นที่ใช้งานจริง (Release Version) และต้องมีการ
ปรับเปลี่ยนโปรแกรมให้ดีขึ้น ดังตัวอย่างเช่นโปรแกรมเวอร์ชัน 1 มีการเพิ่มเติม ปรับปรุง แก้ไข
โปรแกรมเป็นเวอร์ชัน 1.2 เป็นต้นการพัฒนาโปรแกรมให้ดีขึ้นมีประโยชน์ต่อผู้ใช้งาน และผู้เขียนโ
ปรแกรมต้องอาศัยคู่มือการใช้งาน และเอกสารประกอบของโปรแกรม เพื่อเป็นแนวทางในการ
แก้ไข และให้ผู้อื่นๆสามารถพัฒนาต่อได้               

 

ภาพแสดง วัฏจักรการพัฒนาระบบงาน System Development Lift Cycle ( SDLC)

 

 


   

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

 


   

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