การเขียนผังงานเบื้องต้น
ความหมายผังงาน
ผังงาน หมายถึง เครื่องมือที่ช่วยในการเขียนโปรแกรม โดยเขียนเป็นเครื่องหมายภาพสัญลักษณ์แสดง
ลาดับขั้นตอนการทางานการเขียนผังงาน เป็นการถ่ายทอดความเข้าใจที่ได้จากการวิเคราะห์งานให้อยู่ใน
รูปภาพหรือสัญลักษณ์ ผู้เขียนโปรแกรมจะสามารถเข้าใจล าดับขั้นตอนการเขียน
โปรแกรมได้อย่างรวดเร็วและง่ายขึ้น และง่ายต่อการตรวจสอบความถูกต้องของลาดับขั้นตอนในวิธีการ
ประมวลผล
วิธีการเขียนผังงานที่ดี
- ใช้สัญลักษณ์ตามที่กาหนดไว้
- ใช้ลูกศรแสดงทิศทางการไหลของข้อมูลจากบนลงล่าง หรือจากซ้ายไปขวา
- คาอธิบายในภาพควรสั้นกระทัดรัด และเข้าใจง่าย
- ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้า – ออก
- ไม่ควรโยงเส้นเชื่อมผังงานที่อยู่ไกลมาก ๆ ควรใช้สัญลักษณ์จุดเชื่อมต่อแทน
- ผังงานควรมีการทดสอบความถูกต้องของการทางานก่อนนาไปเขียนโปรแกรม
การทางานด้วยมือ (manual
operation)
แทนจุดที่มีการทางานด้วยแรงคน
การนาข้อมูลเข้า-ออกโดยทั่วไป (general
input/output)
แทนจุดที่จะนาข้อมูลเข้าหรือออกจากระบบคอมพิวเตอร์
โดยไม่ระบุชนิดของอุปกรณ์
แถบบันทึกข้อมูล (magnetic tape) แทนจุดที่นาข้อมูลเข้าหรือออกจากโปรแกรมด้วยแผ่น
บันทึกข้อมูล
จานบันทึกข้อมูล (magnetic tape) แทนจุดที่นาข้อมูลเข้าหรือออกจากโปรแกรมด้วยจานบันทึก
ข้อมูล
การนาข้อมูลเข้าด้วยมือ (manual
input)
แทนจุดที่นาข้อมูลเข้าด้วยมือ
การแสดงข้อมูล (display) แทนจุดที่แสดงข้อมูลด้วยจอภาพ
การทาเอกสาร (documentation) แทนจุดที่มีข้อมูลเป็นเอกสารหรือแสดงข้อมูลด้วย
เครื่องพิมพ์
การตัดสินใจ (decision) แทนจุดที่ต้องเลือกปฏิบัติอย่างใดอย่างหนึ่ง
การปฏิบัติงาน (process) แทนจุดที่มีการปฏิบัติงานอย่างใดอย่างหนึ่ง
การเตรียมการ (preparation) แทนจุดกาหนดชื่อข้อมูลหรือค่าเริ่มต้นต่างๆ
การเรียกโปรแกรมภายนอก (external
subroutine)
แทนจุดเรียกใช้โปรแกรมย่อยที่ไม่ได้อยู่ในโปรแกรมนั้น
การเรียกโปรแกรมภายใน (internal
subroutine)
แทนจุดเรียกใช้โปรแกรมย่อยที่อยู่ในโปรแกรมนั้น
การเรียงข้อมูล (sort) แทนจุดที่มีการเรียงข้อมูลใหม่ตามข้อกาหนด
ทิศทาง (flow line) แทนทิศทางขั้นตอนการดาเนินงานซึ่จะปฏิบัติต่อเนื่องกัน
ตามหัวลูกศรชี้
หมายเหตุ (annotation) แทนจุดที่แสดงรายละเอียดเพิ่มเติมหรือหมายเหตุของจุด
ต่างๆ ที่แสดงในผังงานด้วยสัญลักษณ์ไม่ชัดเจน
สัญลักษณ์ที่ใช้ในผังงาน
การติดต่อทางไกล (communication
link)
แทนช่วงที่มีการติดต่อหรือย้ายข้อมูลด้วยระบบการติดต่อ
ทางไกล
จุดเชื่อมต่อ (connector) แทนจุดเชื่อมต่อของผังงานเมื่อใช้สัญญลักษณ์เพื่อให้ดูง่าย
จุดเชื่อมต่อหน้ากระดาษ (off page
connector)
แทนจุดเชื่อมต่อของผังงานที่อยู่คนละหน้ากระดาษ
เริ่มต้นและลงท้าย (terminal) แทนจุดเริ่มต้นและลงท้ายของผังงานของโปรแกรมหลักและ
โปรแกรมย่อย
รูปแบบของผังงาน
รูปแบบการเขียนผังงานมี 3 รูปแบบ
1. แบบตามลาดับ (Sequence)
2. แบบการเลือก/ตัดสินใจ/เงื่อนไข (Selection/Decision/Condition)
3. แบบวนซ้า (Iteration / Loop)
แบบเรียงลาดับ (Sequence)
โจทย์: โปรแกรมทาการอ่านเลข 3 จานวน ทาการบวก เลข ทั้งหมด พร้อมพิมพ์
ผลรวม
วิเคราะห์: ผลรวมเกิดจากการบวกเลข 3 จานวน
OUTPUT: ผลรวมของเลข 3 จานวน
INPUT : ตัวเลข 3 จานวน
ขั้นตอน:
1. รับเลขทั้ง 3 จานวน
2. คานวณผลรวม
3. พิมพ์ผลรวม
แบบมีเงื่อนไข(Decision)
จากตัวอย่าง ประกอบด้วยโครงสร้างผังงาน 2 โครงสร้าง คือ การทางานแบบลาดับและการเลือกทา การ
ทางานของผังงานสามารถอธิบายลาดับขั้นตอนการทางานได้ดังนี้
1. เริ่มต้นการทางาน
2. รับค่าข้อมูล จานวน 2 ค่า มาเก็บไว้ในตัวแปร X และ Y
3. ตรวจสอบเงื่อนไข ถ้า X น้อยกว่า Y แล้วทา
3.1 คานวณค่า SUM = X2*Y2
มิฉะนั้นแล้ว
3.2 คานวณค่า SUM = X * Y
4. แสดงค่า SUM
5. จบการทางาน
แบบทาซ้า (Loop)
จากรูป ประกอบด้วยลักษณะโครงสร้างผังงาน 2 ลักษณะ คือ โครงสร้างผังงานการทางานแบบ
ลาดับ และการทาซ้าลักษณะทาจนกระทั่ง มีขั้นตอน ดังนี้
1. เริ่มต้นการทางาน
2. กาหนดให้ a = 1
3. ทาซ้าจนกระทั่ง a <>
3.1 แสดงค่า a
3.2 คานวณค่า a เท่ากับ a+1
4. จบการทางาน
ประโยชน์ของผังงาน
1. ช่วยลาดับขั้นตอนการทางานของโปรแกรม และสามารถนาไปเขียนโปรแกรมได้โดยไม่สับสน
2. ช่วยในการตรวจสอบ และแก้ไขโปรแกรมได้ง่าย เมื่อเกิดข้อผิดพลาด
3. ช่วยให้การดัดแปลง แก้ไข ทาได้อย่างสะดวกและรวดเร็ว
4. ช่วยให้ผู้อื่นสามารถศึกษาการทางานของโปรแกรมได้อย่างง่าย และรวดเร็วมากขึ้น
5. สามารถเรียนรู้และเข้าใจได้ง่าย เพื่อผังงานไม่ขึ้นอยู่กับภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่งโดยเฉพาะ
6. ผังงานเป็นการสื่อความหมายด้วยภาพ ทาให้ง่ายและสะดวกในการพิจารณาถึงลาดับขั้นตอนในการ
ทางาน ต่างกับการบรรยายเป็นตัวอักษร เพราะอาจสื่อความหมายผิดไปได้
7. ในโปรแกรมที่ไม่ซับซ้อน สามารถใช้ผังงานตรวจสอบความถูกต้องของลาดับขั้นตอนได้ง่ายถ้ามี
ข้อผิดพลาด สามารถแก้ไขได้สะดวกและรวดเร็ว
8. การเขียนโปรแกรมโดยพิจารณาจากผังงาน สามารถทางานง่ายและรวดเร็ว
9. การบารุงรักษาโปรแกรม เมื่อมีการเปลี่ยนแปลงแก้ไขโปรแกรม สามารถดูผังงานเพื่อแก้ไขคาสั่งใน
โปรแกรมช่วยสร้างผังงาน
1. โปรแกรม XMind
โปรแกรม XMind เป็นโปรแกรมช่วยในการเขียนแผนผังความคิด (Mind Map) ที่ไม่ต้องเสียค่าลิขสิทธิ์
โปรแกรมใดๆ ทั้งสิ้น โดยโปรแกรมมีคุณสมบัติเด่นคือ โปรแกรม XMIND สามารถสร้างภาพความคิด
(Visualized Idea) ในรูปแบบต่างๆ ได้หลากหลายประกอบด้วย
- การสร้างแผนที่ความคิด (Mind Map) เพื่อการจัดการความคิด
- การสร้างแผนผังก้างปลา (Fishbone Diageam) เพื่อการวิเคราะห์ปัจจัยและปัญหา
- การสร้างผังองค์กร (Organization Chart) ออกแบบผังองค์กรและงาน
- การสร้างผังการตัดสินใจ (Decision Tree) เพื่อการวิเคราะห์ทางเลือก
- การสร้างตารางความคิด (Idea spreadsheet)
- อื่นๆ ตามจินตนาการ (Imagine map)
2. Dia โปรแกรมออกแบบผังงาน
Dia หรือ Diagram เป็นโปรแกรมสาหรับออกแบบแผนผัง Diagram Flowchart ในกลุ่มโอเพน
ซอร์ส (OSS) มีเครื่องมือให้ใช้งานหลากหลายรูปแบบ เช่น Flowchart, Map เป็นต้น สามารถ
ออกแบบแผนงานได้หลากหลาย เช่น ออกแบบผังห้องคอมพิวเตอร์, ออกแบบ ER-Diagram เป็นต้น ทา
ให้ Dia เป็นโปรแกรมออกแบบผังงานในระดับที่ดี (Diagramming tool)
3.โปรแกรม Edraw Mind Map
Edraw Mind Map เป็นโปรแกรมสร้างแผนผังนโนทัศน์หรือแผนผังความคิด (Mind Map)
โดยโปรแกรมมีตัวอย่าง มีแม่แบบตลอดจนมีวัตถุ (Object) ในลักษณะต่างๆ ที่เอาไว้ใช้จัดการกับแผน
ความคิดที่หลากหลาย การใช้งานโปรแกรมมีความง่าย ผลงานที่ได้จึงมีความสวยงาม นอกจากนั้นผลงาน
เมื่อจัดทาเสร็จแล้วยังสามารถนาออกไปเพื่อใช้งานได้หลากหลายรูปแบบครอบคลุมการทางานปัจจุบันได้
เป็นอย่างดี
4. โปรแกรม FreeMind
เป็นโปรแกรมส าหรับสร้าง Mind Map ที่ใช้ส าหรับการจัดการ และ บริหารความคิดของสมองให้เป็นไป
อย่างมีระเบียบแบบแผน โปรแกรมเป็นซอฟต์แวร์โอเพนซอร์ส ได้ถูกพัฒนาขึ้นบนภาษาจาวา (Java) เพราะ
ภาษาจาวามีความยืดหยุ่นสูง รองรับการท างานบนระบบปฏิบัติการได้หลากหลายอาทิเช่น Windows,
Mac OS และ LINUX ดังนั้น จึงต้องดาวน์โหลดตัวแปลภาษาจาวามาติดตั้งก่อน จึงจะสามารถท าการ
ติดตั้ง FreeMind แ
ละใช้งาน
FreeMind ได้อย่างมีประสิทธิภาพสูงที่สุด

work3-56

  • 1.
  • 2.
    ความหมายผังงาน ผังงาน หมายถึง เครื่องมือที่ช่วยในการเขียนโปรแกรมโดยเขียนเป็นเครื่องหมายภาพสัญลักษณ์แสดง ลาดับขั้นตอนการทางานการเขียนผังงาน เป็นการถ่ายทอดความเข้าใจที่ได้จากการวิเคราะห์งานให้อยู่ใน รูปภาพหรือสัญลักษณ์ ผู้เขียนโปรแกรมจะสามารถเข้าใจล าดับขั้นตอนการเขียน โปรแกรมได้อย่างรวดเร็วและง่ายขึ้น และง่ายต่อการตรวจสอบความถูกต้องของลาดับขั้นตอนในวิธีการ ประมวลผล วิธีการเขียนผังงานที่ดี - ใช้สัญลักษณ์ตามที่กาหนดไว้ - ใช้ลูกศรแสดงทิศทางการไหลของข้อมูลจากบนลงล่าง หรือจากซ้ายไปขวา - คาอธิบายในภาพควรสั้นกระทัดรัด และเข้าใจง่าย - ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้า – ออก - ไม่ควรโยงเส้นเชื่อมผังงานที่อยู่ไกลมาก ๆ ควรใช้สัญลักษณ์จุดเชื่อมต่อแทน - ผังงานควรมีการทดสอบความถูกต้องของการทางานก่อนนาไปเขียนโปรแกรม
  • 3.
    การทางานด้วยมือ (manual operation) แทนจุดที่มีการทางานด้วยแรงคน การนาข้อมูลเข้า-ออกโดยทั่วไป (general input/output) แทนจุดที่จะนาข้อมูลเข้าหรือออกจากระบบคอมพิวเตอร์ โดยไม่ระบุชนิดของอุปกรณ์ แถบบันทึกข้อมูล(magnetic tape) แทนจุดที่นาข้อมูลเข้าหรือออกจากโปรแกรมด้วยแผ่น บันทึกข้อมูล จานบันทึกข้อมูล (magnetic tape) แทนจุดที่นาข้อมูลเข้าหรือออกจากโปรแกรมด้วยจานบันทึก ข้อมูล การนาข้อมูลเข้าด้วยมือ (manual input) แทนจุดที่นาข้อมูลเข้าด้วยมือ การแสดงข้อมูล (display) แทนจุดที่แสดงข้อมูลด้วยจอภาพ การทาเอกสาร (documentation) แทนจุดที่มีข้อมูลเป็นเอกสารหรือแสดงข้อมูลด้วย เครื่องพิมพ์ การตัดสินใจ (decision) แทนจุดที่ต้องเลือกปฏิบัติอย่างใดอย่างหนึ่ง การปฏิบัติงาน (process) แทนจุดที่มีการปฏิบัติงานอย่างใดอย่างหนึ่ง การเตรียมการ (preparation) แทนจุดกาหนดชื่อข้อมูลหรือค่าเริ่มต้นต่างๆ การเรียกโปรแกรมภายนอก (external subroutine) แทนจุดเรียกใช้โปรแกรมย่อยที่ไม่ได้อยู่ในโปรแกรมนั้น การเรียกโปรแกรมภายใน (internal subroutine) แทนจุดเรียกใช้โปรแกรมย่อยที่อยู่ในโปรแกรมนั้น การเรียงข้อมูล (sort) แทนจุดที่มีการเรียงข้อมูลใหม่ตามข้อกาหนด ทิศทาง (flow line) แทนทิศทางขั้นตอนการดาเนินงานซึ่จะปฏิบัติต่อเนื่องกัน ตามหัวลูกศรชี้ หมายเหตุ (annotation) แทนจุดที่แสดงรายละเอียดเพิ่มเติมหรือหมายเหตุของจุด ต่างๆ ที่แสดงในผังงานด้วยสัญลักษณ์ไม่ชัดเจน สัญลักษณ์ที่ใช้ในผังงาน
  • 4.
    การติดต่อทางไกล (communication link) แทนช่วงที่มีการติดต่อหรือย้ายข้อมูลด้วยระบบการติดต่อ ทางไกล จุดเชื่อมต่อ (connector)แทนจุดเชื่อมต่อของผังงานเมื่อใช้สัญญลักษณ์เพื่อให้ดูง่าย จุดเชื่อมต่อหน้ากระดาษ (off page connector) แทนจุดเชื่อมต่อของผังงานที่อยู่คนละหน้ากระดาษ เริ่มต้นและลงท้าย (terminal) แทนจุดเริ่มต้นและลงท้ายของผังงานของโปรแกรมหลักและ โปรแกรมย่อย
  • 5.
    รูปแบบของผังงาน รูปแบบการเขียนผังงานมี 3 รูปแบบ 1.แบบตามลาดับ (Sequence) 2. แบบการเลือก/ตัดสินใจ/เงื่อนไข (Selection/Decision/Condition) 3. แบบวนซ้า (Iteration / Loop) แบบเรียงลาดับ (Sequence) โจทย์: โปรแกรมทาการอ่านเลข 3 จานวน ทาการบวก เลข ทั้งหมด พร้อมพิมพ์ ผลรวม วิเคราะห์: ผลรวมเกิดจากการบวกเลข 3 จานวน OUTPUT: ผลรวมของเลข 3 จานวน INPUT : ตัวเลข 3 จานวน
  • 6.
    ขั้นตอน: 1. รับเลขทั้ง 3จานวน 2. คานวณผลรวม 3. พิมพ์ผลรวม
  • 7.
    แบบมีเงื่อนไข(Decision) จากตัวอย่าง ประกอบด้วยโครงสร้างผังงาน 2โครงสร้าง คือ การทางานแบบลาดับและการเลือกทา การ ทางานของผังงานสามารถอธิบายลาดับขั้นตอนการทางานได้ดังนี้ 1. เริ่มต้นการทางาน 2. รับค่าข้อมูล จานวน 2 ค่า มาเก็บไว้ในตัวแปร X และ Y 3. ตรวจสอบเงื่อนไข ถ้า X น้อยกว่า Y แล้วทา 3.1 คานวณค่า SUM = X2*Y2 มิฉะนั้นแล้ว 3.2 คานวณค่า SUM = X * Y 4. แสดงค่า SUM 5. จบการทางาน
  • 8.
    แบบทาซ้า (Loop) จากรูป ประกอบด้วยลักษณะโครงสร้างผังงาน2 ลักษณะ คือ โครงสร้างผังงานการทางานแบบ ลาดับ และการทาซ้าลักษณะทาจนกระทั่ง มีขั้นตอน ดังนี้ 1. เริ่มต้นการทางาน 2. กาหนดให้ a = 1 3. ทาซ้าจนกระทั่ง a <> 3.1 แสดงค่า a 3.2 คานวณค่า a เท่ากับ a+1 4. จบการทางาน
  • 9.
    ประโยชน์ของผังงาน 1. ช่วยลาดับขั้นตอนการทางานของโปรแกรม และสามารถนาไปเขียนโปรแกรมได้โดยไม่สับสน 2.ช่วยในการตรวจสอบ และแก้ไขโปรแกรมได้ง่าย เมื่อเกิดข้อผิดพลาด 3. ช่วยให้การดัดแปลง แก้ไข ทาได้อย่างสะดวกและรวดเร็ว 4. ช่วยให้ผู้อื่นสามารถศึกษาการทางานของโปรแกรมได้อย่างง่าย และรวดเร็วมากขึ้น 5. สามารถเรียนรู้และเข้าใจได้ง่าย เพื่อผังงานไม่ขึ้นอยู่กับภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่งโดยเฉพาะ 6. ผังงานเป็นการสื่อความหมายด้วยภาพ ทาให้ง่ายและสะดวกในการพิจารณาถึงลาดับขั้นตอนในการ ทางาน ต่างกับการบรรยายเป็นตัวอักษร เพราะอาจสื่อความหมายผิดไปได้ 7. ในโปรแกรมที่ไม่ซับซ้อน สามารถใช้ผังงานตรวจสอบความถูกต้องของลาดับขั้นตอนได้ง่ายถ้ามี ข้อผิดพลาด สามารถแก้ไขได้สะดวกและรวดเร็ว 8. การเขียนโปรแกรมโดยพิจารณาจากผังงาน สามารถทางานง่ายและรวดเร็ว 9. การบารุงรักษาโปรแกรม เมื่อมีการเปลี่ยนแปลงแก้ไขโปรแกรม สามารถดูผังงานเพื่อแก้ไขคาสั่งใน
  • 10.
    โปรแกรมช่วยสร้างผังงาน 1. โปรแกรม XMind โปรแกรมXMind เป็นโปรแกรมช่วยในการเขียนแผนผังความคิด (Mind Map) ที่ไม่ต้องเสียค่าลิขสิทธิ์ โปรแกรมใดๆ ทั้งสิ้น โดยโปรแกรมมีคุณสมบัติเด่นคือ โปรแกรม XMIND สามารถสร้างภาพความคิด (Visualized Idea) ในรูปแบบต่างๆ ได้หลากหลายประกอบด้วย - การสร้างแผนที่ความคิด (Mind Map) เพื่อการจัดการความคิด - การสร้างแผนผังก้างปลา (Fishbone Diageam) เพื่อการวิเคราะห์ปัจจัยและปัญหา - การสร้างผังองค์กร (Organization Chart) ออกแบบผังองค์กรและงาน - การสร้างผังการตัดสินใจ (Decision Tree) เพื่อการวิเคราะห์ทางเลือก - การสร้างตารางความคิด (Idea spreadsheet) - อื่นๆ ตามจินตนาการ (Imagine map)
  • 11.
    2. Dia โปรแกรมออกแบบผังงาน Diaหรือ Diagram เป็นโปรแกรมสาหรับออกแบบแผนผัง Diagram Flowchart ในกลุ่มโอเพน ซอร์ส (OSS) มีเครื่องมือให้ใช้งานหลากหลายรูปแบบ เช่น Flowchart, Map เป็นต้น สามารถ ออกแบบแผนงานได้หลากหลาย เช่น ออกแบบผังห้องคอมพิวเตอร์, ออกแบบ ER-Diagram เป็นต้น ทา ให้ Dia เป็นโปรแกรมออกแบบผังงานในระดับที่ดี (Diagramming tool) 3.โปรแกรม Edraw Mind Map Edraw Mind Map เป็นโปรแกรมสร้างแผนผังนโนทัศน์หรือแผนผังความคิด (Mind Map) โดยโปรแกรมมีตัวอย่าง มีแม่แบบตลอดจนมีวัตถุ (Object) ในลักษณะต่างๆ ที่เอาไว้ใช้จัดการกับแผน ความคิดที่หลากหลาย การใช้งานโปรแกรมมีความง่าย ผลงานที่ได้จึงมีความสวยงาม นอกจากนั้นผลงาน เมื่อจัดทาเสร็จแล้วยังสามารถนาออกไปเพื่อใช้งานได้หลากหลายรูปแบบครอบคลุมการทางานปัจจุบันได้ เป็นอย่างดี
  • 12.
    4. โปรแกรม FreeMind เป็นโปรแกรมสาหรับสร้าง Mind Map ที่ใช้ส าหรับการจัดการ และ บริหารความคิดของสมองให้เป็นไป อย่างมีระเบียบแบบแผน โปรแกรมเป็นซอฟต์แวร์โอเพนซอร์ส ได้ถูกพัฒนาขึ้นบนภาษาจาวา (Java) เพราะ ภาษาจาวามีความยืดหยุ่นสูง รองรับการท างานบนระบบปฏิบัติการได้หลากหลายอาทิเช่น Windows, Mac OS และ LINUX ดังนั้น จึงต้องดาวน์โหลดตัวแปลภาษาจาวามาติดตั้งก่อน จึงจะสามารถท าการ ติดตั้ง FreeMind แ ละใช้งาน FreeMind ได้อย่างมีประสิทธิภาพสูงที่สุด