วันศุกร์ที่ 17 พฤษภาคม พ.ศ. 2556

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

                           บทที่ 8 การเขียนผังงาน
ความหมายของผังงาน (Flowchart) เป็นเครื่องมือแสดงขั้นตอนหรือกระบวนการทำงาน ตั้งแต่เริ่มต้น
จนสิ้นสุดการทำงาน
􀂄 ผังงานทั่วไปจะใช้รูปภาพสัญลักษณ์ที่เป็นมาตรฐานเดียวกัน
(ตามมาตรฐานของสถาบัน ANSI )
􀂄 ประเภทของผังงาน
􀂄 ผังงานระบบ (System Flowchart) แสดงภาพการทำงานโดยรวมของระบบ
􀂄 ผังงานโปรแกรม (Program Flowchart) แสดงรายละเอียดขั้นตอนการทำงาน
วิธีเขียนผังงานที่ดี
􀂄 ควรเขียนขั้นตอนการทำงาน (Algorithm) ทั้งหมดก่อนเขียนผังงาน
(Flowchart)
􀂄 ใช้สัญลักษณ์ตามมาตรฐานของสถาบัน ANSI
􀂄 ข้อความที่ใช้ในสัญลักษณ์ควรจะเป็นข้อความสั้นๆ ที่อ่านเข้าใจง่าย

ขนาดของสัญลักษณ์ไม่ควรเล็กหรือใหญ่จนเกินไป
􀂄 ควรเขียนขั้นตอนจากบนลงล่าง หรือจากซ้ายไปขวา
􀂄 ควรเขียนผังงานให้จบภายในหน้าเดียวกัน

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

รูปแบบของผังงาน
ลักษณะการเขียนผังงานมีอยู่ 3 รูปแบบหลักๆคือ
แบบเรียงลำดับ (Sequence)
แบบมีเงื่อนไข (Decision หรือ Selection)
แบบทำาซ้ำา (Repeat หรือ Loop)
แบบเรียงลำดับ (Sequence)
เป็นรูปแบบของผังงานที่ง่ายสุด ไม่ซับซ้อน
และไม่มีการเปรียบเทียบเงื่อนไขใดๆ โ
ดยแสดงขั้นตอนการทำงานไปตามลำดับตั้งแต่
ต้นจนสิ้นสุดกระบวนการ
แบบมีเงื่อนไข (Decision)
เป็นรูปแบบของผังงานที่มีเงื่อนไขให้เลือก
ตัดสินใจ โดยเตรียมขั้นตอนการทำงานไว้
รองรับสำหรับเงื่อนไขนั้นๆ

แบบทำซ้ำ (Repeat หรือ Loop)
 เป็นรูปแบบผังงานที่มีขั้นตอนการทำงานซ้ำๆ
โดยมีเงื่อนไขเป็นตัวควบคุม ซึ่งจะให้ทำงาน
ภายใต้เงื่อนไขที่เป็นจริง (while…do)
หรือให้ทำงานขั้นตอนนั้นซ้ำๆจนกว่าเงื่อนไข
จะเป็นจริง(do until) เป็นต้น

ประโยชน์ของการเขียนผังงาน     ประโยชน์ของผังงาน ใช้สาหรับช่วยในการพัฒนาลาดับขั้นตอนวิธีการแก้ปัญหา เนื่องจาก
ผังงานเป็นการอธิบายขั้นตอนการทางานในลักษณะของรูปภาพ ให้สามารถเห็นลาดับของขั้นตอนวิธีการทางานได้ชัดเจนกว่าการอธิบายในลักษณะข้อความ การใช้ผังงานเพื่อช่วยสาหรับ
การหาขั้นตอนวิธีการทางาน จะทาให้สามารถเขียนอธิบายขั้นตอนการทางานในลักษณะข้อความ
ได้สะดวกขึ้น ช่วยให้ผู้เขียนโปรแกรมสามารถกาหนดขั้นตอนการทางานก่อนหลังของโปรแกรม
ได้อย่างเป็นระบบ และจะช่วยให้การเขียนโปรแกรมเป็นไปอย่างถูกต้อง สามารถตรวจสอบและ
แก้ไขโปรแกรมได้ง่ายหากมีการปรับปรุงโปรแกรมที่เกิดขึ้นได้ในอนาคต สรุปได้ดังนี้
1. ช่วยอธิบายขั้นตอนการทางานแต่ละขั้นให้เข้าใจการทางานของโปรแกรมได้ง่ายและรวดเร็ว
2. สามารถวิเคราะห์ความถูกต้องของโปรแกรมก่อนเขียนโปรแกรมจริง และตรวจสอบขั้นตอนการทางานเพื่อหาข้อผิดพลาดที่เกิดขึ้นได้สะดวก
3. ทาให้ทราบถึงโครงสร้างของโปรแกรมทั้งหมดที่จะเขียน
4. ใช้เป็นสื่อในการติดต่อประสานงานกันระหว่างนักวิเคราะห์ระบบ นักออกแบบโปรแกรม กับนักเขียนโปรแกรมและผู้ใช้ ให้สามารถเข้าใจขั้นตอนทั้งหมดได้ เพราะไม่ใช่ภาษาคอมพิวเตอร์
5. ช่วยให้เขียนโปรแกรมได้ง่าย 6. ช่วยให้การกระจายงานให้นักเขียนโปรแกรมหลาย ๆ คนช่วยเขียนโปรแกรมเป็นส่วน ๆ ได้ เพราะทราบขั้นตอนการทางานของโปรแกรมที่ชัดเจน สามารถบางส่วน และประมาณการทางานได้อย่างต่อเนื่อง 7. สามารถนาผังลาดับการทางานของโปรแกรม มาเป็นต้นแบบในการพัฒนาโปรแกรมอื่น ๆ ที่มีลาดับข้นตอนการทางานคล้าย ๆ กันได้ 8. การบารุงรักษาโปรแกรม (Program Maintenance) ทาได้ง่ายและมีประสิทธิภาพมากขึ้น ประเภทของผังงาน ในการเขียนผังงานนั้นสามารถจาแนกแบบของผังงานออกเป็น 2 แบบใหญ่ ๆ คือ 1. ผังงานระบบ (System Flowchart) หรือผังงานในระดับกว้าง ซึ่งจะเป็นการแสดงขั้นตอนการทางานของระบบทั้งหมด ผังงานระบบมักจะมีลักษณะย่นย่อ รวบรัด และแสดงเฉพาะตัวงานที่จะต้องทาในระบบเท่านั้น ไม่มุ่งเน้นรายละเอียดในการปฏิบัติ ไม่ได้แสดงว่างานนั้นจะทาอย่างไร ความสาคัญของผังงานระบบอยู่ที่การแสดงความสัมพันธ์ระหว่างงานต่างๆ ในระบบว่ามีความสัมพันธ์กันอย่างไร ตั้งแต่เรื่องของวัสดุอุปกรณ์ บุคลากร และหน่วยงานที่เกี่ยวข้อง ตัวอย่างเช่น 2. ผังงานโปรแกรม (Program Flowchart) หรือผังงานระดับละเอียด เป็นภาพแผนผังที่แสดงลาดับขั้นตอนในการทางานของโปรแกรม ซึ่งจะแยกย่อยมาจากผังงานระบบ คือในแต่ละขั้นตอนจะแสดงการทางานแต่ละคาสั่งโดยละเอียด ใส่วิธีการ และจัดลาดับขั้นตอนของโปรแกรม สาหรับโปรแกรมนั้น ๆ ตั้งแต่เริ่มต้นจากการรับข้อมูล การประมวลผล และไปจนถึงการแสดงผลลัพธ์ที่ได้จากการประมวลผลที่ผู้เขียนโปรแกรมกาลังทางานอยู่ ไม่ได้แสดงความสัมพันธ์ระหว่างโปรแกรมนั้นกับโปรแกรมอื่น ๆ ตัวอย่างเช่น การใช้ผังงานในการออกแบบโปรแกรม โดยเริ่มจากผังงานระบบลงมายังผังงานโปรแกรม
เป็นเทคนิคการออกแบบจากบนลงล่าง
(Top-Down Design) แต่นักโปรแกรมไม่ค่อยใช้ผังงาน กันมากนัก เพราะจะต้องเขียนและทดสอบโปรแกรมบ่อยครั้งทาให้การเขียนโปรแกรมล่าช้าด้วย




 

 

แบบฝึกหัดท้ายบทที่ 8 การเขียนผังงาน

1.  ผังงาน (flowchart) คืออะไร
ตอบ. ผังงาน (Flowchart) คือ รูปภาพ (Image) หรือสัญลักษณ์(Symbol) ที่ใช้เขียนแทนขั้นตอน คำอธิบาย ข้อความ หรือคำพูด ที่ใช้ในอัลกอริทึม (Algorithm) เพราะการนำเสนอขั้นตอนของงานให้เข้าใจตรงกัน ระหว่างผู้เกี่ยวข้อง ด้วยคำพูด หรือข้อความทำได้ยากกว่า
2. อธิบายรูปแบบผังงานแบบเรียงลำดับ (sequence) แบบมีเงื่อนไข (decision) และแบบทำซ้ำ (loop)ตอบ. 1)การทำงานแบบตามลำดับ(Sequence) คือ การเขียนให้ทำงานจากบนลงล่าง เขียนคำสั่งเป็นบรรทัด และทำทีละบรรทัดจากบรรทัดบนสุดลงไปจนถึงบรรทัดล่างสุด สมมติให้มีการทำงาน 3 กระบวนการคือ อ่านข้อมูล คำนวณ และพิมพ์ จะเขียนเป็นผังงาน(Flowchart) ในแบบตามลำดับได้   
         2)การเลือกกระทำตามเงื่อนไข(Decision) คือ การเขียนโปรแกรมเพื่อนำค่าไปเลือกกระทำ โดยปกติจะมีเหตุการณ์ให้ทำ 2 กระบวนการ คือเงื่อนไขเป็นจริงจะกระทำกระบวนการหนึ่ง และเป็นเท็จจะกระทำอีกกระบวนการหนึ่ง แต่ถ้าซับซ้อนมากขึ้น จะต้องใช้เงื่อนไขหลายชั้น เช่นการตัดเกรดนักศึกษา เป็นต้น ตัวอย่างผังงานนี้ จะแสดงผลการเลือกอย่างง่าย เพื่อกระทำกระบวนการเพียงกระบวนการเดียว
     3) การทำซ้ำ (Loop) คือ การทำกระบวนการหนึ่งหลายครั้ง โดยมีเงื่อนไขในการควบคุม หมายถึงการทำซ้ำเป็นหลักการที่ทำความเข้าใจได้ยากกว่า 2 รูปแบบแรก เพราะการเขียนโปรแกรมแต่ละภาษา จะไม่แสดงภาพอย่างชัดเจนเหมือนการเขียนผังงาน(Flowchart) ผู้เขียนโปรแกรมต้องจินตนาการ ถึงรูปแบบการทำงาน และใช้คำสั่งควบคุมด้วยตนเอง ตัวอย่างผังงานที่นำมาแสดงนี้เป็นการแสดงคำสั่งทำซ้ำ(do while) ซึ่งหมายถึงการทำซ้ำในขณะที่เป็นจริง และเลิกการทำซ้ำเมื่อเงื่อนไขเป็นเท็จ
3. ขั้นตอนการทำงานซ้ำแบบ while…do และ do…until ต่างกันอย่างไร จงอธิบาย
ตอบ.  while...do เป็นโครงสร้างที่มีการทดสอบเงื่อนไขก่อน ถ้าเงื่อนไขเป็นจริงก็จะเข้ามาทำงานในกลุ่มคำสั่งที่ต้องทำซ้ำ ซึ่งเรียกว่าการเข้าลูป หลังจากนั้นก็จะย้อนกลับไปตรวจสอบเงื่อนไขใหม่อีก ถ้าเงื่อนไขยังคงเป็นจริงอยู่ ก็ยังคงต้องทำกลุ่มคำสั่งซ้ำหรือเข้าลูปต่อไปอีก จนกระทั่งเงื่อนไขเป็นเท็จ ก็จะออกจากลูปไปทำคำสั่งถัดไปที่อยู่ถัดจาก DO WHILE หรืออาจเป็นการจบการทำงาน
        ส่วน do…until เป็นโครงสร้างการทำงานแบบทำงานซ้ำเช่นกัน แต่มีการทำงานที่แตกต่างจาก DO WHILE คือจะมีการเข้าทำงานกลุ่มคำสั่งที่อยู่ภายในลูปก่อนอย่างน้อย 1 ครั้ง แล้วจึงจะไปทดสอบเงื่อนไข ถ้าเงื่อนไขเป็นเท็จก็จะมีการเข้าทำกลุ่มคำสั่งที่ต้องทำซ้ำอีก หลังจากนั้นก็จะย้อนกลับไปตรวจสอบเงื่อนไขใหม่อีก ถ้าเงื่อนไขยังคงเป็นเท็จอยู่ ก็ยังต้องทำกลุ่มคำสั่งซ้ำหรือเข้าลูปต่อไปอีก จนกระทั่งเงื่อนไขเป็นจริง จึงจะออกจากลูปไปทำคำสั่งถัดจาก UNTIL หรืออาจเป็นการจบการทำงาน
4.จงบอกประโยชน์ของผังงานตอบ. 1.) ทำให้มองเห็นรูปแบบของงานได้ทั้งหมด โดยใช้เวลาไม่มาก
         
 2.) การเขียนผังงานเป็นสากลสามารถนำไปเขียนโปรแกรมได้ทุกภาษา
         
3.) สามารถตรวจสอบข้อผิดพลาดของโปรแกรมได้อย่างรวดเร็ว
         
 4. )หากมีการพัฒนาระบบงานในลำดับต่อไป สามารถทำได้อย่างรวดเร็ว โดยศึกษาจากผังงาน จะสามารถศึกษาได้อย่างรวดเร็ว และเข้าใจง่ายกว่าการศึกษาจากโปรแกรม
 
 

ไม่มีความคิดเห็น:

แสดงความคิดเห็น