ผังงาน (Flowchart)?

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

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

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

         ผังงานระบบ (System Flowchart) 
              ผังงานที่แสดงการทำงานของระบบซึ่งแสดงภาพรวมของระบบ โดยมีการนำข้อมูลเข้า ประมวลผล และข้อมูลออก โดยแสดงถึงสื่อนำข้อมูลเข้า -ออก แต่ไม่ได้แสดงวิธีการประมวลผล
  การนำข้อมูลเข้า วิธีการประมวลผล และการแสดงผลลัพธ์ (Input – Process – Output) ดังภาพ
 
         ผังงานโปรแกรม (Program Flowchart)

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

ตัวอย่าง

                     
 สัญลักษณ์ที่ใช้ในการเขียนผังงาน

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

หลักเกณฑ์การเขียนผังงาน

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

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

1. การกำหนดค่าเริ่มแรก (Initialization) เป็นการกำหนดค่าเริ่มต้นให้ตัวแปรบางตัว เช่น ตัวแปรที่ใช้เป็นตัวแปรนับ ตัวแปรที่มีค่าเป็นผลการคำนวณสะสม          

2. การรับข้อมูล (Input) เป็นการรับค่าของตัวแปรที่ระบุไว้ในขั้นตอนการนำข้อมูลเข้าของการวิเคราะห์งาน ซึ่งการรับข้อมูลจะต้องทำก่อนที่จะนำเอาข้อมูลไปใช้ สัญลักษณ์ที่ใช้จะมีความหมายตามแต่ละประเภทของสื่อข้อมูล เช่น เทป   บัตรเจาะ  เป็นต้น

3. การประมวลผล (Process) เป็นการแสดงวิธีการประมวลผลหรือการคำนวณ วึ่งจะต้องกระทำทีละขั้นตอนตามลำดับถ้าผลการคำนวณต้องนำมาใช้ในขันตอนถัดไปจะต้องแยกรูปให้ชัดเจน 

4. การแสดงค่าของข้อมูลหรือผลลัพธ์ (Output) เป็นการแสดงผลลัพธ์หรือค่าของตัวแปรที่ระบุไว้ในหัวข้อผลลัพธ์ที่ต้องแสดง การแสดงของข้อมูลหรือผลลัพธ์ ต้องกระทำหลังการประมวลผล หรือภายหลังรับข้อมูลไว้ในหน่วยความจำแล้ว                                    

  5. การทดสอบ (Testing) เป็นการทดสอบตัวแปรกับค่าใดค่าหนึ่งเช่น LC = 0 หรือไม่ ?    

 

 ลักษณะโครงสร้างในการเขียนผังงาน

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

1. การเขียนผังงานแบบเรียงลำดับการทำงาน (Sequential Structure)
 

    เป็นโครงสร้างของโปรแกรมที่ทำงานเป็นลำดับขั้นตอนเรียงกันไป โดยไม่มีการข้ามขั้นตอน หรือ ย้อนกลับ ดังภาพ

 

1ตัวอย่าง

        โจทย์ ผังงานแสดงโปรแกรมการคำนวณค่า a จากสูตร a = x + yโดยรับค่า x และ y ทางแป้นพิมพ์ และแสดงผลลัพธ์ a ออกทางจอภาพ

        คำตอบ 


    จากโครงสร้างผังงานแบบเรียงลำดับ ตามรูป สามารถอธิบายขั้นตอนการทำงานได้ดังนี้

        1. เริ่มต้นการทำงาน

        2. รับค่าข้อมูลเข้ามาเก็บไว้ในตัวแปร x และตัวแปร y

        3. คำนวณค่า   x + y แล้วไปเก็บไว้ในตัวแปร a

        4. แสดงค่าในตัวแปร a

        5. สิ้นสุดการทำงาน

 

2.  การเขียนผังงานแบบมีทางเลือกการทำงาน (Decision Structure)

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

 ดังภาพ

3

ตัวอย่าง
        โจทย์ ผังงานแสดงโปรแกรมการประเมินผลการเรียน โดยรับคะแนนนักศึกษาเข้ามาทางแป้นพิมพ์ ถ้าคะแนนมากว่าหรือเท่ากับ 50 ให้แสดงคำว่า “Pass” ที่หน้าจอ แต่ถ้าน้อยกว่า 50 ให้แสดงคำว่า Fail
      คำตอบ
 

    จากตัวอย่าง งานสามารถอธิบายลำดับขั้นตอนการทำงานได้ดังนี้

 1. เริ่มต้นการทำงาน

 2. รับค่าข้อมูล คะแนน( Score ) ทางแป้นพิมพ์

 3. ตรวจสอบเงื่อนไข ถ้า คะแนน( Score )  น้อยกว่า 50 แล้วทำ

                    3.1  เป็นจริง แสดงคำว่า “Pass”มิฉะนั้นแล้ว

                    3.2เป็นเท็จ  แสดงคำว่า Fail

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

3. การเขียนผังงานแบบมีการทำงานวนซ้ำ (Iteration Structure)

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

7

ตัวอย่าง

        โจทย์ เขียนผังงานโปรแกรมแสดงตัวเลข 1 – 5 

        คำตอบ

จากตัวอย่าง งานสามารถอธิบายลำดับขั้นตอนการทำงานได้ดังนี้

            1. เริ่มต้นการทำงาน

            2. กำหนดค่า Num = 1

            3. แสดงค่า Num

            4. คำนวณค่า Num =  Num +  1

            5. ตรวจสอบค่า Num > 5 หรือไม่

                    5.1 ถ้าไม่ใช่ ให้ทำซ้ำวนกลับไปข้อที่ 3

                    5.2 ถ้าใช่ ออกจากการทำงาน

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