คอมพิวเตอร์กับการแก้ปัญหา

คอมพิวเตอร์กับการแก้ปัญหา 

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

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

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

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

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

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

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

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

13038_3

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s