5. วิทยาการคำนวณ ม.2 : แนวคิดเชิงคำนวณและการประยุกต์ใช้
5. วิทยาการคำนวณ ม.2 : แนวคิดเชิงคำนวณและการประยุกต์ใช้
แนวคิดเชิงคำนวณ (Computational Thinking)
เป็นกระบวนการวิเคราะห์ปัญหา เพื่อให้ได้แนวทางการหาคำตอบอย่างเป็นขั้นตอนที่สามารถนำไปปฏิบัติได้โดยบุคคลหรือคอมพิวเตอร์อย่างถูกต้องและแม่นยำ ซึ่งเรียกว่า อัลกอริทึม ทักษะการใช้แนวคิดเชิงคำนวณจึงสำคัญต่อการแก้ปัญหา ช่วยให้สามารถสื่อสารแนวคิดกับผู้อื่นได้อย่างมีประสิทธิภาพ รวมถึงช่วยพัฒนาพื้นฐานในการเขียนโปรแกรมคอมพิวเตอร์ด้วยแนวคิดเชิงคำนวณมีองค์ประกอบที่สำคัญ 4 ส่วน ได้แก่
อัลกอริทึม มีเครื่องมือช่วยในการเขียนที่นิยมใช้ 3 แบบ
การเขียนอัลกอริทึม เป็นการวางแผนเกี่ยวกับการแก้ปัญหา โดยจะอธิบายการทำงานที่ชัดเจนเพื่อเป็นแนวทางในการเขียนโปรแกรม ช่วยให้การเขียนโปรแกรมทำได้ง่ายขึ้น ช่วยให้โปรแกรมมีข้อผิดพลาดน้อยลง นอกจากนี้ยังช่วยตรวจสอบการทำงานของโปรแกรม ทำให้ทราบขั้นตอนการทำงานของโปรแกรมได้อย่างรวดเร็ว โดยไม่ต้องดูจากโปรแกรมจริง
ในการเขียนอัลกอริทึม มีเครื่องมือช่วยในการเขียนที่นิยมใช้ 3 แบบ คือ
1. บรรยาย (narrative description)
2. ผังงาน (flowchart)
3. รหัสลำลอง (pseudo code)
1. การเขียนอัลกอริทึมแบบบรรยาย เป็นการแสดงขั้นตอนการทำงานในลักษณะการบรรยายเป็นข้อความด้วยภาษาพูดใด ๆ เช่น ภาษาไทย ภาษาอังกฤษ ภาษาเกาหลี ภาษาญี่ปุ่น หรือ ภาษาจีน เป็นต้น ขึ้นอยู่กับความถนัดของผู้เขียนอัลกอริทึม มักเขียนบรรยายขั้นตอนการทำงานเป็นข้อๆ เช่น
ตัวอย่าง การปลูกต้นไม้ แสดงขั้นตอนการทำงานด้วยอัลกอริทึมแบบบรรยายได้ดังนี้
เริ่มต้น
ขุดหลุม
ใส่ปุ๋ย
นำต้นไม้ลงหลุม
กลบดิน
ปักหลักยึดต้นไม้
รดน้ำ
จบการทำงาน
2. การเขียนอัลกอริทึมแบบผังงาน การเขียนอัลกอริทึมแบบผังงานจะแสดงขั้นตอนการทำงานในลักษณะของรูปภาพหรือสัญลักษณ์ ซึ่งเป็นสัญลักษณ์ที่เป็นมาตรฐาน ไม่อ้างอิงภาษาใดภาษาหนึ่ง ทำให้เห็นลำดับการทำงานก่อนหลังได้ชัดเจน เช่น
ตัวอย่าง การปลูกต้นไม้ แสดงขั้นตอนการปลูกต้นไม้ด้วยผังงาน ดังภาพต่อไปนี้
3. การเขียนอัลกอริทึมโดยใช้รหัสลำลอง เป็นการเขียนขั้นตอนการทำงานในลักษณะของคำอธิบายที่มีรูปแบบโครงสร้างชัดเจน ไม่ขึ้นกับภาษาใดภาษาหนึ่ง แต่สามารถเปลี่ยนเป็นภาษาคอมพิวเตอร์ได้ง่าย ดังนั้นโครงสร้างส่วนใหญ่จึงนิยมใช้คำสั่งเฉพาะที่มีอยู่ในคอมพิวเตอร์เพื่อแทนการทำงานต่าง ๆ เช่น Read if Case หรือ While/Do เป็นต้น การเขียนอัลกอริทึมมีลักษณะดังต่อไปนี้
1. รูปแบบเป็นภาษพูดง่าย ๆ ภาษอังกฤษ หรือภาษาไทยก็ได้
2. ไม่มีกฎที่แน่นอนตายตัว แต่ลักษณะคล้ายกับภาษาคอมพิวเตอร์
3. ไม่เจาะจงภาษาคอมพิวเตอร์ใดภาษาหนึ่ง
4. ใช้คำเฉพาะ (Keyword)
5. เริ่มต้น คือคำสั่งที่อยู่บรรทัดแรก และ สิ้นสุด คือ คำสั่งที่อยู่บรรทัดสุดท้าย
6. ใช่ย่อหน้าในการเขียนการทำงานย่อยที่อยู่ภายใน
7. ไม่ระบุอุปกรณ์ในการรับข้อมูลหรือแสดงผลข้อมูล
8. ข้อมูลต่าง ๆที่ใช้ควรจะอยู่ในรูปของตัวแปร
รูปแบบ Algorithm แบบรหัสเทียม
<ชื่อของอัลกอริทึม>
START
1……………………………….
2……………………………….
3…………………………………
END
ตัวอย่างโจทย์
จงเขียนโปรแกรมคำนวณหาพื้นที่ สามเหลี่ยมทั่วไป โดยให้โปรแกรมมีการรับค่า ฐาน และ สูงจากทาง Keyboard จากนั้นแสดงผลลัพธ์ของพื้นที่ออกทางจอภาพ
วิเคราะห์โจทย์
แบ่งออกเป็นสองส่วนคือ ส่วนในการรับค่า คือรับค่า ฐาน และ สูงจากผู้ใช้มาเก็บไว้ในตัวแปร และส่วนในการคำนวณ สูตรในการหาพื้นที่สามเหลี่ยมคือ (1/2) * ฐาน * สูง
ตัวอย่าง การเขียนอัลกอริทึม คำนวณหาพื้นที่สามเหลี่ยมอัลกอริทึม (Algorithm) การหาพื้นที่สามเหลี่ยม
เริ่มต้น
รับค่าความยาวของฐานมาเก็บในตัวแปร BASE
รับค่าความยาวของสูงมาเก็บในตัวแปร HEIGHT
คำนวณหาพื้นที่ AREA = 0.5 * BASE*HEIGHT
แสดงผลพื้นที่
จบ
ซูโดโค้ด (Pseudo codes) Algorithm Triangle
START
READ BASE
READ HEIGHT
AREA = 0.5 * BASE * HEIGHT
PRINT AREA
END
** อัลกอริทึมที่ดีจะต้องมีความถูกต้อง ทำงานได้เร็ว สั้น กระชับ ใช้เนื้อที่ในหน่วยความจะน้อย มีความยืดหยุ่นเขียนโปรแกรมได้เร็ว และง่ายต่อการทำความเข้าใจ การเขียนอัลกอริทึมเป็นการวางแผนเกี่ยวกับการแก้ปัญหา โดยจะอธิบายการทำงานที่ชัดเจนเพื่อเป็นแนวทางในการเขียนโปรแกรม ช่วยให้การเขียนโปรแกรมทำได้ง่ายขึ้น ลดข้อผิดพลาดของโปรแกรม และช่วยตรวจสอบการทำงานของโปแกรม **
ภารกิจช่วยอัศวินไปหาเจ้าหญิง
(โดยการใช้แนวคิดเชิงคำนวณ ให้ใช้จำนวนช่องน้อยที่สุด)
1. ไม่มีอุปสรรคใด ๆ
2. มีอุปสรรคทั้งสองเส้นทาง
3. มีอุปสรรคและมีอาวุธให้