การเริ่มเขียนโปรแกรมต้องออกแบบการทำงานของโปรแกรมขึ้นมาก่อนหรือเรียกว่า การออกแบบอัลกอริทึม ทำได้โดยสร้างลำดับของคำสั่งให้คอมพิวเตอร์ทำงาน เช่น ถ้าหากต้องการให้ตัวละครเคลื่อนที่ 100 ก้าวอาจทำได้ ดังนี้
คอมพิวเตอร์จะทำงานตามคำสั่งหรืออัลกอริทึมที่กำหนดการให้คอมพิวเตอร์ทำงานอย่างใดอย่างหนึ่งอย่างถูกต้องนั้น ต้องออกแบบอัลกอริทึมให้สมบูรณ์ โดยตรวจสอบเงื่อนไขให้ครอบคลุมทุกกรณี แล้วจึงพัฒนาเป็นโปรแกรมคอมพิวเตอร์ถ้าทำงานผิดพลาดหรือมีส่วนใดที่ทำงานไม่สมบูรณ์ เราสามารถปรับปรุงอัลกอริทึมได้แล้วจึงแก้ไขโปรแกรมต่อไป
แนวข้อสอบ
1. ก่อนเริ่มเขียนโปรแกรมควรทำอะไรเป็นลำดับแรก
1) ออกแบบแผนภาพความคิด
2) ออกแบบอัลกอริทึม
3) กำหนดตัวแปร
4) สร้างตาราง
ตัวอย่าง
ถ้าต้องการออกแบบอัลกอริทึมสำหรับประมวลผลการสอบ โดยวิชาที่สอบจะมีคะแนนเต็ม 100 คะแนน ถ้าทำคะแนนได้มากกว่าหรือเท่ากับ 50 คะแนน จะผ่านดังนั้นเงื่อนไขของปัญหานี้ คือ ถ้าคะแนนมากกว่าหรือเท่ากับ 50 คะแนน ผ่าน และถ้าคะแนนตั้งแต่ 0 ถึง 49 จะไม่ผ่านนั่นเอง ปัญหานี้ข้อมูลรับเข้า คือ คะแนน ส่วนข้อมูลส่งออก คือ ผลการสอบ เราอาจเขียนอัลกอริทึมได้ ดังนี้
เริ่มต้น
1. รับค่าคะแนนมาเก็บใน X
2. เงื่อนไข x >= 50 ใช่หรือไหม?
2.1 ถ้า x>=50 ผลสอบผ่าน
2.2 ถ้า x< 50 ผลสอบไม่ผ่าน
3. แสดงผลสอบ
จบ

การออกแบบอัลกอริทึมควรเขียนการทำงานหลัก ๆ ออกมาก่อน สำหรับการทำงานย่อย ๆ อาจแทรกเข้าไปภายหลังได้
การประมวลผล หมายถึง กระบวนการคิดหรือการจัดระเบียบแบบแผนของข้อมูล เพื่อให้ได้ผลลัพธ์ตามที่ต้องการ ซึ่งทำได้โดยการคำนวณ เคลื่อนย้าย ข้อมูลการเปรียบเทียบ และการคิดวิเคราะห์ข้อมูล อาจใช้สูตรทางคณิตศาสตร์หรือวิทยาศาสตร์
จากรูปตอบคำถามต่อไปนี้
- ถ้าได้คะแนนสอบ 48 คะแนนเมื่อประมวลผลสอบแล้วเป็นอย่างไร
- ถ้าได้คะแนนสอบ 50 คะแนนเมื่อประมวลผลสอบแล้วเป็นอย่างไร
- ข้อมูลรับเข้าคืออะไร
- ข้อมูลส่งออกคืออะไร
- มีวิธีใดบ้างที่เปลี่ยนเงื่อนไขจากX >= 50 เป็นวิธีอื่น โดยได้ผลลัพธ์เหมือนเดิม
การเริ่มเขียนโปรแกรมต้องออกแบบการทำงานของโปรแกรมขึ้นมาก่อนหรือเรียกว่า การออกแบบอัลกอริทึม ทำได้โดยสร้างลำดับของคำสั่งให้คอมพิวเตอร์ทำงานอย่างใดอย่างหนึ่งโดยให้ครอบคลุมทุกกรณี แล้วจึงพัฒนาเป็นโปรแกรมคอมพิวเตอร์ เช่น การออกแบบอัลกอริทึมการประมวลผลการสอบและการออกแบบอัลกอริทึมควรเขียนการทำงานหลัก ๆ ออกมาก่อน สำหรับการทำงานย่อย ๆ อาจแทรกเข้าไปภายหลังได้
Leave a Reply