top of page

การออกแบบขั้นตอนวิธีในการแก้ปัญหาด้วยผังงาน (Flowchart)

01

 ความหมายของผังงาน

      ผังงาน เป็นเครื่องมือแสดงขั้นตอน หรือกระบวนการทำงาน โดยใช้สัญลักษณ์ที่เป็นมาตรฐานเดียวกัน ซึ่งในสัญลักษณ์จะมีข้อความสั้น ๆ อธิบายข้อมูลที่ต้องใช้ ผลลัพธ์ หรือคำสั่งประมวลผลของขั้นตอนนั้น ๆ และเชื่อมโยงขั้นตอนเหล่านั้นด้วยเส้นที่มีลูกศรชี้ทิศทางการทำงานตั้งแต่เริ่มต้นจนจบกระบวนการ โดยมีการแทนการทำงานต่างๆด้วย สัญลักษณ์ที่แตกต่างกัน

2.png

 ทำไมเราควรออกแบบผังงาน?

02

  • ถูกใช้ในการออกแบบเพื่อช่วยให้เห็นภาพสิ่งที่เกิดขึ้น

  • ช่วยให้เข้าใจกระบวนการทำงาน

  • ช่วยให้เข้าใจในงานตรงกันระหว่างที่ผู้เกี่ยวข้อง เนื่องจากคำพูด หรือ ข้อความ อาจเกิดความเข้าใจผิดได้

  • อาจช่วยหาข้อบกพร่องภายในงานอีกด้วย เช่น ปัญหาคอขวด (ปัญหาที่มีงานไปกองที่ส่วนใดส่วนหนึ่งและส่วนอื่นเกิดการรอ) เป็นต้น

03

ประเภทของผังงาน

1. ผังงานระบบ (System Flowchart) 

      ผังงานที่แสดงการทำงานของระบบซึ่งแสดงภาพรวมของระบบ โดยมีการนำข้อมูลเข้า ประมวลผล และข้อมูลออก โดยแสดงถึงสื่อนำข้อมูลเข้า-ออก แต่ไม่ได้แสดงวิธีการประมวลผล

3.jpg
4.jpg

2. ผังงานโปรแกรม (Program Flowchart) 

      ผังงานที่แสดงการทำงานย่อยหรือลำดับในโปรแกรม ซึ่งแสดงรายละเอียดขั้นตอนการทำงานและประมวลผลโปรแกรมนั้นๆทำให้รู้วิธีการคำนวณรับข้อมูลจากสื่อใด และประมวลผลอย่างไร รวมถึงการแสดงผลลัพธ์ด้วยสื่อหรือวิธีใด

04

 สัญลักษณ์ผังงาน

      ในการเขียนผังงานจะต้องใช้รูปภาพ หรือสัญลักษณ์ มาใช้แทนขั้นตอนการทำงานของโปรแกรม ลักษณะของรูปภาพ หรือสัญลักษณ์ จะมีความหมายในตัวของมันเอง ซึ่งมีหน่วยงานที่ชื่อ American National Standard Institvte (ANSI)  และ Internation  Standard Organization (ISO) ได้รวบรวมและกำหนดให้เป็นสัญลักษณ์มาตรฐานที่จะใช้ในการเขียนผังงาน และผังงานระบบ เพื่อให้เข้าใจตรงกัน

Picssture1.png
5.png
6.png
7.png
8.png
9.png
10.png

05

ตัวอย่างการออกแบบผังงาน ของ ระบบรดน้ำต้นไม้อัตโนมัติ

4.jpg

ระบบจะทำการอ่านค่าความชื้นของดิน ผ่านตัวตรวจจับความชื้น โดยให้ H เป็นค่าความชื้น แล้วทำการประมวลผลโดย ถ้า H มีค่า น้อยกว่า 0.1 จะส่งสัญญาณเปิดน้ำ แต่ถ้าเงื่อนไขไม่เป็นจริงจะทำการปิดน้ำ 

1.png

  การสร้างเงื่อนไขด้วยตัวดำเนินการทางตรรกะ

       เงื่อนไขบางเงื่อนไข เช่น “รถยนต์มีความเร็วที่เหมาะสม” เป็นเงื่อนไขที่ระบุด้วยประโยคที่ชัดเจน ในการออกแบบขั้นตอนวิธีเราสามารถใช้เงื่อนไขแบบนี้ได้... แต่ในบางครั้งระหว่างที่เราวิเคราะห์เงื่อนไขเหล่านี้มักพบว่า เงื่อนไขที่มักระบุด้วยประโยคประมาณนี้มักประกอบไปด้วยเงื่อนไขย่อยๆอีกที เช่น “รถยนต์มีความเร็วที่เหมาะสม” อาจหมายถึงการขับในความเร็ว มากกว่า 40 km/hr แต่ไม่เกิน 90 km/hr สังเกตได้ว่า เงื่อนไขนี้ประกอบด้วยสองเงื่อนไขย่อย และเชื่อมกันด้วยตัวดำเนินการตรรกะ “และ”(AND) 

11.png

ตัวดำเนินการทางตรรกะ เป็นตัวดำเนินการเกี่ยวข้องกับนิพจน์ที่สามารถบอกค่าความจริงเป็นจริง(true) หรือเท็จ (false)ได้ หรือชนิดข้อมูลตรรกะ เช่น ตัวแปรประเภท boolean ผลลัพธ์ที่ได้จากการกระทำจะได้ค่าคงที่ตรรกะเป็น true หรือ false ตัวดำเนินการทางตรรกะ ได้แก่เครื่องหมาย !, &&, &, ||, |, ^  มีตัวอย่างการใช้งานดังนี้

12.png
13.png
14.png

การทำซ้ำ (Loop)

การทำงานแบบวนซ้ำ (Loop)เป็นการนำคำสั่งมาทำงานซ้ำหลายๆ รอบ จะทำงานกี่รอบขึ้นอยู่กับเงื่อนไขที่กำหนดไว้ ซึ่งอาจจะเป็นการกำหนดจำนวนรอบที่แน่นอน เช่น

ตั้งใจว่าจะวิ่งรอบสนาม 3 รอบ

คือรู้แน่นอนว่าจะทำงานกี่รอบ

15.jpg

ตั้งใจว่าจะวิ่งรอบสนามไปเรื่อยๆ เหนื่อยเมื่อไหร่จึงจะหยุดวิ่ง คือไม่แน่ชัดว่าจะทำงานกี่รอบ

16.jpg

สิ่งที่สำคัญสำหรับการทำงานแบบวนซ้ำในการเขียนโปรแกรมคือ เงื่อนไข ซึ่งเงื่อนไขในที่นี้จะมีลักษณะคล้ายกันกับเงื่อนไขแบบทางเลือกนั่นเอง โดยเงื่อนไขจะเป็นตัวกำหนดว่าจะมีการเข้าไปทำงานหรือไม่ ถ้าเงื่อนไขเป็นจริงก็จะเข้าไปทำงาน เมื่อทำงานเสร็จแล้วก็จะมาตรวจสอบเงื่อนไขอีกครั้ง และก็จะทำงานไปเรื่อยๆ ถ้าเงื่อนไขเป็นจริงอยู่เสมอ โปรแกรมจะหยุดทำงานก็ต่อเมื่อผลการตรวจสอบเงื่อนไขในรอบใดรอบหนึ่งเป็นเท็จ ตัวอย่างการกำหนดเงื่อนไข

การทำซ้ำจำนวนรอบแน่นอน

ตั้งใจว่าจะวิ่งรอบสนาม 3 รอบ

คือรู้แน่นอนว่าจะทำงานกี่รอบ

การทำซ้ำจำนวนรอบไม่แน่นอน

ตั้งใจว่าจะวิ่งรอบสนามไปเรื่อยๆ เหนื่อยเมื่อไหร่จึงจะหยุดวิ่ง คือไม่แน่ชัดว่าจะทำงานกี่รอบ

กิจกรรมการเรียนการสอน

แบบทดสอบ : การออกแบบขั้นตอนวิธีและการทำซ้ำ
16.png
ใบภารกิจ : ออกแบบผังงานตามโจทย์ที่กำหนดให้

เอกสารที่เกี่ยวข้อง

Download เอกสารประกอบการเรียนรู้

อ้างอิง

 • komchadluek.net, “อัลคุวาริซมี่ย์:ปราชญ์มุสลิมที่โลกลืม”,

http://www.komchadluek.net/news/politic/205581, สืบค้นวันที่ 24 ก.ค. 62

• วิกิพีเดีย สารานุกรมเสรี, “ขั้นตอนวิธี”, https://th.wikipedia.org/wiki/ขั้นตอนวิธี, สืบค้นวันที่ 24 ก.ค. 62

• จีระพงษ์ โพพันธุ์, “รู้จักอัลกอริทึม”, https://www.krui3.com/content/algorithm-2/, สืบค้นวันที่ 24 ก.ค. 62

15.png
cpu.png

2.3 การออกแบบขั้นตอนวิธีและการทำซ้ำ

bottom of page