ผังงาน

ผังงาน (Flowchart)

   เป็นการถ่ายทอดความคิดในรูปแบบแผนภาพ โดยใช้สัญลักษณ์ต่าง ๆ เรียกกว่า การเขียนผังงาน (Flowchart) ซึ่งสัญลักษณ์กำหนดโดยสถาบันมาตรฐานแห่งชาติอเมริกา (The American National Standard Institute : ANSI) เพื่อใช้สำหรับสื่อสารขั้นตอนวิธีในการแก้ปัญหาให้เข้าใจตรงกัน ซึ่งมีรายละเอียด รูปแบบ และความหมาย ดังนี้

ผังงานแบ่งได้ 2 ประเภท

1. ผังงานระบบ (System Flowchart)  คือ ผังงานที่แสดงขั้นตอนการทำงานในระบบอย่างกว้าง ๆ แต่ไม่เจาะลงในระบบงานย่อย

2. ผังงานโปรแกรม (Program Flowchart)  คือ ผังงานที่แสดงถึงขั้นตอนในการทำงานของโปรแกรม ตั้งแต่รับข้อมูล คำนวณ จนถึงแสดงผลลัพธ์

ประโยชน์ของผังงาน

1. ทำให้เข้าใจ และแยกแยะปัญหาได้ง่าย (Problem Define)

2. แสดงลำดับการทำงาน (Step Flowing)

3. หาข้อผิดพลาดได้ง่าย (Easy to Debug)

4. ทำความเข้าใจโปรแกรมได้ง่าย (Easy to Read)

5. ไม่ขึ้นกับภาษาใดภาษาหนึ่ง (Flexible Language)

 

การเขียนผังงานที่ดี

1. ใช้สัญลักษณ์ตามที่กำหนดไว้

2. ใช้ลูกศรแสดงทิศทางการไหลของข้อมูลจากบนลงล่าง หรือจากซ้ายไปขวา

3. คำอธิบายในภาพควรสั้นกะทัดรัด และเข้าใจง่าย

4. ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้า - ออก

5. ไม่ควรโยงเส้นเชื่อมผังงานที่อยู่ไกลมาก ๆ ควรใช้สัญลักษณ์จุดเชื่อมต่อแทน

6. ผังงานควรมีการทดสอบความถูกต้องของการทำงานก่อนนำไปเขียนโปรแกรม

ข้อจำกัดของผังงาน

   ผู้เขียนโปรแกรมบางคนไม่นิยมเขียนผังงานก่อนการเขียนโปรแกรม เพราะเห็นว่าเสียเวลา นอกจากนี้แล้ว ยังมีข้อจำกัดอื่น ๆ อีก คือ

   1.  ผังงานเป็นการสื่อความหมายระหว่างบุคคลกับบุคคลมากกว่าที่สื่อความหมายระหว่างบุคคลกับเครื่อง เพราะผังงานไม่ขึ้นกับภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง ทำให้เครื่องไม่สามารถรับและเข้าใจได้ว่าในผังงานนั้นต้องการให้ทำอะไร

   2. ในบางครั้ง เมื่อพิจารณาจากผังงาน จะไม่สามารถทราบได้ว่า ขั้นตอนการทำงานใดสำคัญกว่ากัน เพราะทุก ๆ ขั้นตอนจะใช้รูปภาพหรือสัญลักษณ์ในลักษณะเดียวกัน

   3. การเขียนผังงานเป็นการสิ้นเปลือง เพราะจะต้องใช้กระดาษและอุปกรณ์อื่น ๆ เพื่อประกอบการเขียนภาพ ซึ่งไม่สามารถเขียนด้วยมืออย่างเดียวได้ และในบางครั้ง การเขียนผังงานอาจจะต้องใช้กระดาษมากกว่า 1 แผ่น หรือ 1 หน้า ซึ่งถ้าเป็นข้อความอธิบายอาจะใช้เพียง 2-3 บรรทัดเท่านั้น

โครงสร้างการทำงานในโปรแกรมและผังงาน

3.1  โครงสร้างแบบลำดับ

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

แนวคิดการเขียนผังงาน (Flowchart)

                การเขียนโปรแกรมด้วยภาษา C เป็นการเขียนโปรแกรมแบบโครงสร้าง (Structure Programming) มีหลักการง่ายๆ 3 ข้อ คือ

                1. การทำงานแบบลำดับ(Sequence)

                2. การทำงานแบบทางเลือก (Decision)

                3. การทำงานแบบทำซ้ำ (Loop)

                1. การทำงานแบบลำดับ (Sequence)

                        การทำงานแบบตามลำดับ (Sequence) เป็นรูปแบบการเขียนโปรแกรมที่ง่ายที่สุด และไม่มีความซับซ้อน การทำงานเรียงลำดับจากบนล่าง มีการทำงานที่ละคำสั่งจนจบการทำงาน ซึ่งมีรูปแบบการทำงาน (ดังรูป)

            เพื่อเพิ่มความเข้าใจในการเขียนผังงาน (Flowchart) ให้ศึกษาตัวอย่าง ดังนี้

                ตัวอย่าง 1 :

              อธิบาย :

                      1. เริ่มการทำงานของโปรแกรม 

                      2. กำหนดค่าตัวแปร A = 5, B = 3

                      3. กำหนดให้ตัวแปร C = A + B 

                      4. จบการทำงานของโปรแกรม

                ตัวอย่าง 2 :

                   อธิบาย :

                           1. เริ่มการทำงานของโปรแกรม 

                           2. กำหนดค่าตัวแปร A = 5, B = 3

                           3. กำหนดให้ตัวแปร C = A + B 

                           4. แสดงค่า C

                           5. จบการทำงานของโปรแกรม

                2. การทำงานแบบทางเลือก (Decision)

                        การทำงานแบบทางเลือก (Decision)เป็นรูปแบบการเขียนโปรแกรมที่มีทางเลือกเพื่อการตัดสินใจ ซึ่งโปรแกรมจะตรวจสอบเงื่อนไขเพื่อเลือกทิศทางการทำงานของโปรแกรม โดยเลือกทางเลือกใดทางเลือกหนึ่ง จากสองทางเลือก คือ

                                - ทางเลือกเมื่อเงื่อนไขเป็นจริง

                                - ทางเลือกเมื่อเงื่อนไขเป็นเท็จ

                        เมื่อทำงานในแต่ละทางเลือกเสร็จแล้ว โปรแกรมก็จะทำงานในขั้นตอนต่อไป ซึ่งมีรูปแบบการทำงาน (ดังรูป)

                เพื่อเพิ่มความเข้าใจในการเขียนผังงาน (Flowchart) ให้ศึกษาตัวอย่าง ดังนี้

                        ตัวอย่าง :

                  อธิบาย :

                        1. เริ่มการทำงานของโปรแกรม 

                        2. กำหนดค่าตัวแปร A = 7, B = 3

                        3. ตรวจสอบเงื่อนไขว่า A > B

                        4. ถ้า A > B จริง ให้ A = A + 1

                            ถ้าไม่จริงให้ออกจากเงื่อนไข

                        5. แสดงค่า A และ B

                        6. จบการทำงาน

                   3. การทำซ้ำ (Loop)

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

                เพื่อเพิ่มความเข้าใจในการเขียนผังงาน (Flowchart) ให้ศึกษาตัวอย่าง ดังนี้

                  ตัวอย่าง :

                   อธิบาย :

                        1. เริ่มการทำงานของโปรแกรม 

                        2. กำหนดค่าตัวแปร i = 1, x = 0

                        3. ตรวจสอบเงื่อนไขว่า i <= 10

                        4. ถ้า i = 1, x = 0 จริงเพิ่มค่าให้ x = x + 1 และ i = i + 1

                            ถ้าเท็จให้ออกจากเงื่อนไข

                        5. แสดงค่า x

                        6. จบการทำงาน