บทที่ 9 วิธีการทางคอมพิวเตอร์ Computer Algorithms
(Printciples of problem solving by computer)

วิธีการทางคอมพิวเตอร์
-ในการพัฒนาซอฟต์แวร์ ต้องมีการเตรียมงานเกี่ยวกับการเขียนโปรแกรมอย่างเป็นขั้นตอน
-เรียกขั้นตอนดังกล่าวว่า วิธีการทางคอมพิวเตอร์ (Computer Algorithms)
-ซึ่งถือเป็นขั้นตอนที่จำเป็นในการพัฒนาซอฟต์แวร์ เพื่อให้การเขียนโปรแกรม
เป็นไปอย่างไม่มีอุปสรรค และได้ผลลัพธ์ตามที่ต้องการ

ประกอบด้วยงาน 5 อย่างดังนี้
1. การวิเคราะห์งาน(Problem Analization)
เป็นขั้นตอนการวางแผนเพื่อคือการพิจารณาศึกษารายละเอียดและลักษณะของงาน
ที่ต้องการให้คอมพิวเตอร์ทำ ว่ามีรูปแบบผลลัพธ์เป็นอย่างไร ต้องการใช้ข้อมูลอะไรเพื่อ
ให้ได้ผลลัพธ์ที่ต้องการ และการประมวลผลจะมีขั้นตอนและใช้สูตรอะไร
เตรียมการให้พร้อมที่จะเขียนโปรแกรม
2. การออกแบบวิธีการแก้ปัญหา(Algorithms Design)
เป็นขั้นตอนในการนำผลที่ได้จากการวิเคราะห์งาน มาวางแผนการแก้ไขปัญหา
โดยการแสดงลำดับขั้นตอนกระบวนการแก้ปัญหา เรียกว่า อัลกอริทึม(algorithms)
เช่น การเขียนผังงาน(Flowchart) การเขียนรหัสเทียม(Psuedo code) เป็นต้น
3. การเขียนโปรแกรม(Programming)
เป็นการเปลี่ยนขั้นตอนและวิธีการในอัลกอริทึม ให้อยู่ในรหัสภาษาคอมพิวเตอร์(Programming language)
ภาษาใดภาษาหนึ่ง การเลือกใช้ภาษาคอมพิวเตอร์ใดนั้น ขึ้นอยู่กับลักษณะและประเภทของงาน
ขีดความสามารถและข้อจำกัดของภาษา และความถนัดและความชำนาญของผู้เขียนโปรแกรม
4. การทดสอบและแก้ไขโปรแกรม(Testing and Debugging)
หมายถึง การตรวจสอบความถูกต้องของคำสั่งหรือโปรแกรมที่เขียนขึ้น และแก้ไขข้อผิดพลาด(Bugs)
ของโปรแกรมที่ทำให้ไม่สามารถได้ผลลัพธ์ตามต้องการ

การแก้ไขข้อผิดพลาดเรียกว่า Debugging
โดยส่วนใหญ่ข้อผิดพลาดจากการเขียนโปรแกรมมี 2 ชนิด คือ
-Syntax Error หรือ Coding Error
ข้อผิดพลาดที่เกิดจากการเขียนรหัสคำสั่งไม่ถูกต้องตามหลักไวยากรณ์ของภาษาคอมพิวเตอร์
ในรอบแปล(Compilation Run) จะตรวจสอบ และจะแสดงข้อความผิดพลาด(Error Message) ออกมา
-Logic Error
เป็นข้อผิดพลาดที่ทำให้เกิดผลลัพธ์ไม่ถูกต้องตามวัตถุประสงค์ของงานที่กำหนดไว้ เช่น ผลลัพธ์ต้องเป็น
15.50 แต่ได้ผลลัพธ์เป็น 15.75 ซึ่งอาจเกิดจากสูตรในการคำนวณไม่ถูกต้อง
การตรวจสอบโปรแกรมเพื่อหาข้อผิดพลาด นิยมดำเนินการ 2 ช่วง ได้แก่
-1.การทดสอบที่ทำโดยผู้พัฒนาระบบเอง ก่อนนำไปใช้งานจริง โดยการใช้ข้อมูลสมมติทดสอบ
ว่าได้ผลลัพธ์ตามที่ต้องการหรือไม่
-2.การทดสอบที่ทำโดยผู้ใช้ระบบจริง โดยการใช้งานในสภาวะแวดล้อมจริง
5. การจัดทำเอกสารและบำรุงรักษาโปรแกรม
(Program Documentation and Maintenance)
1. เอกสารประกอบโปรแกรม
-มีความสำคัญกับการเขียนโปรแกรมมาก
-อาจจะเริ่มทำไปพร้อมกับการเขียนโปรแกรม
แบ่งเป็น 2 ประเภทคือ
-คู่มือผู้ใช้(User manual) จะอธิบายวิธีการใช้โปรแกรม
-คู่มือโปรแกรมเมอร์(Programmer manual) จะมีรายละเอียดต่าง ๆ เกี่ยวกับ ชื่อโปรแกรม
ชื่อผู้เขียนโปรแกรม วันที่เขียนโปรแกรม จุดประสงค์ของโปรแกรม สื่อที่ใช้ในการบันทึกข้อมูลเข้า
ผลลัพธ์ที่ได้ วิธีการขั้นตอนต่าง ๆ ในโปรแกรม รวมทั้งผังงาน ฯลฯ เป็นประโยชน์ในการแก้ไขโปรแกรมในอนาคต
2. การบำรุงรักษาโปรแกรม
-คือการปรับปรุงแก้ไขโปรแกรมให้ทันสมัยเหมาะกับสภาวะการณ์ที่เป็นอยู่ในปัจจุบัน
-รวมถึงการรักษาสื่อข้อมูลที่มีโปรแกรมบันทึกอยู่ ให้อยู่ในสภาพพร้อมใช้งานได้

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

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