วันพุธที่ 14 สิงหาคม พ.ศ. 2556

  โปรแกรมภาษาซี

7.1 การพัฒนาโปรแกรมคอมพิวเตอร์


 บางคนก็ว่ายาก บางคนก็ว่าเป็นเรื่องสนุก หลายคน

บอกว่า ขอเป็นแค่ผู้ใช้สนุกที่สุด แต่จะมีซักกี่คนที่จะมี
ใจรักที่จะก้าวไปบนถนนแห่งการพัฒนาฝีมือและฝึกฝน
การ เขียนโปรแกรมด้วยตัวเอง เพื่อให้มีผู้ที่สนใจนำไป
ใช้งาน และเพิ่มประสิทธิ์ภาพในการทำงาน และ ความ
สะดวกสบายๆ ต่างๆมากขึ้น ว่าไปแล้วนัก
โปรแกรมเมอร์เหล่านี้ ก็ไม่แตกต่างจากผู้ที่ปิดทองหลัง
พระมากนัก เพราะหลายๆ โปรแกรมที่มีให้ใช้งานกันใน
ปัจจุบัน จะมีใครทราบบ้างไหมว่า ผู้เขียนโปรแกรม
เหล่านั้นมีใครกันบ้าง ดังนั้น ผู้ที่คิดจะก้าวมาเป็นนัก
พัฒนาโปรแกรมมืออาชีพ คงต้องอาศัยใจรักที่จะอยาก
จะพัฒนา และฝึกฝนฝืมือในการเป็นโปรแกมเมอร์มือ
อาชีพมาเป็นอันดับหนึ่ง สำหรับบทความนี้จะเริ่มต้น
ด้วยการสอนให้เข้าใจในหลักการพื้นฐานของการการ 
พัฒนาโปรแกรมในภาษา C ความรู้และความเข้าใจที่
จำเป็นต่อการเป็นโปรแกรมเมอร์มืออาชีพในอนาคต 
เราลองเริ่มมาเรียนรู้กันอย่างคร่าวๆ กันเลยล่ะกัน โดยผู้
เขียนจะอธิบายเป็นตอนๆ ทั้งหมด 8 ตอนด้วยกันได้แก่
1. พื้นฐานโปรแกรมภาษา C (Introduction to C 
Programming)
2. การเขียนโปรแกรมทางเลือก (Selection Structures)
3. การเขียนโปรแกรมแบบ วนซ้ำ (Repetition & Loop)
4. ฟังก์ชัน และการเขียนโปรแกรมแยกเป็นโมดูล 
(Functions & Modular Programming)
5. ตารางอาเรย์ (Arrays)
6. ตัวแปรพอยเตอร์ (Pointers)
7. ตัวแปรสตริง (String)
8. โครงสร้างสตักเจอร์ (Structure)



7.2 ขั้นตอนการพัฒนาโปรแกรม
หลังจากที่ได้ออกแบบวิธีในการแก้ปัญหาซึ่งอยู่ในรูปแบบของรหัสลำลองหรือผังงานแล้ว ขั้นตอนต่อไป คือ การพัฒนาโปรแกรมตามผังงานดังกล่าว ซึ่งถ้านักเรียนเขียนโปรแกรมมีความรู้ความชำนาญในการเขียนโปรแกรมภาษาหนึ่งภาษาใดอยู่แล้ว จะสามารถทำได้โดยง่าย อย่างไรก็ตามนักเขียนโปรแกรมก็ยังต้องทำการตรวจสอบว่าโปรแกรมที่ได้พัฒนาขึ้น ทำงานได้ถูกต้อง และให้ผลลัพธ์ที่ไม่ผิดพลาดสำหรับทุกกรณี จึงจะสามารถนำโปรแกรมดังกล่าวไปใช้งานได้ นอกจากนี้นักเขียนโปรแกรมยังควรที่จะจัดทำเอกสาร ประกอบการพัฒนาโปรแกรม ซึ่งจะเป็นเครื่องมือให้ผู้ที่จะมาพัฒนาโปรแกรมต่อไปในอนาคต ทำความเข้าใจกับโปรแกรมที่จัดทำขึ้นได้สะดวกรวดเร็ว รวมถึงให้ผู้ใช้โปรแกรมเข้าใจวิธีการใช้งานโปรแกรมอย่างรวดเร็ว
7.2.1 การวิเคราะห์และออกแบบโปรแกรม
ในการพัฒนาโปรแกรมคอมพิวเตอร์ให้กับระบบงานขนาดใหญ่ที่มีการแบ่งงานวิเคราะห์ระบบและงานเขียนโปรแกรมออกจากกันนั้น โดยทั่วไปการมอบหมายงานให้นักเขียนโปรแกรม จะเป็นการกำหนดความต้องการของโปรแกรมในภาพรวม แต่ไม่ได้ระบุรายละเอียดขั้นเป็นรหัสลำลองหรือผังงานที่ละเอียด นักเขียนโปรแกรมจึงต้องศึกษาถึงความต้องการของงานที่ได้รับมอบหมาย ข้อมูลนำเข้า ข้อมูลส่งออก และกระบวนการในการแก้ปัญหาอย่างละเอียดเพื่อพัฒนาขึ้นเป็นขั้นตอนวิธีในการแก้ปัญหาซึ่งอยู่ในรูปแบบของผังงานอย่างละเอียด ซึ่งขั้นตอนดังกล่าวนี้ คือ การออกแบบผังงานดังได้กล่าวแล้วในบทที่ 6
7.2.2 การเขียนโปรแกรมจากรหัสลำลองหรือผังงาน
โดยทั่วไปการเขียนโปรแกรมจากรหัสลำลองหรือผังงานที่ได้ออกแบบไว้อย่างดีแล้ว นักเขียนโปรแกรมสามารถทำได้โดยง่ายและรวดเร็ว ซึ่งจะเป็นการแปลงจากแต่ละสัญลักษณ์ของผังงาน ไปเป็นคำสั่งที่สอดคล้องกันในภาษาโปรแกรมที่เลือกใช้ โดยโปรแกรมที่ดีจะต้องมีการตรวจสอบและแจ้งข้อผิดพลาดให้แก่ผู้ใช้งานโปรแกรมทราบ โดยที่การทำงานของโปรแกรมไม่สะดุดลง ตัวอย่างเช่น ในการพัฒนาโปรแกรมเพื่อหาค่าของผลหารถ้าหากว่ามีการรับข้อมูลนำเข้าเป็นตัวหาร แต่ผู้ใช้ป้อนข้อมูลตัวหารเป็นศูนย์ โปรแกรมจะเกิดข้อผิดพลาดในการทำงานเป็นชิ้น ดังนั้นโปรแกรมควรต้องทำการตรวจสอบว่า ถ้าตัวหารเป็นศูนย์ต้องแจ้งข้อความผิดพลาดให้ผู้ใช้ทราบ
7.2.3 การเตรียมข้อมูลสำหรับทดสอบโปรแกรม
ในระหว่างขั้นตอนการออกแบบวิธีการแก้ปัญหาให้อยู่ในรูปของรหัสลำลองหรือผังงานนั้นนักเขียนโปรแกรมควรพิจารณาถึงข้อมูลที่จะนำมาใช้ในการทดสอบโปรแกรมที่จะเขียนขึ้นด้วยความสมบูรณ์ของข้อมูลที่ใช้ในการทดสอบโปรแกรมมีความสำคัญมาก เนื่องจากจะเป็นสิ่งบ่งบอกถึงความถูกต้องของโปรแกรมที่พัฒนาขึ้น ว่ามีความถูกต้องครอบคลุมข้อมูลนำเข้าทุกรูปแบบ โดยตรวจสอบว่ามีข้อมูลนำเข้ารูปแบบใดที่โปรแกรมไม่สามารถรองรับได้ เช่น ข้อมูลไม่อยู่ในช่วงที่ถูกต้อง และข้อมูลที่รับเข้าเป็นตัวเลขแต่ผู้ใช้ป้อนค่าเป็นตัวอักษร
7.2.4 การทดสอบโปรแกรม
หลังจากได้เขียนโปรแกรมและเตรียมข้อมูลสำหรับทดสอบอย่างครบถ้วนแล้ว ขั้นตอนทดสอบโปรแกรมก็จะสามารถดำเนินการได้ ถ้าหากว่าโปรแกรมที่พัฒนาขึ้นมีความซับซ้อนไม่มากนัก นักเขียนโปรแกรมสามารถทำการทดสอบโดยรับโปรแกรม ป้อนข้อมูลทีละชุด และตรวจสอบความถูกต้องของผลลัพธ์ที่ได้ ซึ่งเป็นวิธีที่ง่านและเหมาะสำหรับผู้เริ่มต้นฝึกหัดการเขียนโปรแกรม เนื่องจากสามารถทดสอบโปรแกรมได้อย่างรวดเร็ว ในบางครั้งนักเขียนโปรแกรมอาจต้องใช้โปรแกรมเฉพาะเพื่อทำการรันโปรแกรมที่พัฒนาขึ้น และทดสอบกับชุดข้อมูลทดสอบอย่างอัตโนมัติ
7.2.5 การจัดทำเอกสารประกอบโปรแกรม
ขั้นตอนสุดท้ายหลังจากที่ได้ทดสอบจนแน่ใจว่าโปรแกรมทำงานได้ถูกต้องกับชุดข้อมูลทดสอบทั้งหมดแล้ว คือการจัดทำเอกสารประกอบ ในขั้นตอนนี้นักเขียนโปรแกรมจะต้องรวบรวมรายละเอียดทั้งหมดในระหว่างการพัฒนาโปรแกรม เช่น รายละเอียดของปัญหาที่ได้ทำการวิเคราะห์ไว้ ข้อมูลออกที่ต้องการ ข้อมูลเข้าที่เป็นไปได้ทั้งหมด วิธีการประมวลผลเพื่อแก้ปัญหารหัสลำลองหรือผังงานที่ได้รับการปรับปรุงแล้ว และสอดคล้องกับโปรแกรมที่ได้พัฒนาขึ้น ภาษาที่ใช้คุณลักษณะของเครื่องคอมพิวเตอร์ และรุ่นของระบบปฏิบัติการที่โปรแกรมทำงานด้วย ชุดข้อมูลทดสอบ และผลการทดสอบโปรแกรม โดยนำรายละเอียดทั้งหมดนี้ มาจัดทำเป็นรายงานหรือเอกสาร เพื่อจัดเก็บควบคู่กับตัวโปรแกรมต้นฉบับที่พัฒนาขึ้น สำหรับใช้อ้างอิงในอนาคตเมื่อต้องการแก้ไข หรือพัฒนาโปรแกรมต่อไป นอกจากนี้ควรมีการจัดทำคู่มือสำหรับผู้ใช้ ซึ่งอธิบายขั้นตอนในการใช้งานโปรแกรม เพื่อให้ผู้ใช้เข้าใจวิธีใช้งานอย่างถูกต้องและรวดเร็ว
    ในบทนี้จะได้อธิบายถึงรายละเอียดในขั้นตอนการเขียนโปรแกรม จากรหัสลำลองหรือผังงาน และภาษาโปรแกรมคอมพิวเตอร์ต่างๆต่อไป
   -ภาษาโปรแกรมคอมพิวเตอร์
การแก้ปัญหาด้วยคอมพิวเตอร์นั้น หลังจากที่ได้วิเคราะห์ปัญหาจนได้ขั้นตอนวิธีในการแก้ปัญหา ซึ่งอาจจะอยู่ในรูปแบบรหัสลำลอง หรือผังงาน ขั้นตอนต่อไปคือการเขียนโปรแกรมคอมพิวเตอร์ขึ้นเพื่อแก้ปัญหาตามขั้นตอนที่ได้วางแผนไว้ แต่เนื่องจากคอมพิวเตอร์จะรับรู้คำสั่งที่เป็นภาษาเครื่องเท่านั้นและมนุษย์ไม่สามารถเขียนโปรแกรมภาษาเครื่องได้โดยตรง เนื่องจากไม่สะดวก ยากต่อการทำความเข้า จึงได้มีการสร้างภาษาคอมพิวเตอร์ระดับสูงขึ้นมาเพื่อให้ง่ายต่อการเขียนโปรแกรม ผู้เขียนโปรแกรมไม่จำเป็นต้องเรียนรู้การทำงาน และโครงสร้างภายในของเครื่องคอมพิวเตอร์ ก็สามารถเขียนโปรแกรมได้โดยต้องผ่านการแปลให้เป็นภาษาเครื่องก่อนที่จะใช้สั่งงานคอมพิวเตอร์ได้

ไม่มีความคิดเห็น:

แสดงความคิดเห็น