วิทยาการคำนวณ (Computing science) เป็นวิชาที่มุ่งเน้นการเรียนการสอนให้เด็กสามารถคิดเชิงคำนวณ (Computational thinking) มีความพื้นฐานความรู้ด้านเทคโนโลยีดิจิทัล (Digital technology) และมีพื้นฐานการรู้เท่าทันสื่อและข่าวสาร (Media and information literacy)
วิทยาการคำนวณ (Computing science) เป็นวิชาที่มุ่งเน้นการเรียนการสอนให้เด็กสามารถคิดเชิงคำนวณ (Computational thinking) มีความพื้นฐานความรู้ด้านเทคโนโลยีดิจิทัล (Digital technology) และมีพื้นฐานการรู้เท่าทันสื่อและข่าวสาร (Media and information literacy)
วิทยาการคำนวณ (Computing science) เป็นวิชาที่มุ่งเน้นการเรียนการสอนให้เด็กสามารถคิดเชิงคำนวณ (Computational thinking) มีความพื้นฐานความรู้ด้านเทคโนโลยีดิจิทัล (Digital technology) และมีพื้นฐานการรู้เท่าทันสื่อและข่าวสาร (Media and information literacy)
การออกแบบขั้นตอนวิธีในการแก้ปัญหาด้วยผังงาน (Flowchart)
01
ความหมายของผังงาน
ผังงาน เป็นเครื่องมือแสดงขั้นตอน หรือกระบวนการทำงาน โดยใช้สัญลักษณ์ที่เป็นมาตรฐานเดียวกัน ซึ่งในสัญลักษณ์จะมีข้อความสั้น ๆ อธิบายข้อมูลที่ต้องใช้ ผลลัพธ์ หรือคำสั่งประมวลผลของขั้นตอนนั้น ๆ และเชื่อมโยงขั้นตอนเหล่านั้นด้วยเส้นที่มีลูกศรชี้ทิศทางการทำงานตั้งแต่เริ่มต้นจนจบกระบวนการ โดยมีการแทนการทำงานต่างๆด้วย สัญลักษณ์ที่แตกต่างกัน
ทำไมเราควรออกแบบผังงาน?
02
-
ถูกใช้ในการออกแบบเพื่อช่วยให้เห็นภาพสิ่งที่เกิดขึ้น
-
ช่วยให้เข้าใจกระบวนการทำงาน
-
ช่วยให้เข้าใจในงานตรงกันระหว่างที่ผู้เกี่ยวข้อง เนื่องจากคำพูด หรือ ข้อความ อาจเกิดความเข้าใจผิดได้
-
อาจช่วยหาข้อบกพร่องภายในงานอีกด้วย เช่น ปัญหาคอขวด (ปัญหาที่มีงานไปกองที่ส่วนใดส่วนหนึ่งและส่วนอื่นเกิดการรอ) เป็นต้น
03
ประเภทของผังงาน
1. ผังงานระบบ (System Flowchart)
ผังงานที่แสดงการทำงานของระบบซึ่งแสดงภาพรวมของระบบ โดยมีการนำข้อมูลเข้า ประมวลผล และข้อมูลออก โดยแสดงถึงสื่อนำข้อมูลเข้า-ออก แต่ไม่ได้แสดงวิธีการประมวลผล
2. ผังงานโปรแกรม (Program Flowchart)
ผังงานที่แสดงการทำงานย่อยหรือลำดับในโปรแกรม ซึ่งแสดงรายละเอียดขั้นตอนการทำงานและประมวลผลโปรแกรมนั้นๆทำให้รู้วิธีการคำนวณรับข้อมูลจากสื่อใด และประมวลผลอย่างไร รวมถึงการแสดงผลลัพธ์ด้วยสื่อหรือวิธีใด
04
สัญลักษณ์ผังงาน
ในการเขียนผังงานจะต้องใช้รูปภาพ หรือสัญลักษณ์ มาใช้แทนขั้นตอนการทำงานของโปรแกรม ลักษณะของรูปภาพ หรือสัญลักษณ์ จะมีความหมายในตัวของมันเอง ซึ่งมีหน่วยงานที่ชื่อ American National Standard Institvte (ANSI) และ Internation Standard Organization (ISO) ได้รวบรวมและกำหนดให้เป็นสัญลักษณ์มาตรฐานที่จะใช้ในการเขียนผังงาน และผังงานระบบ เพื่อให้เข้าใจตรงกัน
05
ตัวอย่างการออกแบบผังงาน ของ ระบบรดน้ำต้นไม้อัตโนมัติ
ระบบจะทำการอ่านค่าความชื้นของดิน ผ่านตัวตรวจจับความชื้น โดยให้ H เป็นค่าความชื้น แล้วทำการประมวลผลโดย ถ้า H มีค่า น้อยกว่า 0.1 จะส่งสัญญาณเปิดน้ำ แต่ถ้าเงื่อนไขไม่เป็นจริงจะทำการปิดน้ำ
การสร้างเงื่อนไขด้วยตัวดำเนินการทางตรรกะ
เงื่อนไขบางเงื่อนไข เช่น “รถยนต์มีความเร็วที่เหมาะสม” เป็นเงื่อนไขที่ระบุด้วยประโยคที่ชัดเจน ในการออกแบบขั้นตอนวิธีเราสามารถใช้เงื่อนไขแบบนี้ได้... แต่ในบางครั้งระหว่างที่เราวิเคราะห์เงื่อนไขเหล่านี้มักพบว่า เงื่อนไขที่มักระบุด้วยประโยคประมาณนี้มักประกอบไปด้วยเงื่อนไขย่อยๆอีกที เช่น “รถยนต์มีความเร็วที่เหมาะสม” อาจหมายถึงการขับในความเร็ว มากกว่า 40 km/hr แต่ไม่เกิน 90 km/hr สังเกตได้ว่า เงื่อนไขนี้ประกอบด้วยสองเงื่อนไขย่อย และเชื่อมกันด้วยตัวดำเนินการตรรกะ “และ”(AND)
ตัวดำเนินการทางตรรกะ เป็นตัวดำเนินการเกี่ยวข้องกับนิพจน์ที่สามารถบอกค่าความจริงเป็นจริง(true) หรือเท็จ (false)ได้ หรือชนิดข้อมูลตรรกะ เช่น ตัวแปรประเภท boolean ผลลัพธ์ที่ได้จากการกระทำจะได้ค่าคงที่ตรรกะเป็น true หรือ false ตัวดำเนินการทางตรรกะ ได้แก่เครื่องหมาย !, &&, &, ||, |, ^ มีตัวอย่างการใช้งานดังนี้
การทำซ้ำ (Loop)
การทำงานแบบวนซ้ำ (Loop)เป็นการนำคำสั่งมาทำงานซ้ำหลายๆ รอบ จะทำงานกี่รอบขึ้นอยู่กับเงื่อนไขที่กำหนดไว้ ซึ่งอาจจะเป็นการกำหนดจำนวนรอบที่แน่นอน เช่น
ตั้งใจว่าจะวิ่งรอบสนาม 3 รอบ
คือรู้แน่นอนว่าจะทำงานกี่รอบ
ตั้งใจว่าจะวิ่งรอบสนามไปเรื่อยๆ เหนื่อยเมื่อไหร่จึงจะหยุดวิ่ง คือไม่แน่ชัดว่าจะทำงานกี่รอบ
สิ่งที่สำคัญสำหรับการทำงานแบบวนซ้ำในการเขียนโปรแกรมคือ เงื่อนไข ซึ่งเงื่อนไขในที่นี้จะมีลักษณะคล้ายกันกับเงื่อนไขแบบทางเลือกนั่นเอง โดยเงื่อนไขจะเป็นตัวกำหนดว่าจะมีการเข้าไปทำงานหรือไม่ ถ้าเงื่อนไขเป็นจริงก็จะเข้าไปทำงาน เมื่อทำงานเสร็จแล้วก็จะมาตรวจสอบเงื่อนไขอีกครั้ง และก็จะทำงานไปเรื่อยๆ ถ้าเงื่อนไขเป็นจริงอยู่เสมอ โปรแกรมจะหยุดทำงานก็ต่อเมื่อผลการตรวจสอบเงื่อนไขในรอบใดรอบหนึ่งเป็นเท็จ ตัวอย่างการกำหนดเงื่อนไข
การทำซ้ำจำนวนรอบแน่นอน
ตั้งใจว่าจะวิ่งรอบสนาม 3 รอบ
คือรู้แน่นอนว่าจะทำงานกี่รอบ
การทำซ้ำจำนวนรอบไม่แน่นอน
ตั้งใจว่าจะวิ่งรอบสนามไปเรื่อยๆ เหนื่อยเมื่อไหร่จึงจะหยุดวิ่ง คือไม่แน่ชัดว่าจะทำงานกี่รอบ