วันอาทิตย์ที่ 11 กันยายน พ.ศ. 2559

ผังงาน (Flowchart)

ผังงาน (Flowchart)

ความหมายของผังงาน

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

ผังงาน เป็นเครื่องมือแสดงขั้นตอน หรือกระบวนการทำงาน โดยใช้สัญลักษณ์ที่เป็นมาตรฐานเดียวกัน ซึ่งในสัญลักษณ์จะมีข้อความสั้น ๆ อธิบายข้อมูลที่ต้องใช้ ผลลัพธ์ หรือคำสั่งประมวลผลของขั้นตอนนั้น ๆ และเชื่อมโยงขั้นตอนเหล่านั้นด้วยเส้นที่มีลูกศรชี้ทิศทางการทำงานตั้งแต่เริ่มต้นจนจบกระบวนการ [1]p.208 


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

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

การโปรแกรมแบบมีโครงสร้าง หรือ การโปรแกรมโครงสร้าง คือ การโปรแกรมที่ประกอบด้วยกระบวนการ 3 รูปแบบ ได้แก่ การทำงานแบบตามลำดับ(Sequence) การเลือกกระทำตามเงื่อนไข(Decision) และ การทำซ้ำ(Loop) มีตำราหลายเล่มแยกการเลือกตามเงื่อนไขเป็น if กับ select case หรือ การทำซ้ำแยกได้เป็น do while กับ do until แต่ก็ยังนับได้ว่าการเขียนโปรแกรมโครงสร้างมีกระบวนการเพียง 3 รูปแบบ และมีแนวคิดใหม่ว่าการโปรแกรมไม่จำเป็นต้องใช้ Structure Programming หากศึกษาในรายละเอียดก็พบว่าทุกภาษายังจำเป็นต้องมีกระบวนการ 3 รูปแบบนี้อยู่เป็นพื้นฐาน เช่น Microsoft Access ที่มีการใช้งาน Tool หรือ wizard ให้ใช้ แต่ก็ยังต้องมีการลง code ใน module ซึ่งต้องมีประสบการณ์ในการโปรแกรมแบบ Structure Programming เพื่อควบคุม 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) 




แบบฝึกหัด 10 ข้อ

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

2. ผังงานมีชื่อในภาษาอังกฤษว่าอย่างไร 
ก.Flowchart
ข.Image
ค.Algorithm
ง.System Flowchart

3. ผังงานมี 2 ประเภท ข้อใดคือ ประเภทของผังงานทั้ง 2 
ก.ผังงานระบบ ผังงานองค์กร
ข.ผังงานองค์การ ผังงานโปรแกรม
ค.ผังงานโปรแกรม ผังงานโครงสร้าง
ง.ผังงานระบบ ผังงานโปรแกรม

4. ผังงานที่ใช้ร่วมกับคำสั่งเทียม เพื่อใช้ในการเขียนอัลกอลิทึมเป็นผังงานประเภทใด 

ก.ผังงานระบบ 
ข.ผังงานองค์การ 
ค.ผังงานโปรแกรม 
ง.ผังงานโครงสร้าง

5. สัญลักษณ์ของผังงานที่ดีควรเป็นอย่างไร 
ก.เป็นรูปภาพที่มีความหมายที่กำหนดเป็นมาตรฐานเดียวกัน
ข.มีสัญลักษณ์ที่ซับซ้อน ไม่ชัดเจน
ค.มีรูปแบบคล้ายโปรแกรมอื่น
ง.เป็นรูปภาพที่มีความหมายสับสน ไม่มี มาตรฐาน

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

7. ข้อใดไม่ใช่ประโยชน์ของผังงาน 
ก.สามารถแยกแยะข้อความบกพร่องได้ง่าย
ข.ทำให้เข้าใจและแยกแยะปัญหาต่างๆได้ง่าย
ค.ทำเกิดความสวยงามและความเพลิดเพลิน
ง.ทำให้ผู้อื่นเข้าใจการทำงานได้ง่ายกว่าการดูจากsource code

8. การศึกษาลำดับขั้นตอนในการทำงานของผังงาน ควรสังเกตจากอะไร 
ก.ลูกศรแสดงทิศทางการทำงาน
ข.สัญลักษณ์
ค.จุดเริ่มต้น
ง.ตัวเชื่อม

9. ผังงานโปรแกรมมี 3 ประเภท ข้อใดไม่ใช่ประเภทของผังงานโปรแกรม 
ก.ผังงานแบบเรียงลำดับ
ข.ผังงานแบบโปรแกรมระบบ
ค.ผังงานแบบแบบมีการกำหนดเงื่อนไข
ง.ผังงานแบบการทำงานวนรอบ

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

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

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