- การแก้ปัญหาด้วยคอมพิวเตอร์
- การออกแบบขั้นตอนวิธีในการแก้ปัญหา โดยใช้รูปแบบการกำหนดเงื่อนไข และการทำซ้ำ
- ขั้นตอนวิธีในการจัดเรียงข้อมูลมีหลายวิธี เช่น การจัดเรียงข้อมูลแบบเลือก และการจัดเรียงข้อมูลแบบแทรก
- ขั้นตอนวิธีในการค้นหาข้อมูล เช่น การค้นหาแบบตามลำดับ และการค้นหาแบบทวิภาค
การแก้ปัญหาด้วยคอมพิวเตอร์
ปัญหาที่สามารถแก้ด้วยคอมพิวเตอร์ไม่จำเป็นต้องเป็นปัญหาทางคณิตศาสตร์เสมอไป แต่การทำงานของโปรแกรมคอมพิวเตอร์ต้องมีการระบุขั้นตอนการทำงาน เงื่อนไขต่าง ๆ ที่ชัดเจน คอมพิวเตอร์จึงจะสามารถแก้ปัญหาให้เราได้อย่างถูกต้องและมีประสิทธิภาพ
ข้อมูล : ข้อมูลที่คอมพิวเตอร์ได้รับจะต้องเป็นข้อมูลที่เกี่ยวข้องกับการแก้ปัญหา ถูกต้อง มีคุณภาพ
เงื่อนไขที่ชัดเจน : คอมพิวเตอร์ทำการประมวลผลโดยใช้การคำนวณ และเปรียบเทียบเชิงตรรกะ ตามกระบวนการทางคณิตศาสตร์ ดังนั้น เงื่อนไขในการทำงานต้องมีความถูกต้อง และชัดเจน เพื่อไม่ให้เกิดความผิดพลาดจากการประมวลผล
ขั้นตอนวิธีในการแก้ปัญหา : นอกจากข้อมูลและเงื่อนไขที่ชัดเจนแล้ว การพัฒนาโปรแกรมจำเป็นต้องมีขั้นตอนการแก้ไขปัญหาที่ชัดเจน
ตัวแปร : เป็นชื่อที่ใช้แทนข้อมูลขณะใดขณะหนึ่งในขั้นตอนวิธี
การออกแบบขั้นตอนวิธี
การระบุข้อมูลเข้า ข้อมูลออก และเงื่อนไขของปัญหา
การแก้ปัญหาด้วยคอมพิวเตอร์ ก่อนที่จะระบุขั้นตอนวิธีที่ชัดเจนได้ จะต้องวิเคราะห์และทำความเข้าใจกับปัญหาเพื่อให้ทราบว่ามีข้อมูลอะไรบ้างที่สามารถใช้ในการประมวลผลได้ มีเงื่อนไขต่าง ๆ อย่างไร ผลลัพธ์ที่ต้องการคือะไร โดยจะแบ่งข้อมูลที่เกี่ยวข้องกับการทำงานออกเป็นสองส่วน คือ
ข้อมูลเข้า (input) เป็นข้อมูลที่ใช้ในการประมวลผล
ข้อมูลออก (output) เป็นข้อมูลผลลัพธ์ที่ต้องการ
นอกจากจะระบุว่าคืออะไรแล้ว ยังอาจระบุเงื่อนไขเพิ่มเติมได้ เช่น ข้อมูลเข้าอาจมีการระบุขอบเขตหรือเงื่อนไข หรือข้อมูลออกอาจมีการระบุคุณสมบัติที่ต้องการ การวิเคราะห์นี้เป็นการระบุข้อกำหนดต่าง ๆ ที่เกี่ยวข้องกับปัญหาให้ชัดเจน ซึ่งจำเป็นต่อการออกแบบขั้นตอนวิธีที่ถูกต้อง
ทักษะการคิดเชิงคำนวณ เป็นทักษะพื้นฐานของการคิดแก้ปัญหาที่สามารถนำไปประยุกต์ในชีวิต ประจำวันได้แก่การแยกส่วนประกอบและการย่อยปัญหา การหารูปแบบและการคิดเชิงนามธรรมสามารถนำมาใช้ในการออกแบบขั้นตอนวิธีเพื่อแก้ปัญหาต่าง ๆ การออกแบบขั้นตอนวิธีนี้มีปัจจัยที่สำคัญคือการ ออกแบบเงื่อนไขที่ถูกต้องและชัดเจน แต่ไม่มีขั้นตอนที่ตายตัว เงื่อนไขที่กำหนดในขั้นตอนวิธีอาจเป็นเงื่อนไขอย่างง่ายหรือเงื่อนไขที่ซับซ้อน โดยเงื่อนไขอย่างง่ายจะเป็นการเปรียบเทียบมากกว่า น้อยกว่าหรือไม่เท่ากันสำหรับเงื่อนไขที่ซับซ้อนประกอบด้วยเงื่อนไขตั้งแต่สองเงื่อนไขขึ้นไปและเชื่อมด้วยตัวดำเนินการตรรกะ “และ”(AND) “หรือ”(OR)และ“นิเสธ”(NOT)
การแก้ปัญหาอาจต้องมีการทำงานลักษณะเดียวกันซ้ำหลายรอบ โดยในแต่ละรอบจะต้องกระทำการ อย่างใดอย่างหนึ่งกับข้อมูลในรายการและตรวจสอบเงื่อนไขซึ่งอาจระบุเงื่อนไขในส่วนเริ่มต้นของการทำซ้ำ หรือเงื่อนไขเพื่อจบการทำงานในกรเขียนขั้นตอนวิธีเพื่อแก้ปัญหาลักษณะนี้สามารถเขียนได้โดยใช้รูปแบบ ขั้นตอนวิธีการทำซ้ำ
ตัวอย่าง การระบุ ข้อมูลเข้า ข้อมูลออก
ครูได้ตรวจข้อสอบของนักเรียน 40 คน และได้ประกาศคะแนนไว้หน้าห้อง หากต้องการหาคะแนนสูงสุด คะแนนต่ำสุด และคะแนนเฉลี่ยของนักเรียนทุกคน สามารถระบุข้อมูลเข้าและข้อมูลออกได้ดังนี้
ข้อมูลเข้า : รายการคะแนนสอบของนักเรียน ทั้ง 40 คน
ข้อมูลออก : คะแนนสูงสุด คะแนนต่ำสุด คะแนนเฉลี่ย
การออกแบบขั้นตอนวิธี
ครูได้ตรวจข้อสอบของนักเรียน 40 คน หากต้องการหาคะแนนสูงสุด ต่ำสุด และคะแนนเฉลี่ยของนักเรียนทุกคน ให้นักเรียนเขียนขั้นตอนวิธีในการหาค่าเฉลี่ยของนักเรียนทุกคน
การระบุข้อมูลเข้าและข้อมูลออก เนื่องจากปัญหานี้สามารถแบ่งได้เป็น 3 ส่วน คือ คะแนนสูงสุด ต่ำสุด และคะแนนเฉลี่ย เราควรเริ่มพิจารณาอย่างใดอย่างหนึ่งก่อน ในที่นี้ จะเริ่มจากคะแนนสูงสุดก่อน ในการออกแบบนั้นจะเริ่มจากการหาคาสูงสุดของข้อมูล โดยสามารถเขียนขั้นตอนได้ดังนี้
ขั้นตอนวิธี : หาค่าสูงสุดของข้อมูล
ข้อมูลเข้า : คะแนนสอบของนักเรียนชั้นมัญมศึกษาปีที่ 4 จำนวน 40 คน
ข้อมูลออก คะแนนสูงสุด
จากนั้นค่อยพิจารณาคะแนนต่ำสุด และ คะแนนเฉลี่ย ในลำดับต่อต่อไป
การสร้างเงื่อนไขด้วยตัวดำเนินการตรรกะ
เงื่อนไขบางเงื่อนไขอาจประกอบด้วยเงื่อนไขย่อยหลายเงื่อนไข และแต่ละเงื่อนไขมักเชื่อมด้วยตัวดำเนินการ "และ : and" , "หรือ : or " แล้วก็ "นิเสธ : not"
ตารางค่าความแสดงค่าความจริงของเงื่อนไขที่ใช้ตัวดำเนินการตรรกะ