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