Please enable JavaScript.
Coggle requires JavaScript to display documents.
:star:บทที่2 :star: การแก้ปัญหาและขั้นตอนวิธี, image, image - Coggle…
:star:บทที่2 :star:
การแก้ปัญหาและขั้นตอนวิธี
การแก้ปัญหาด้วยคอมพิวเตอร์
ปัญหาที่สามารถแก้ได้ด้วยคอมพิวเตอร์ ไม่จำเป็นต้องเป็นปัญหาทางคณิตศาสตร์เสมอไป
ซึ่งก่อนจะแก้ปัญหาต้องเข้าใจปัญหาและความต้องการให้ชัดเจนแล้วค่อยพัฒนาขั้นตอนวิธีที่สามารถใช้งานได้
ขั้นตอนการแก้ปัญหาด้วยคอมพิวเตอร์
นิยามปัญหา (Problem Definition)
การวิเคราะห์ปัญหา (Problem Analysis)
การออกแบบอัลกอริทึม (Algorithm Design)
การพัฒนาโปรแกรม (Program Development)
การทดสอบความถูกต้อง (Program Testing)
การจัดทำเอกสาร (Documentation)
การบำรุงรักษา (Maintenance)
1.การนิยามปัญหา (Problem Definition)
สิ่งสำคัญที่สุด คือเราต้องทำความเข้าใจให้ได้ว่าปัญหาคืออะไร ประเด็นหลักอยู่ที่ใด และต้องการให้ได้ผลลัพธ์อะไร
2.การวิเคราะห์ปัญหา (Problem Analysis)
การวิเคราะห์ปัญหาให้พิจารณาที่
-การหาผลลัพธ์ของปัญหา (output) ว่าคืออะไร
-มีข้อมูลนำเข้า (input) อะไรบ้างที่จะทำให้ได้ผลลัพธ์
-ระบุวิธีการประมวลผล (Process) ต้องทราบวิธีการประมวลผล หรือวิธีคิดให้ได้ผลลัพธ์ตามต้องการ
3.การออกแบบอัลกอริทึม ( Algorithm Design )
การออกแบบอัลกอริทึม เป็นการคิดหาขั้นตอนการแก้ปัญหาทีละขั้น เราต้องคิดว่าจะทำอย่างไรจึงจะแก้ปัญหาได้ และสามารถนำมาแปลงเป็นคำสั่งของภาษาโปรแกรมได้โดยง่าย
4.การพัฒนาโปรแกรม ( Program Development )
นักเขียนโปรแกรม ( Programmer ) ต้องนำเอาคำอธิบายของขั้นตอนการแก้ปัญหาแต่ละขั้นจากอัลกอริทึมมาแปลงเป็นคำสั่งของภาษาโปรแกรมคอมพิวเตอร์ภาษาใดภาษาหนึ่ง เช่น เขียนด้วยภาษา Java , Python , C# เป็นต้น การพัฒนาโปรแกรมจะทำได้ง่าย ถ้าอัลกอริธึมถูกต้อง และมีความชัดเจน
5.การทดสอบความถูกต้อง ( Program Testing )
การทดสอบ (Testing) เพื่อหาข้อผิดพลาดจากการเขียนคำสั่งผิดไวยกรณ์ของภาษา หรือข้อผิดพลาดจากการคำนวณการทดสอบควรทดสอบทุกกรณีที่คาดว่าจะเกิดขึ้น
6.การจัดทำเอกสาร ( Documentation )
ถือว่าเป็นงานที่สำคัญที่นักเขียนโปรแกรมส่วนใหญ่ละเลย การจัดทำเอกสารมีได้ 2 แบบ คือ
จัดทำเอกสารคู่มือผู้ใช้
เอกสารคู่มือพัฒนา ซึ่งเอกสารนี้มีความสำคัญต่อองค์กร เพราะช่วยให้การบำรุงรักษาโปรแกรมทำได้ง่ายขึ้น และใช้อ้างอิงในกรณีที่มีการเปลี่ยนแปลงใด ๆ ในระบบ
การเขียนหมายเหตุในโปรแกรมถือว่าเป็นสิ่งจำเป็นที่ควรจะทำ เพื่ออธิบายความคิดว่าขณะนั้นได้คิดอะไร เป็นสิ่งที่ช่วยเตือนความทรงจำของตัวผู้เขียนเอง และคนอื่น
7.การบำรุงรักษา ( Maintenance )
การดูแลบำรุงรักษาให้ระบบสามารถใช้งานได้นานที่สุด โดยจะต้องดูแลรักษาเครื่องคอมพิวเตอร์ โปรแกรมและอุปกรณ์ต่อพ่วงต่าง ๆ ที่ใช้ในระบบ ให้สามารถใช้งานได้ปกติ และถ้าในอนาคตเทคโนโลยีต่าง ๆ ได้เปลี่ยนแปลงไป ก็จะต้องสามารถปรับเปลี่ยนแก้ไขโปรแกรมหรือส่วนบกพร่องต่าง ๆ ให้สามารถรับความเปลี่ยนแปลงของเทคโนโลยีในอนาคตได้ ขั้นตอนนี้จึงถือเป็นขั้นตอนที่ใช้ระยะเวลายาวนานที่สุด
ข้อมูลที่เกี่ยวข้องกับการทำงานของคอมพิวเตอร์
1.ข้อมูลเข้า ( input) เป็นข้อมูลที่ใช้เพื่อประมวลผล
2.ข้อมูลออก ( Output) เป็นข้อมูลที่แสดงผลลัพธ์
การระบุข้อมูลเข้า และข้อมูลออกอาจจะไม่สามารถทำได้อย่างชัดเจน จึงต้องทำความเข้าใจกับปัญหามากขึ้น
การออกแบบขั้นตอนวิธี
การออกแบบขั้นตอนวิธี คือ ขั้นตอนการแก้ปัญหาอย่างเป็นลำดับ โดยประกอบด้วยชุดคำสั่งการทำงานอย่างเป็นลำดับและชัดเจน
1.บรรยาย (Narrative Description)
2.รหัสเทียม (Pseudo Code)
3.ผังงาน (FlowChart)
ลักษณะขั้นตอนวิธี
-แก้ปัญหาได้อย่างมีประสิทธิภาพ
-ให้คำตอบที่ถูกต้อง
-ใช้เวลาในการปฏิบัติการน้อย
-ชัดเจนและกระทัดรัด
1.การบรรยาย(Narrative Description)
การออกแบบขั้นตอนวิธีด้วยการบรรยาย เป็นการเขียนบรรยายวิธีการแก้ปัญหาอย่างเป็นลำดับโดยใช้ภาษาธรรมชาติเช่น วิธีการต้มบะหมี่กึ่งสำเร็จรูป
2.รหัสเทียม(Pseudo Code)
เป็นการเขียนโปรแกรมในรูปแบบภาษาอังกฤษที่มีขั้นตอนและรูปแบบแน่นอนกะทัดรัด
3.ผังงาน(FlowChart)
เป็นการใช้สัญลักษณ์ เพื่ออธิบายขั้นตอนการทำงานของโปรแกรม