การวิเคราะห์และแก้ปัญหา

ใบความรู้ที่ 3

การวิเคราะห์ปัญหา (Analysis the Problem)

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

ขั้นตอนในการเขียนโปรแกรมคอมพิวเตอร์

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

1. การวิเคราะห์ปัญหา (Analysis the Problem)

2. การออกแบบโปรแกรม (Design a Program)

3. การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ (Coding the Program)

4. การตรวจสอบข้อผิดพลาดของโปรแกรม (Testing and Debugging)

5. การทดสอบความถูกต้องของโปรแกรม (Testing and Validating)

6. การทำเอกสารประกอบโปรแกรม (Documentation)

7. การบำรุงรักษาโปรแกรม (Program Maintenance)

1. การวิเคราะห์ปัญหา (Analysis the Problem)

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

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

 

ตัวอย่างการวิเคราะห์ปัญหา

  • การต้มไข่ไก่ทาน

วิเคราะห์ผลลัพธ์   :   ไข่ไก่ต้มสุก ทานได้

วิเคราะห์ Input    :    ไข่ไก่

Process(ขั้นตอนการแก้ปัญหา)  คือ

เริ่มต้น

  1. ต้มน้ำให้เดือด
  2. ใส่ไข่
  3. รอ 10 นาที
  4. ดับไฟ / ปิดเตา
  5. ปอกไข่

จบการทำงาน

  • การคำนวณหาเกรดเฉลี่ย

วิเคราะห์ผลลัพธ์   :   เกรดเฉลี่ย

วิเคราะห์ Input    :    ชื่อนักศึกษา, เกรดแต่ละวิชา, หน่วยกิต

Process (ขั้นตอนการแก้ปัญหา) คือ

  1. เริ่มต้น
  2. รับค่าข้อมูลเข้า คือ ชื่อนักศึกษา, เกรดแต่ละวิชา, หน่วยกิต
  3. คำนวณ ผลคูณ=เกรด*หน่วยกิต
  4. คำนวณผลรวมผลคูณ=ผลรวมผลคูณ+ผลคูณ
  5. คำนวณผลรวมหน่วยกิต = ผลรวมหน่วยกิต+หน่วยกิต
  6. คำนวณหาเกรดเฉลี่ย=ผลรวมผลคูณ/ผลรวมหน่วยกิต
  7. แสดงผลเกรดเฉลี่ย
  8. จบการทำงาน