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