การแก้ปัญหาด้วยคอมพิวเตอร์
พื้นฐานการแก้ปัญหาด้วยคอมพิวเตอร์ การทำงานของเครื่องคอมพิวเตอร์จะทำตามโปรแกรมที่เขียนขึ้นมาทุกประการ ดังนั้นการนำเครื่องคอมพิวเตอร์มาช่วยสำหรับการแก้ปัญหาจึงจำเป็นต้องมีโปรแกรมสำหรับการแก้ปัญหานั้น เพื่อสั่งให้เครื่องคอมพิวเตอร์ทำงานตามต้องการ ผู้ที่ทำการเขียนโปรแกรมจึงต้องทราบถึงวิธีการของการแก้ปัญหาที่ต้องการแก้ไขปัญหานั้นทุกขั้นตอน จากนั้นจึงนำมาเรียบเรียงเป็นลำดับขั้นตอนวิธีการทำงานตั้งแต่ขั้นตอนแรกจนถึงขั้นตอนสุดท้าย แล้วนำขั้นตอนวิธีที่ได้เรียบเรียงนั้น มาเขียนเป็นโปรแกรมคอมพิวเตอร์ต่อไป
พื้นฐานการแก้ปัญหาด้วยคอมพิวเตอร์ ขั้นตอนของการวิเคราะห์ปัญหาสำหรับเตรียมการก่อนลงมือเขียนโปรแกรมคอมพิวเตอร์ มี 5 ขั้นตอนดังนี้ - การทำความเข้าใจกับปัญหา (State the problem clearly) - การพิจารณาลักษณะของข้อมูลเข้าและข้อมูลออก (Describe the input and output) - การทดลองแก้ไขปัญหาด้วยตนเอง (Work the problem by hand for a specific set of data)
- การเขียนขั้นตอนวิธีการแก้ปัญหา (Develop an algorithm that is general in nature) 1)เขียนลำดับขั้นตอนวิธีการทำงานทั้งหมดอย่างย่อ 2)เขียนลำดับขั้นตอนวิธีการทำงานอย่างละเอียด 3)วิธีการเขียนลำดับขั้นตอนวิธี *Pseudo codeเขียนขั้นตอนวิธีด้วยภาษาที่ใกล้เคียงภาษาคอมพิวเตอร์ *Flowcharts เขียนขั้นตอนวิธีด้วยรูปภาพผังงาน - การทดสอบขั้นตอนวิธีการแก้ปัญหา (Test the algorithm with a variety of data sets)
การแก้ปัญหาด้วยคอมพิวเตอร์ การบรรยาย (Narrative Description) การเขียนผังงาน (Flowchart) รหัสจำลอง (Pseudo-code)
การบรรยาย เป็นวิธีที่ว่าด้วยการใช้คำพูดบรรยายเป็นตัวอักษร ซึ่งวิธีนี้จะค่อนข้างจะง่ายสำหรับตัวผู้เขียน แต่จะยากต่อการนำไปปฏิบัติ
รหัสจำลอง เป็นการแสดงขั้นตอนการทำงานของโปรแกรม โดยใช้ภาษาพูดง่าย ๆ ที่เป็นภาษาอังกฤษหรือภาษาไทยก็ได้ แต่แนะนำให้ฝึกเขียนเป็นภาษาอังกฤษ เพราะจะมีรูปแบบโครงสร้างที่ใกล้เคียงกับภาษาโปรแกรมมาก โครงสร้างส่วนใหญ่จะนิยมใช้คำสั่งที่เป็นคำสั่งเฉพาะ (Reserve Word) ที่มีอยู่ในภาษาโปรแกรม เช่น IF-THEN-ELSE หรือ DO-WHILE, DO-UNTIL
ผังงาน (Flowchart) เป็นเครื่องมือที่ใช้รูปภาพ แสดงถึงขั้นตอนการเขียนโปรแกรม หรือขั้นตอนในการแก้ปัญหาทีละขั้น และมีเส้นที่แสดงทิศทางการไหลของข้อมูลตั้งแต่จุดเริ่มต้นจนกระทั่งได้ผลลัพธ์ตามที่ต้องการ ซึ่งจะทำให้ผู้อ่านสามารถอ่านและทำความเข้าใจได้โดยง่าย
วิธีการเขียนผังงานที่ดี ใช้สัญลักษณ์ตามที่กำหนดไว้ ใช้ลูกศรแสดงทิศทางการไหลของข้อมูลจากบนลงล่างหรือซ้ายไปขวา คำอธิบายในภาพควรสั้นกระทัดรัด และเข้าใจได้ง่าย ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้า-ออก ไม่ควรโยงเส้นเชื่อมผังงานที่อยู่ไกลมาก ๆ ควรใช้สัญลักษณ์จุดเชื่อมต่อแทน ผังงานควรมีการทดสอบความถูกต้องของการทำงานก่อนไปเขียนโปรแกรม
ผังงานโปรแกรม (Program Flowchart) จะประกอบด้วยการใช้สัญลักษณ์มาตรฐานต่าง จุดเริ่มต้น/สิ้นสุดของโปรแกรม ลูกศรแสดงทิศทางการทำงานของโปรแกรม ใช้แสดงการประมวลผล หรือการกำหนดค่าข้อมูลให้กับตัวแปร แสดงการนำเข้าข้อมูล หรือการแสดงผลลัพธ์ โดยไม่ระบุอุปกรณ์
ใช้สำหรับสร้างเงื่อนไขเพื่อตัดสินใจ โดยจะมีเส้นออกจากรูปเพื่อแสดงทิศทางการทำงานต่อไป ถ้าเงื่อนไขเป็นจริงหรือเป็นเท็จ แสดงการทำงานเป็นรอบ แสดงผลลัพธ์ออกทางจอภาพ แสดงผลลัพธ์หรือรายงานออกทางเครื่องพิมพ์
แสดงจุดเชื่อมต่อของผังงานในหน้าเดียวกัน หรือเป็นจุดเชื่อมต่อของเส้นหลายเส้นที่มาจากหลายทิศทาง เพื่อจะไปสู่การทำงานอย่างใดอย่างหนึ่งที่เหมือนกัน จุดเชื่อมต่อในการขึ้นหน้าใหม่ ในกรณีที่ผังงานมีความยาวมากเกินกว่าที่จะแสดงพอในหนึ่งหน้า
ผังงานกับชีวิตประจำวัน เริ่มต้น จ่าหน้าซองจดหมาย พับจดหมาย ใส่จดหมายลงในซอง ปิดผนึกซองจดหมาย ไปซื้อแสตมป์ มีแสตมป์หรือไม่ ? ส่งจดหมาย จบงาน มี ไม่มี ตัวอย่าง 1 จงเขียนผังงานแสดงขั้นตอนการส่งจดหมาย
ตัวอย่าง 2 จงเขียนผังงานแสดงวิธีการรับประทานยา ที่แบ่งขนาดรับประทานตามอายุของผู้ทานดังนี้ อายุมากกว่า 10 ปี รับประทานครั้งละ 2 ช้อนชา อายุมากกว่า 3 ปี ถึง 10 ปี รับประทานครั้งละ 1 ช้อนชา อายุมากกว่า 1 ปี ถึง 3 ปี รับประทานครั้งละ ½ ช้อนชา แรกเกิด ถึง 1 ปี ห้ามรับประทาน
เริ่มต้น อายุ > 10 ปี อายุ > 3 ปี อายุ > 1 ปี ห้ามรับประทาน จบงาน รับประทานครั้งละ 2 ช.ช. รับประทานครั้งละ 1 ช.ช. รับประทานครั้งละ ½ ช.ช. ใช่ ไม่ใช่