ผังงาน (Flowchart Diagram)
Home  Contents KMArticlesMembersSponsorsAbout us

ปรับปรุง : 2559-06-27 (เพิ่มหนังสือ)
ขอบซ้ายขอบบน
ผังงาน (Flowchart Diagram)

Process Symbol

Input/Output Symbol

Decision Symbol

Terminal Symbol

Document Symbol

Connector Symbol

สารบัญ
+ ความหมายของผังงาน
+ ประเภทของผังงาน
+ ประโยชน์ของการใช้ผังงาน
+ ผังงานโปรแกรมโครงสร้าง
+ ตัวอย่างการเขียนผังงาน
ความหมายของผังงาน
ผังงาน (Flowchart) คือ รูปภาพ (Image) หรือสัญลักษณ์(Symbol) ที่ใช้เขียนแทนขั้นตอน คำอธิบาย ข้อความ หรือคำพูด ที่ใช้ในอัลกอริทึม (Algorithm) เพราะการนำเสนอขั้นตอนของงานให้เข้าใจตรงกัน ระหว่างผู้เกี่ยวข้อง ด้วยคำพูด หรือข้อความทำได้ยากกว่าการใช้ผังงาน
ผังงาน เป็นเครื่องมือแสดงขั้นตอน หรือกระบวนการทำงาน โดยใช้สัญลักษณ์ที่เป็นมาตรฐานเดียวกัน ซึ่งในสัญลักษณ์จะมีข้อความสั้น ๆ อธิบายข้อมูลที่ต้องใช้ ผลลัพธ์ หรือคำสั่งประมวลผลของขั้นตอนนั้น ๆ และเชื่อมโยงขั้นตอนเหล่านั้นด้วยเส้นที่มีลูกศรชี้ทิศทางการทำงานตั้งแต่เริ่มต้นจนจบกระบวนการ [1]p.208
ผังงานแบ่งได้ 2 ประเภท
1. ผังงานระบบ (System Flowchart)
คือ ผังงานที่แสดงขั้นตอนการทำงานในระบบอย่างกว้าง ๆ แต่ไม่เจาะลงในระบบงานย่อย
2. ผังงานโปรแกรม (Program Flowchart)
คือ ผังงานที่แสดงถึงขั้นตอนในการทำงานของโปรแกรม ตั้งแต่รับข้อมูล คำนวณ จนถึงแสดงผลลัพธ์
+ ผังงานถูกใช้สนับสนุนการสอนเขียนโปรแกรม
การโปรแกรมแบบมีโครงสร้าง หรือ การโปรแกรมโครงสร้าง คือ การโปรแกรมที่ประกอบด้วยกระบวนการ 3 รูปแบบ ได้แก่ การทำงานแบบตามลำดับ(Sequence) การเลือกกระทำตามเงื่อนไข(Decision) และ การทำซ้ำ(Loop) มีตำราหลายเล่มแยกการเลือกตามเงื่อนไขเป็น if กับ select case หรือ การทำซ้ำแยกได้เป็น do while กับ do until แต่ก็ยังนับได้ว่าการเขียนโปรแกรมโครงสร้างมีกระบวนการเพียง 3 รูปแบบ และมีแนวคิดใหม่ว่าการโปรแกรมไม่จำเป็นต้องใช้ Structure Programming หากศึกษาในรายละเอียดก็พบว่าทุกภาษายังจำเป็นต้องมีกระบวนการ 3 รูปแบบนี้อยู่เป็นพื้นฐาน เช่น Microsoft Access ที่มีการใช้งาน Tool หรือ wizard ให้ใช้ แต่ก็ยังต้องมีการลง code ใน module ซึ่งต้องมีประสบการณ์ในการโปรแกรมแบบ Structure Programming เพื่อควบคุม Object ให้ทำงานประสานกันได้
1. การทำงานแบบตามลำดับ
(Sequence)
รูปแบบการเขียนโปรแกรมที่ง่ายที่สุดคือ เขียนให้ทำงานจากบนลงล่าง เขียนคำสั่งเป็นบรรทัด และทำทีละบรรทัดจากบรรทัดบนสุดลงไปจนถึงบรรทัดล่างสุด สมมติให้มีการทำงาน 3 กระบวนการคือ อ่านข้อมูล คำนวณ และพิมพ์
2. การเลือกกระทำตามเงื่อนไข
(Decision or Selection)
การตัดสินใจ หรือเลือกเงื่อนไขคือ เขียนโปรแกรมเพื่อนำค่าไปเลือกกระทำ โดยปกติจะมีเหตุการณ์ให้ทำ 2 กระบวนการ คือเงื่อนไขเป็นจริงจะกระทำกระบวนการหนึ่ง และเป็นเท็จจะกระทำอีกกระบวนการหนึ่ง แต่ถ้าซับซ้อนมากขึ้น จะต้องใช้เงื่อนไขหลายชั้น เช่นการตัดเกรดนักศึกษา เป็นต้น ตัวอย่างผังงานนี้ จะแสดงผลการเลือกอย่างง่าย เพื่อกระทำกระบวนการเพียงกระบวนการเดียว
3. การทำซ้ำ
(Repeation or Loop)
การทำกระบวนการหนึ่งหลายครั้ง โดยมีเงื่อนไขในการควบคุม หมายถึงการทำซ้ำเป็นหลักการที่ทำความเข้าใจได้ยากกว่า 2 รูปแบบแรก เพราะการเขียนโปรแกรมแต่ละภาษา จะไม่แสดงภาพอย่างชัดเจนเหมือนการเขียนผังงาน ผู้เขียนโปรแกรมต้องจินตนาการด้วยตนเอง
การเขียนผังงานเพื่ออธิบายขั้นตอนการทำงาน
+ ผังงาน เป็นเครื่องมือสำหรับวาดภาพ 2 มิติ นำเสนอขั้นตอนการทำงาน มักใช้ในการแสดงแบบโปรแกรมที่ไม่ซับซ้อนมากนัก ต่อมาก็มีการประยุกต์ใช้แสดงขั้นตอนการทำงานของส่วนงานต่าง ๆ เพราะสัญลักษณ์ในแผนภาพช่วยในการอธิบายการทำงานแบบมีเงื่อนไขได้ดีกว่าการเขียนเชิงพรรณา
ประโยชน์ของการใช้ผังงาน
1. ทำให้เข้าใจ และแยกแยะปัญหาได้ง่าย (Problem Define)
2. แสดงลำดับการทำงาน (Step Flowing)
3. หาข้อผิดพลาดได้ง่าย (Easy to Debug)
4. ทำความเข้าใจโปรแกรมได้ง่าย (Easy to Read)
5. ไม่ขึ้นกับภาษาใดภาษาหนึ่ง (Flexible Language)

+ http://manufacturingvsmechanical.blogspot.com/2014/08/flow-chart-and-meaning.html
+ http://www.cutting-mats.net/flow-chart-template-3473.html
มีความเข้าใจในขั้นตอน ก่อน ลงมือเขียนผังงาน
หน้าที่ของผังงาน คือ การนำเสนอกระบวนการ (Process) ในขอบเขตจำกัด ให้เข้าใจว่าหากรับข้อมูลเข้า (Input) แล้วจะประมวลผลอย่างไร จึงได้ออกมาเป็นผลลัพธ์ (Output) ในอดีตการเขียนโปรแกรม หรือกระบวนการไม่ซับซ้อน การมองภาพ IPO (input - process - output) สามารถอยู่ในผังงานเดียวกันได้ จึงนิยมใช้เป็นเครื่องมือสร้างทักษะให้กับผู้เริ่มต้นในการมองการประมวลผลของระบบทีละขั้นตอน
ปัจจุบันการประมวลผล จะรับข้อมูล แล้วประมวลผล ส่งผลไปเป็นข้อมูลของอีกกระบวนการหนึ่ง อาจทำอย่างนี้อีกหลายรอบ ด้วยกระบวนการ และข้อมูลที่ต่างกัน การใช้ผังงานจึงได้รับความนิยมลดลงในการใช้แสดงแบบซอฟท์แวร์ขนาดใหญ่ เนื่องจากการประมวลผลมีความซับซ้อนมากขึ้น ปัจจุบันมีการใช้ Data Flow Diagram หรือ UML มาแสดงแบบซอฟท์แวร์ที่มองได้กว้างและครอบคลุมกว่า
+ Process หมายถึง ประมวลผล ที่ให้ความสำคัญกับการนำเข้า และส่งออก
+ Procedure หมายถึง กระบวนการ ที่ให้ความสำคัญกับขั้นตอนของการทำงานทีละขั้น
แผนผังนี้ .. สื่อว่าการดำเนินการภายหลังได้มีการออกระเบียบ ประกาศ คำสั่งนั้น มีหลายแนวทางในการนำเข้าระบบฐานข้อมูล หรือไม่นำเข้าระบบก็ได้ ทั้งนี้ขึ้นอยู่กับการพิจารณาของเจ้าของเรื่อง หากนำเข้าระบบซึ่งเป็นฐานข้อมูลภายใน ก็เลือกได้อีกว่าจะเผยแพร่โดยบุคคลที่เกี่ยวข้องหรือไม่ แสดงให้เห็นว่ามีทั้งระบบและกลไกที่เข้ามาเกี่ยวข้องในผังงานนี้
+ flowchart_doc_sys.pptx

เกณฑ์การตัดเกรด แต่ละแบบ
ขอบซ้ายขอบบน
การเขียนผังงาน
โจทย์ที่ 1
- พิมพ์เลข 0 ถึง 4 ทางจอภาพ

ตัวอย่างผังงาน
โจทย์ที่ 2
- รับค่าจากแป้นพิมพ์เก็บลงตัวแปรอาร์เรย์ 5 ตัว
- แล้วทำซ้ำอีกครั้ง เพื่อหาค่าสูงสุด
ตัวอย่างผังงาน
อัลกอริทึม
1. กำหนดค่าเริ่มต้นให้ max, i และ ar
2. ทำซ้ำเพื่อรับค่าเก็บใน ar ให้ครบ 5 ครั้ง
3. กำหนดค่าเริ่มต้นให้ i อีกครั้ง
4. ทำซ้ำเพื่อนำค่าที่เก็บไว้ใน ar มาหาค่า max
5. พิมพ์ค่าสูงสุด ที่หาได้




ภาพจาก facebook.com

ถ้าเขียนผังงานจากภาพนี้
จะเขียนอย่างไร

ตัวอย่างผังงานระบบไฟแดง

โจทย์ที่ 3
- พิมพ์พีระมิดของตัวเลขดังตัวอย่าง
- มีโจทย์อีกหลายสิบให้ฝึกทำ
Result
1
12
123
1234
12345
Source Code
<?
$i = 1;
while ($i <= 5){
  $j = 1;
  while ($j <= $i) {
    echo $j;
    $j++;
  }
  echo "<br>";
  $i++;
}
?>
Source Code
#include <iostream.h>
#include <conio.h>
void main() {
  for(int i=1;i<=5;i++) {
    for(int j=1;j<=i;j++) {
      cout << j;
    }
    cout << "end" << '\n';
  }
  getch();
}


ดาวน์โหลด : diaflowchart01.dia
Dia - Diagram Drawing ใน ซีดีจันทรา บล็อก : ดาวน์โหลด : บนแฟรชไดร์ฟ 21 MB : UML by dia : ซีดีจันทรา
+ Dia (ไดอะ) เป็นโปรแกรมวาดภาพกราฟฟิกส์แบบเวกเตอร์ที่ออกแบบมา เพื่อให้ใช้ในการ เขียนไดอะแกรมโดยเฉพาะ สามารถเขียนไดอะแกรมได้หลายชนิดอย่างรวดเร็ว Dia มี ชุดออปเจคที่ช่วยในการวาด Entity Relationship Diagram, UML Diagram, Flowchart Diagram, Network Diagram ,วงจรไฟฟ้าอย่างง่าย ๆ รวมถึงไดอะแกรมอื่น นอกจากนี้ Dia ยังสามารถเพิ่มชุดออปเจคได้ด้วยการเขียนไฟล์ XML
+ Dia รุ่น 0.97.2 สามารถใช้งานผ่าน Flash Drive โดยไม่ต้องติดตั้ง เรียกใช้ได้ทันที
Files
+ flowchart1.dia
+ flowchart1.pptx
โปรแกรม visual logic คือ เครื่องมือสำหรับวาดผังงาน (Flowchart) แบบแทรกภาพ และสามารถสั่งประมวลผล เพื่อทดสอบการรับข้อมูล การแสดงผล การทำซ้ำ การทำงานตามเงื่อนไข แล้วยังมีสัญลักษณ์สำหรับวาดภาพ หรือเพิ่มเสียงได้ ซึ่งสัญลักษณ์ที่มีให้ใช้มีครอบคลุมการใช้งานพื้นฐาน เช่น input, assignment, output, if, for, while, exit, make array เป็นต้น หลังวาดผังงานเสร็จสามารถ export ออกไปเป็น code ภาษา Pascal หรือ Visual Basic ได้
+ ถ้าสนใจโปรแกรมนี้ เข้าไปศึกษารายละเอียดที่ visuallogic.org หรือ download demo version มาทดสอบได้ครับ
ขอบซ้ายขอบบน
ชีวิตจริง กับคอมพิวเตอร์
เรื่องนี้เป็น 1 ใน 3 ของ structured programming
ในชีวิตจริง 
มีคำว่า if .. then .. ให้เห็นอยู่เสมอตามข่าว 
เช่น ระเบิดที่ ถ.บรรทัดทอง
เพราะการระเบิดที่ทำให้ผู้ชุมนุมได้รับบาดเจ็บ
จะมีผลให้สถานการณ์เปลี่ยนไป
เมื่อเขียนเป็น pseudocode จะได้ว่า
ถ้า มีความรุนแรง และมีผู้ชุมนุมได้รับบาดเจ็บ
แล้ว รัฐบาลต้องรับผิดชอบ หรือเปลี่ยนผู้บริหารประเทศ
ในชีวิตจริงมีตัวแปรมากกว่า 1 ตัวเสมอ
if $violent == true then 
  change("yes") 
else 
  change("no")
+ http://www.manager.co.th
+ http://www.thaiall.com/blog/burin/5718/
ขอบซ้ายขอบบน
ผังงานแบบโครงสร้าง กับไม่เป็นโครงสร้าง
มีโอกาสพูดคุยกับนักศึกษาเรื่องการเขียนผังงาน ว่าเขียนแบบใดนำไปเขียนโปรแกรมได้ และได้คุยกับนักศึกษาที่ทำ IS และบุคลากรที่สนใจใช้ SPSS เพื่อให้เห็นภาพรวมของการประมวลผลข้อมูลทางสถิติ ต้องรู้ว่าเริ่มต้นอย่างไร และสิ้นสุดอย่างไร เพราะการประมวลผล T-Test, F-Test, Chi-Square หรือ One-way ANOVA เป็นเพียงขั้นตอนตรงกลางของการวิจัยทางสังคมศาสตร์และมนุษยศาสตร์เท่านั้น
+ research.pptx
ขอบซ้ายขอบบน
ใช้ผังงานสื่อสารกับนักเรียน ม.ต้น
การเขียนผังงานนั้น ถูกนำไปใช้สื่อสารกับนักเรียนระดับ ม.ต้น
ใน หนังสือวิชางานประดิษฐ์ ม.1-3 หน้า 73 ของสำนักพิมพ์แม็ค จำกัด 
หมายความว่า เด็กระดับมัธยม ได้เรียนรู้การใช้ flowchart กันแล้ว
ซึ่งพบเห็นการใช้ผังงานในหนังสือระดับมัธยมอยู่เสมอ
ภาพนี้ใช้แสดงความสัมพันธ์ของ 6 ขั้นตอน
ในหัวข้อ "หลักการแก้ปัญหาในงานประดิษฐ์"
1. พบปัญหา
2. ทำความเข้าใจปัญหา
3. วางแผนและออกแบบวิธีแก้ปัญหา
4. ดำเนินการแก้ปัญหาตามวิธีที่วางไว้
5. ตรวจสอบการแก้ปัญหา
6. นำไปใช้

ตัวอย่างปัญหาที่จะให้นักเรียนใช้ผังงานนี้ในการแก้ปัญหา
1. ปัญหาหลอดไฟไม่ส่องแสงเมื่อเปิดไฟ
2. ระบบไฟฟ้าจากพลังงานแสงอาทิตย์ไม่ทำงานตามปกติ
+ http://m.maceducation.com/prd.php?id=3116

# แต่ผังงานนี้เป็นผังงานที่ยังไม่เป็นผังงานแบบโครงสร้าง
ขอบซ้ายขอบบน
กรณีศึกษา
รถคันไหนควรได้ไปก่อน ถ้าถึงพร้อมกัน
เป็น problem ให้พิจารณาตัดสินใจ
ก่อนตัดสินใจ ให้เปลี่ยนเงื่อนไขว่า
"ถ้าเปลี่ยน รถโรงเรียน เป็น รถดับเพลิง"
ผลการพิจารณา จะเป็นอย่างไร
แล้วให้นักศึกษาเขียน if ซ้อนกัน 4 ชั้น
สำหรับติดสินใจว่า รถคันใดจะได้ไปก่อน
เป็น solution ของภาพนี้
ที่มี 4 ชั้น เพราะเผื่อรถทั่วไปด้วย
ขอบซ้ายขอบบน
แนะนำเว็บ (Web Guides)
- เครื่องมือ Edraw Flowchart Software : flowcharttools.com
- สอนเขียนเป็นภาษาอังกฤษ : tpub.com
- เนื้อหาการเขียน Flow chart ที่สมบูรณ์ : bcom.net
- รวมภาพสัญลักษณ์จากไซต์ต่าง ๆ : blogspot.com
ระบบคอมพิวเตอร์
ระบบคอมพิวเตอร์
เอกสารอ้างอิง
[1] วิโรจน์ ชัยมูล และสุพรรษา ยวงทอง, "ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ", บริษัท โปรวิชั่น จำกัด, กรุงเทพฯ, 2558.
"Imagination is more important than knowledge" - Albert Einstein
Home
Thaiabc.com
Thainame.net
Lampang.net
Nation university
PHP
MySQL
Visual basic.NET
TabletPC
Linux
Online quiz
Download
Search engine
Web ranking
Add website
Blog : Education
Blog : ACLA
Blog : Lampang
Facebook.com
Twitter.com
About us
My dream
Site map
Sponsor
http://goo.gl/72BPC