วันจันทร์ที่ 19 พฤศจิกายน พ.ศ. 2555

การเขียนผังงาน (Flowchart)


 การเขียนผังงาน ( Flowchart )
            ผังงาน คือ แผนภาพที่มีการใช้สัญลักษณ์รูปภาพและลูกศรที่แสดงถึงขั้นตอนการทำงานของโปรแกรมหรือระบบทีละขั้นตอน โดยแต่ละสัญลักษณ์ในแผนภาพ จะหมายถึงการทำงานหนึ่งขั้นตอน ส่วนลูกศรจะแทนลำดับการทำงานขั้นตอนต่างๆ รวมทั้งทิศทางการไหลของข้อมูลตั้งแต่เริ่มต้นจนได้ผลลัพธ์ตามต้องการ ระบบงานทุกชนิดที่ผ่านการวิเคราะห์เป็นลำดับขั้นตอนแล้ว จะสามารถเขียนเป็นผังงานได้
                       ประโยชน์ของผังงาน
             
1. ทำให้เราเข้าใจขั้นตอนและลำดับในการทำงานของโปรแกรมอย่างรวดเร็ว
      2. เป็นสื่อกลางระหว่างผู้พัฒนาโปรแกรม นักวิเคราะห์โปรแกรมและผู้ที่เกี่ยวข้องให้สามารถเข้าใจโปรแกรมได้โดยง่าย
            3. ทำให้สามารถวิเคราะห์ความถูกต้องของโปรแกรมก่อนเขียนโปรแกรมจริงได้ง่าย และตรวจสอบข้อผิดพลาดของโปรแกรมได้ง่าย
            4. ช่วยให้การกระจายงานให้กับโปรแกรมเมอร์หลายๆ คนช่วยกันเขียนโปรแกรมเป็นส่วนๆ ได้ เพราะมีทิศทางการทำงานของโปรแกรมชัดเจน สามารถแบ่งส่วนและประมาณการทำงานได้อย่างต่อเนื่อง
5. ทำให้ผู้อื่นสมารถศึกษาการทำงานของโปรแกรมและแก้ไขโปรแกรมได้ง่าย

ข้อจำกัดของการเขียนผังงาน 
การเขียนผังงานไม่เหมาะกับงานที่มีวิธีการซับซ้อน เช่น มีการที่เงื่อนไขในการทดสอบมากมาย ซึ่งมักจะใช้ตารางการตัดสินใจ(decision table) เข้ามาช่วยมากกว่า 1
                        การเขียนผังงานที่ดี
1.             ใช้สัญลักษณ์ตามที่กำหนด
2.       ใช้ลูกศรแสดงทิศทางการไหลของข้อมูลจากบนลงล่าง หรือจากซ้ายไปขวา
3.       คำอธิบายในภาพควรสั้นกะทัดรัด และเข้าใจง่าย
4.       ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้าออก
5.       ไม่ควรโยงเส้นเชื่อมผังงานที่อยู่ไกลมาก ๆ ถ้าต้องทำให้ใช้สัญลักษณ์การเชื่อมต่อแทน



ผังงานโปรแกรม ( Program Flowchart )
การเขียนผังโปรแกรมจะประกอบไปด้วยการใช้สัญลักษณ์มาตรฐานต่าง ๆ ดังตัวอย่างที่แสดงในรูปต่อไปนี้


หลักเกณฑ์การเขียนผังงาน
การเขียนผังงานที่ดีสามารถสรุปเป็นหลักเกณฑ์ได้ดังต่อไปนี้
1.             ผังงานที่เขียนขึ้นต้องดูชัดเจน และดูง่าย
2.             ต้องมีจุดเริ่มต้นและจุดสิ้นสุดพียงจุดเดียว
3.             กำหนดทิศทางการทำงานด้วยลูกศร และควรมีทิศทางการทำงานจากบนลงล่างหรือจากซ้ายไปขวาเท่านั้น
4.             สัญลักษณ์แบบเลือกทำจะต้องมีคำตอบที่ถูกต้องที่ทำให้โปรแกรมดำเนินต่อไปได้
5.             ลูกศรที่ใช้บอกทิศทางการทำงานไม่ควรเขียนตัดกันหรือทับกัน
6.             ผังงานที่มีความซับซ้อนมาก หรือขั้นตอนการทำงานอยู่ห่างกันมาก ควรนำสัญลักษณ์การเชื่อมต่อมาใช้เพื่อให้เข้าใจง่าย
7.             การเขียนส่วนประมวลผลที่มีการคำนวณหรือมีการใส่ค่าควรใช้เครื่องหมายลูกศรหรือเครื่องหมายเท่ากับในการเขียน
8.             เมื่อเขียนผังงานจบแล้วควรตรวจสอบความถูกต้องของผังงานโดยการสร้างข้อมูลขึ้นมาหนึ่งชุดแล้วดูว่าผลลัพธ์เป็นไปตามที่ต้องการหรือไม่

ลักษณะโครงสร้างการเขียนผังงาน
                โดยทั่วไปมี 5 แบบดังต่อไปนี้
1. โครงสร้างการทำงานแบบลำดับ (Sequence) จะแสดงขั้นตอนการทำงานที่เรียงลำดับกันไป ไม่มีการข้ามขั้น หรือย้อนกลับไปทำคำสั่งที่ได้ทำไปแล้ว ดังตัวอย่างในรูป
รูปแสดงผังโปรแกรมแบบมีลำดับ
2. ผังโปแกรมแบบมีการเลือก (Selection) เป็นโครงสร้างที่ตรวจสอบเงื่อนไข ให้โปแกรมเลือกทำอย่างใดอย่างหนึ่ง การตรวจสอบเงื่อนไขนี้จะใช้ความสัมพันธ์ทางตรรกะมาช่วยในการตัดสินใจ ผังงานลักษณะนี้มีอยู่ 3 กรณี ดังต่อไปนี้
2.1 การเลือกแบบหนึ่งเส้นทาง เมื่อมีการตรวจสอบเงื่อนไขแล้วเงื่อนไขเป็นจริงจะทำกิจกรรมหนึ่งที่กำหนด แต่ถ้าเงื่อนไขเป็นเท็จจะออกจากโครงสร้างนั้น โดยไม่ทำกิจกรรมที่กำหนดเลย ผังงานแบบนี้จะเขียนคำว่า จริง / เท็จ หรือ yes/ no หรือ T/F  กำกับทิศทางการทำงานไว้ด้วย  โดยผังงานแสดงได้ดังรูป
2.2 การเลือกทำแบบสองเส้นทาง  จะพิจารณาเงื่อนไขที่เป็นจริงและเป็นเท็จ โดยถ้าเป็นจริงจะทำอย่างหนึ่ง แล้วออกจากโครงสร้าง ถ้าเป็นเท็จจะทำอีกอย่างหนึ่ง แล้วออกจากโครงสร้าง ผังงานแสดงได้ดังรูป
2.3 การเลือกทำแบบหลายเส้นทาง  จะพิจารณาเงื่อนไขต่างๆ ที่เกิดขึ้น ถ้าเท่ากับทางที่เลือกใดจะให้ไปทำงานตามทางเลือกนั้น  ผังงานแบบเลือกหลายทางสามารถเขียนได้ดังรูป
 การเลือกทำแบบหลายเส้นทางนี้ยังสามารถนำการเลือกทำแบบทางเดียวและแบบสองทิศทางมาประกอบกันเป็นโครงสร้างใหม่ได้อีกด้วย
                3. ผังโปรแกรมทำซ้ำถ้าเงื่อนไขเป็นจริง  จะใช้ในงานที่มีการตรวจสอบเงื่อนไข ถ้าเป็นจริงจะทำงานซ้ำโดยจะตรวจสอบเงื่อนไขก่อนการทำงานทุกครั้ง โดยเขียนได้ดังรูป
                4.  ผังโปรแกรมแบบทำซ้ำจนกระทั่งเงื่อนไขเป็นจริง  จะใช้ในระบบที่ต้องทำงานก่อนการตรวจสอบเงื่อนไข และทำงานซ้ำจนกระทั่งเงื่อนไขเป็นจริง  สามารถเขียนได้ดังรูป
 


                 5. ผังโปรแกรมแบบทำซ้ำตามจำนวนที่ระบุ  ใช้ในระบบที่ต้องทำงานตามจำนวนรอบที่กำหนด โดยเริ่มจากรอบเริ่มต้นไปยังรอบสุดท้าย ตามปกติแล้วค่าการนับรอบจะเพิ่มขึ้นครั้งละหนึ่งค่า โดยเขียนได้ดังรูป
ตัวอย่าง ถ้าต้องการนำคะแนน(จำนวนเต็ม)ของนักศึกษาหนึ่งคนมาตัดเกรดตามเงื่อนไขต่อไปนี้
                คะแนน  80 - 100   ได้เกรด A
                คะแนน  70 - 79    ได้เกรด B               
                คะแนน  60 - 69    ได้เกรด C
                คะแนน  50 - 59    ได้เกรด D              
                คะแนนต่ำกว่า 50   ได้เกรด F
จากคะแนนดังกล่าวสามารถเขียนแผนผังได้ดังรูป
 
 
Flowchart  ใช้ในชีวิตประจำวันได้ด้วยน๊า
        การทำงานหลายอย่างในชีวิตประจำวัน จะมีลักษณะที่เป็นลำดับขั้นตอน ซึ่งก่อนที่ท่านจะได้ศึกษาวิธีการเขียนผังงานโปรแกรม จะแนะนำให้ท่านลองฝึกเขียนผังงานที่แสดงการทำงานในชีวิตประจำวันวันก่อนเพื่อเป็น การสร้างความคุ้นเคยกับสัญลักษณ์รูปภาพต่าง ๆ ที่จะมีใช้ในผังงานโปรแกรมต่อไป ดัง ตัวอย่าง 1 เขียนผังงานที่แสดงขั้นตอนการส่งจดหมาย
รูป แสดงการเขียนผังงานที่แสดงขั้นตอนการส่งจดหมาย

*************************************************************************************************************************
แบบฝึกหัดเรื่องการเขียนผังงาน ( Flowchart )
1. ให้นักเรียน แบ่งกลุ่ม กลุ่มละ 5 คน
2. แต่ละกลุ่มเลือกหัวข้อที่จะเขียน
Flowchart ดังต่อไปนี้  1 หัวข้อ (ห้ามซ้ำกัน)
  • แสดงขั้นตอนการทำไข่เจียว 
  • แสดงขั้นตอนการต้มมาม่า
  • แสดงขั้นตอนการชงกาแฟสำเร็จรูป 
  • แสดงขั้นตอนการส่ง e-mail
  • แสดงขั้นตอนการทำส้มตำ

7 ความคิดเห็น: