ผังงาน
(Flowchart)
ความหมายของผังงาน
ผังงาน (Flowchart) คือ รูปภาพ (Image)
หรือสัญลักษณ์(Symbol) ที่ใช้เขียนแทนขั้น
ตอน คำาอธิบาย ข้อความ หรือคำาพูด ที่ใช้
ในอัลกอริทึม (Algorithm) เพราะการนำา
เสนอขั้นตอนของงานให้เข้าใจตรงกัน
ระหว่างผู้เกี่ยวข้อง ด้วยคำาพูด หรือข้อความ
ทำาได้ยากกว่า
ผังงานแบ่งได้ 2 ประเภท
1. ผังงานระบบ (System Flowchart)
คือ ผังงานที่แสดงขั้นตอนการทำางานในระบบ
อย่างกว้าง ๆ แต่ไม่เจาะลงในระบบงานย่อย
2. ผังงานโปรแกรม (Program Flowchart)
คือ ผังงานที่แสดงถึงขั้นตอนในการทำางานของ
โปรแกรม ตั้งแต่รับข้อมูล คำานวณ จนถึงแสดง
ผลลัพธ์
ประโยชน์ของผังงาน
1. ทำาให้เข้าใจ และแยกแยะปัญหาได้ง่าย
(Problem Define)
2. แสดงลำาดับการทำางาน (Step Flowing)
3. หาข้อผิดพลาดได้ง่าย (Easy to Debug)
4. ทำาความเข้าใจโปรแกรมได้ง่าย (Easy to
Read)
5. ไม่ขึ้นกับภาษาใดภาษาหนึ่ง (Flexible
Language)
การโปรแกรมแบบมีโครงสร้าง หรือ การ
โปรแกรมโครงสร้าง ประกอบด้วยอะไรบ้าง
ผมขอตอบอย่างสั้น ๆ ว่าทุกภาษาต้องมีหลักการ 3
อย่างนี้คือ การทำางานแบบตามลำาดับ(Sequence)
การเลือกกระทำาตามเงื่อนไข(Decision) และ การทำา
ซำ้า(Loop) แม้ตำาราหลาย ๆ เล่มจะบอกว่า decision
แยกเป็น if กับ case หรือ loop นั้นยังแยกเป็น while
และ until ซึ่งแตกต่างกัน แต่ผมก็ยังนับว่าการเขียน
โปรแกรม แบบมีโครงสร้างนั้น มองให้ออกแค่ 3
อย่างก็พอแล้ว และหลายท่านอาจเถียงผมว่าบาง
ภาษาไม่จำาเป็นต้องใช้ Structure Programming
แต่เท่าที่ผมศึกษามา ยังไม่มีภาษาใด เลิกใช้หลักการ
ทั้ง 3 นี้อย่างสิ้นเชิง เช่น MS Access ที่หลายคน
บอกว่าง่าย ซึ่งก็อาจจะง่ายจริง ถ้าจะศึกษาเพื่อสั่งให้
ทำางานตาม wizard หรือตามที่เขาออกแบบมาให้ใช้
1. การทำางานแบบตาม
ลำาดับ(Sequence) : รูปแบบการเขียน
โปรแกรมที่ง่ายที่สุดคือ เขียนให้ทำางาน
จากบนลงล่าง เขียนคำาสั่งเป็นบรรทัด
และทำาทีละบรรทัดจากบรรทัดบนสุดลงไป
จนถึงบรรทัดล่างสุด สมมติให้มีการ
ทำางาน 3 กระบวนการคือ อ่านข้อมูล
คำานวณ และพิมพ์
2. การเลือกกระทำาตามเงื่อนไข(Decision
or Selection) : การตัดสินใจ หรือเลือก
เงื่อนไขคือ เขียนโปรแกรมเพื่อนำาค่าไปเลือก
กระทำา โดยปกติจะมีเหตุการณ์ให้ทำา 2
กระบวนการ คือเงื่อนไขเป็นจริงจะกระทำา
กระบวนการหนึ่ง และเป็นเท็จจะกระทำาอีก
กระบวนการหนึ่ง แต่ถ้าซับซ้อนมากขึ้น จะต้อง
ใช้เงื่อนไขหลายชั้น เช่นการตัดเกรดนักศึกษา
เป็นต้น ตัวอย่างผังงานนี้ จะแสดงผลการเลือก
อย่างง่าย เพื่อกระทำากระบวนการเพียง
กระบวนการเดียว
3. การทำาซำ้า(Repeation or Loop) : การทำา
กระบวนการหนึ่งหลายครั้ง โดยมีเงื่อนไขใน
การควบคุม หมายถึงการทำาซำ้าเป็นหลักการที่
ทำาความเข้าใจได้ยากกว่า 2 รูปแบบแรก เพราะ
การเขียนโปรแกรมแต่ละภาษา จะไม่แสดงภาพ
อย่างชัดเจนเหมือนการเขียนผังงาน ผู้เขียน
โปรแกรมต้องจินตนาการด้วยตนเอง
โจทย์ที่ 1
- พิมพ์เลข 0 ถึง 4 ทางจอภาพ
ตัวอย่างผังงาน
โจทย์ที่ 2
- รับค่าจากแป้นพิมพ์เก็บลงตัวแปรอาร์เรย์ 5ตัว
- แล้วทำาซำ้าอีกครั้ง เพื่อหาค่าสูงสุด
ตัวอย่างผังงาน
อัลกอริทึม
1. กำาหนดค่าเริ่มต้นให้ max, i และ ar
2. ทำาซำ้าเพื่อรับค่าเก็บใน ar ให้ครบ 5 ครั้ง
3. กำาหนดค่าเริ่มต้นให้ i อีกครั้ง
4. ทำาซำ้าเพื่อนำาค่าที่เก็บไว้ใน ar มาหาค่า max
5. พิมพ์ค่าสูงสุด ที่หาได้
จัดทำาโดย
นางสาว จุฑามาส สุขะนันท์
เลขที่6
นางสาว อรวรรณ์ สรรพกิจจา
นนท์ เลขที่27
ชั้น ม.6/2

ผังงาน (Flowchart)1

  • 1.
  • 2.
    ความหมายของผังงาน ผังงาน (Flowchart) คือรูปภาพ (Image) หรือสัญลักษณ์(Symbol) ที่ใช้เขียนแทนขั้น ตอน คำาอธิบาย ข้อความ หรือคำาพูด ที่ใช้ ในอัลกอริทึม (Algorithm) เพราะการนำา เสนอขั้นตอนของงานให้เข้าใจตรงกัน ระหว่างผู้เกี่ยวข้อง ด้วยคำาพูด หรือข้อความ ทำาได้ยากกว่า
  • 3.
    ผังงานแบ่งได้ 2 ประเภท 1.ผังงานระบบ (System Flowchart) คือ ผังงานที่แสดงขั้นตอนการทำางานในระบบ อย่างกว้าง ๆ แต่ไม่เจาะลงในระบบงานย่อย 2. ผังงานโปรแกรม (Program Flowchart) คือ ผังงานที่แสดงถึงขั้นตอนในการทำางานของ โปรแกรม ตั้งแต่รับข้อมูล คำานวณ จนถึงแสดง ผลลัพธ์
  • 4.
    ประโยชน์ของผังงาน 1. ทำาให้เข้าใจ และแยกแยะปัญหาได้ง่าย (ProblemDefine) 2. แสดงลำาดับการทำางาน (Step Flowing) 3. หาข้อผิดพลาดได้ง่าย (Easy to Debug) 4. ทำาความเข้าใจโปรแกรมได้ง่าย (Easy to Read) 5. ไม่ขึ้นกับภาษาใดภาษาหนึ่ง (Flexible Language)
  • 5.
    การโปรแกรมแบบมีโครงสร้าง หรือ การ โปรแกรมโครงสร้างประกอบด้วยอะไรบ้าง ผมขอตอบอย่างสั้น ๆ ว่าทุกภาษาต้องมีหลักการ 3 อย่างนี้คือ การทำางานแบบตามลำาดับ(Sequence) การเลือกกระทำาตามเงื่อนไข(Decision) และ การทำา ซำ้า(Loop) แม้ตำาราหลาย ๆ เล่มจะบอกว่า decision แยกเป็น if กับ case หรือ loop นั้นยังแยกเป็น while และ until ซึ่งแตกต่างกัน แต่ผมก็ยังนับว่าการเขียน โปรแกรม แบบมีโครงสร้างนั้น มองให้ออกแค่ 3 อย่างก็พอแล้ว และหลายท่านอาจเถียงผมว่าบาง ภาษาไม่จำาเป็นต้องใช้ Structure Programming แต่เท่าที่ผมศึกษามา ยังไม่มีภาษาใด เลิกใช้หลักการ ทั้ง 3 นี้อย่างสิ้นเชิง เช่น MS Access ที่หลายคน บอกว่าง่าย ซึ่งก็อาจจะง่ายจริง ถ้าจะศึกษาเพื่อสั่งให้ ทำางานตาม wizard หรือตามที่เขาออกแบบมาให้ใช้
  • 6.
    1. การทำางานแบบตาม ลำาดับ(Sequence) :รูปแบบการเขียน โปรแกรมที่ง่ายที่สุดคือ เขียนให้ทำางาน จากบนลงล่าง เขียนคำาสั่งเป็นบรรทัด และทำาทีละบรรทัดจากบรรทัดบนสุดลงไป จนถึงบรรทัดล่างสุด สมมติให้มีการ ทำางาน 3 กระบวนการคือ อ่านข้อมูล คำานวณ และพิมพ์
  • 7.
    2. การเลือกกระทำาตามเงื่อนไข(Decision or Selection): การตัดสินใจ หรือเลือก เงื่อนไขคือ เขียนโปรแกรมเพื่อนำาค่าไปเลือก กระทำา โดยปกติจะมีเหตุการณ์ให้ทำา 2 กระบวนการ คือเงื่อนไขเป็นจริงจะกระทำา กระบวนการหนึ่ง และเป็นเท็จจะกระทำาอีก กระบวนการหนึ่ง แต่ถ้าซับซ้อนมากขึ้น จะต้อง ใช้เงื่อนไขหลายชั้น เช่นการตัดเกรดนักศึกษา เป็นต้น ตัวอย่างผังงานนี้ จะแสดงผลการเลือก อย่างง่าย เพื่อกระทำากระบวนการเพียง กระบวนการเดียว
  • 8.
    3. การทำาซำ้า(Repeation orLoop) : การทำา กระบวนการหนึ่งหลายครั้ง โดยมีเงื่อนไขใน การควบคุม หมายถึงการทำาซำ้าเป็นหลักการที่ ทำาความเข้าใจได้ยากกว่า 2 รูปแบบแรก เพราะ การเขียนโปรแกรมแต่ละภาษา จะไม่แสดงภาพ อย่างชัดเจนเหมือนการเขียนผังงาน ผู้เขียน โปรแกรมต้องจินตนาการด้วยตนเอง
  • 9.
    โจทย์ที่ 1 - พิมพ์เลข0 ถึง 4 ทางจอภาพ ตัวอย่างผังงาน
  • 10.
    โจทย์ที่ 2 - รับค่าจากแป้นพิมพ์เก็บลงตัวแปรอาร์เรย์5ตัว - แล้วทำาซำ้าอีกครั้ง เพื่อหาค่าสูงสุด ตัวอย่างผังงาน อัลกอริทึม 1. กำาหนดค่าเริ่มต้นให้ max, i และ ar 2. ทำาซำ้าเพื่อรับค่าเก็บใน ar ให้ครบ 5 ครั้ง 3. กำาหนดค่าเริ่มต้นให้ i อีกครั้ง 4. ทำาซำ้าเพื่อนำาค่าที่เก็บไว้ใน ar มาหาค่า max 5. พิมพ์ค่าสูงสุด ที่หาได้
  • 11.
    จัดทำาโดย นางสาว จุฑามาส สุขะนันท์ เลขที่6 นางสาวอรวรรณ์ สรรพกิจจา นนท์ เลขที่27 ชั้น ม.6/2