ผังงาน

ผังงาน (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();
}

โจทย์ที่ 4 : การใช้ for ซ้อน for 
อัลกอริทึม (Algorithm)
คือ กลุ่มของขั้นตอนหรือกฎเกณฑ์ที่จะนำพาไปสู่การแก้ปัญหา 
คือ ขั้นตอนวิธีที่ประกอบด้วยชุดคำสั่งเป็นขั้นเป็นตอนที่ชัดเจน 
และรับประกันว่าเมื่อได้ปฏิบัติถูกต้องตามขั้นตอนจนครบก็จะได้ผลลัพธ์ที่ถูกต้องตามต้องการ 
คือ รูปแบบของการกำหนดการทำงานอย่างเป็นขั้นตอน ซึ่งผ่านการวิเคราะห์และแยกแยะ 
เพื่อการแก้ปัญหาต่าง ๆ ตามลำดับขั้น อาจเลือกใช้ภาษาไทยหรือภาษาอังกฤษตามความถนัด 
เพื่อนำเสนอขั้นตอนของกิจกรรมก็ได้ 

รหัสเทียม หรือซูโดโค้ด (Pseudo Code)
คือ รหัสจำลองที่ใช้เป็นตัวแทนของอัลกอริทึม โดยมีถ้อยคำหรือประโยคคำสั่งที่เขียนอยู่ในรูปแบบ
ของภาษาอังกฤษที่ไม่ขึ้นกับภาษาคอมพิวเตอร์ใดภาษาหนึ่ง 
คือ การแสดงขั้นตอนวิธีการที่ใช้ภาษาเขียนที่เข้าใจได้ง่าย อาจใช้ภาษาไทยหรือภาษาอังกฤษก็ได้
ขึ้นอยู่กับความสะดวกของผู้เขียนและกิจกรรมที่จะนำเสนอ มักใช้รูปแบบคล้ายประโยคภาษาอังกฤษ
เพื่ออธิบายรายละเอียดของอัลกอริทึม 

คำถาม
1. ผลลัพธ์ของผังงานนี้คืออะไร
2. ถ้าเติมการทำซ้ำของ k คงที่ 5 ครั้ง เข้าไปในการทำซ้ำของ j เป็นการทำซ้ำซ้อนกัน 3 ชั้น
ผลลัพธ์ของ c จะได้เป็นเลขอะไร แล้วอธิบายที่มาของค่า c
3. จงเขียนผังงานในข้อ 2
4. จงเขียนอัลกอริทึม และรหัสเทียมของผังงานตามภาพที่มีเฉพาะตัวแปร i กับ j และ c


ดาวน์โหลด : 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 ชั้น เพราะเผื่อรถทั่วไปด้วย
Flowdia Diagrams Lite : app on android

ไหน ๆ ก็เห็นชาวโลก มี Smart phone อยู่ในมือมันมากมาย ที่เรียกว่า Handheld Computer นั่นหละ ครั้งได้ค้นใน google play store ก็พบกับแอพดี ๆ ที่ชื่อ Flowdia Diagrams Lite เขียนแผนภาพได้หลายแบบ และผังงาน (Flowchart) ก็เป็นแผนภาพหนึ่ง ที่เขียนได้สวยงาม รองรับภาษาไทย สามารถ capture ภาพ หรือเก็บเป็น png หรือ pdf แล้วส่งให้เพื่อน share ผ่าน social media ได้เลย รุ่นฟรีมีข้อจำกัด คือ สร้างได้ 4 แฟ้ม หากส่งเป็นภาพออกไปก็จะติดลายน้ำ
แชร์ในเฟสบุ๊ค

โปรแกรมนี้เขียนแผนภาพได้หลายแบบ
อาทิ
UML Activity Diagram
Mind Map
Process Flow
Network Diagram

ขอบซ้าย ขอบบน
แนะนำเว็บ (Web Guides)
– เครื่องมือ Edraw Flowchart Software : flowcharttools.com
– สอนเขียนเป็นภาษาอังกฤษ : tpub.com
– เนื้อหาการเขียน Flow chart ที่สมบูรณ์ : bcom.net
– รวมภาพสัญลักษณ์จากไซต์ต่าง ๆ : blogspot.comระบบคอมพิวเตอร์

ใส่ความเห็น