เงื่อนไขของปัญหาและการออกแบบขั้นตอน

การระบุข้อมูลเข้า ข้อมูลออก และเงื่อนไขของปัญหา

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

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


ตัวอย่างสถานการณ์

         สถานการณ์

            ครูได้ตรวจข้อสอบของนักเรียนชั้นมัธยมศึกษาปีที่ 4 จำนวน 40 คน หากต้องการหาคะแนนสูงสุด ต่ำสุด และคะแนนเฉลี่ยของนักเรียนทุกคน ให้นักเรียนระบุข้อมูลเข้าและข้อมูลออก

         การระบุข้อมูลเข้า และข้อมูลออก

            ข้อมูลเข้า : คะแนนสอบของนักเรียนชั้นมัธยมศึกษาปีที่ 4 จำนวน 40 คน

            ข้อมูลออก : คะแนนสูงสุด ต่ำสุด และคะแนนเฉลี่ย


การออกแบบขั้นตอนวิธี

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


ตัวอย่างสถานการณ์

         สถานการณ์

            ครูได้ตรวจข้อสอบของนักเรียนชั้นมัธยมศึกษาปีที่ 4 จำนวน 40 คน หากต้องการหาคะแนนสูงสุด ต่ำสุด และคะแนนเฉลี่ยของนักเรียนทุกคน ให้นักเรียนเขียนขั้นตอนวิธีในการหาคะแนนเฉลี่ยของนักเรียนทุกคน

         การระบุข้อมูลเข้า และข้อมูลออก

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

            ขั้นตอนวิธี : หาค่าสูงสุดของข้อมูล

            ข้อมูลเข้า : คะแนนสอบของนักเรียนชั้นมัธยมศึกษาปีที่ 4 จำนวน 40 คน

            ข้อมูลออก : คะแนนสูงสุด


การสร้างเงื่อนไขอย่างง่าย

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


การสร้างเงื่อนไขด้วยตัวดำเนินการตรรกะ

            เงื่อนไขบางเงื่อนไขอาจประกอบด้วยเงื่อนไขย่อยหลายเงื่อนไข และแต่ละเงื่อนไขมักเชื่อมด้วยตัวดำเนินการตรรกะ “และ : AND” , “หรือ : OR” แล้วก็ “นิเสธ : NOT” ดังตารางต่อไปนี้