ความหมายของผังงาน
ผังงาน (Flowchart) คือ รูปภาพ (Image) หรือสัญลักษณ์(Symbol) ที่ใช้เขียนแทนขั้นตอน
คำอธิบาย ข้อความ หรือคำพูด ที่ใช้ในอัลกอริทึม (Algorithm) เพราะการนำเสนอขั้นตอนของงานให้เข้าใจตรงกัน
ระหว่างผู้เกี่ยวข้อง ด้วยคำพูด หรือข้อความทำได้ยากกว่า
ผังงานแบ่งได้ 2 ประเภท
1. ผังงานระบบ (System Flowchart)
คือ ผังงานที่แสดงขั้นตอนการทำงานในระบบอย่างกว้าง ๆ
แต่ไม่เจาะลงในระบบงานย่อย
2. ผังงานโปรแกรม (Program Flowchart)
คือ ผังงานที่แสดงถึงขั้นตอนในการทำงานของโปรแกรม ตั้งแต่รับข้อมูล
คำนวณ จนถึงแสดงผลลัพธ์
การโปรแกรมแบบมีโครงสร้าง หรือ การโปรแกรมโครงสร้าง ประกอบด้วยอะไรบ้าง
ผมขอตอบอย่างสั้น ๆ ว่าทุกภาษาต้องมีหลักการ 3 อย่างนี้คือ
การทำงานแบบตามลำดับ(Sequence) การเลือกกระทำตามเงื่อนไข(Decision) และ การทำซ้ำ(Loop) แม้ตำราหลาย ๆ
เล่มจะบอกว่า decision แยกเป็น if กับ case หรือ loop นั้นยังแยกเป็น while และ until ซึ่งแตกต่างกัน
แต่ผมก็ยังนับว่าการเขียนโปรแกรม แบบมีโครงสร้างนั้น มองให้ออกแค่ 3 อย่างก็พอแล้ว
และหลายท่านอาจเถียงผมว่าบางภาษาไม่จำเป็นต้องใช้ Structure
Programming แต่เท่าที่ผมศึกษามา ยังไม่มีภาษาใด เลิกใช้หลักการทั้ง 3 นี้อย่างสิ้นเชิง
เช่น MS Access ที่หลายคนบอกว่าง่าย ซึ่งก็อาจจะง่ายจริง
ถ้าจะศึกษาเพื่อสั่งให้ทำงานตาม wizard หรือตามที่เขาออกแบบมาให้ใช้
แต่ถ้าจะนำมาใช้งานจริง ตามความต้องการของผู้ใช้แล้ว ต้องใช้ประสบการณ์ในการเขียน Structure
Programming เพื่อสร้าง Module สำหรับควบคุม 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)

![]() ทำความเข้าใจกับผังงานก่อนลงมือเขียน
หน้าที่ของผังงาน คือ การนำเสนอกระบวนการ (Process) ในขอบเขตจำกัด
ให้เข้าใจว่าหากรับข้อมูลเข้า (Input) แล้วจะประมวลผลอย่างไร จึงได้ออกมาเป็นผลลัพธ์ (Output)
ในอดีตการเขียนโปรแกรม
หรือกระบวนการไม่ซับซ้อน การมองภาพว่า input - process - output สามารถอยู่ในผังงานเดียวกันก็ทำได้
จึงนิยมใช้เป็นเครื่องมือสร้างทักษะให้กับผู้เริ่มต้นในการมองการประมวลผลของระบบทีละขั้นตอน
ปัจจุบันการประมวลผล จะรับข้อมูล แล้วประมวลผล ส่งผลไปเป็นข้อมูลของอีกกระบวนการหนึ่ง อาจทำอย่างนี้อีกหลายรอบ ด้วยกระบวนการ และข้อมูลที่ต่างกัน การใช้ผังงานจึงได้รับความนิยมลดลงในการใช้แสดงแบบซอฟท์แวร์ขนาดใหญ่ เนื่องจากการประมวลผลมีความซับซ้อนมากขึ้น ปัจจุบันมีการใช้ Data Flow Diagram หรือ UML มาแสดงแบบซอฟท์แวร์ที่มองได้กว้างและครอบคลุมกว่า + Process = ประมวลผล + Procedure = กระบวนการ |
ไม่มีความคิดเห็น:
แสดงความคิดเห็น