หัวข้อที่ 4




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

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

ขั้นตอนวิธีอัลกอลิทึม

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

รูปแบบของอัลกอลิทึม
1.       แบบลำดับ (Sequential) มีลักษณะการทำงานที่เป็นไปตามขั้นตอนก่อนหลังต่อเนื่องกันไป โดยต้องทำให้เสร็จขั้นตอนหนึ่งก่อนจึงจะไปทำในขั้นตอนต่อไปได้




2.       แบบทางเลือก (Decision) มีเงื่อนไขเป็นตัวกำหนดเส้นทางการเดินของกระบวนการแก้ปัญหา โดยตัวเลือกนั้นอาจมีตั้งแต่ 2 ทางเลือกขึ้นไป

3.       แบบทำซ้ำ ( Repetition ) คล้ายกับแบบทางเลือกตรงที่มีการตรวจสอบเงื่อนไขแต่แตกต่างกันตรงที่เมื่อการทำงานตรงตามเงื่อนไขที่กำหนด โปรแกรมจะกลับไปทำขั้นตอนการทำงานเดิมอีกอีก วนอย่างนี้ตลอดเวลา จนกว่าการทำงานไม่ตรงกับเงื่อนไขที่กำหนดไว้














ไม่มีความคิดเห็น:

แสดงความคิดเห็น