 โดยปกติมนุษย์มีกระบวนในการแก้ปัญหา ซึ่งประกอบด้วย 4 ขั้นตอนคือ
1) การวิเคราะห์และกาหนดรายละเอียดของปัญหา (State The Problem)
ขั้นตอนนี้เป็นขั้นตอนแรกสุดก่อนที่จะลงมือแก้ปัญหา
แต่ผู้แก้ปัญหามักจะมองข้ามไปจุดประสงค์ของขั้นตอนนี้ คือการทาความเข้าใจ
กับปัญหาเพื่อแยกให้ออกว่าข้อมูลที่กาหนดมาในปัญหาหรือเงื่อนไขของปัญหา
คืออะไร อีกทั้งวิธีการที่ใช้ประมวลผลกล่าวโดยสรุปมีองค์ประกอบในการ
วิเคราะห์ดังนี้
การระบุข้อมูลเข้า
ได้แก่ การพิจารณาข้อมูลและเงื่อนไขที่กาหนดมาในปัญหา
การระบุข้อมูลออก
ได้แก่ การพิจารณาเป้าหมายหรือสิ่งที่ต้องหาคาตอบ
การกาหนดวิธีประมวลผล
ได้แก่ การพิจารณาขั้นตอนวิธีการได้มาซึ่งคาตอบหรือข้อมูลออก
2) การเลือกเครื่องมือและออกแบบขั้นตอนวิธีในการแก้ปัญหา (Tools And
Algorithm Development)
ขั้นตอนนี้เป็นขั้นตอนของการวางแผนในการแก้ปัญหาอย่างละเอียดถี่ถ้วน
หลังจากที่เราทาความเข้าใจกับปัญหา พิจารณาเงื่อนไขและข้อมูลที่มีอยู่
และสิ่งที่ต้องการหาในการแก้ปัญหาอย่างละเอียดถี่ถ้วนหลังจากที่เราทาความ
เข้าใจกับปัญหา พิจารณาเงื่อนไขและข้อมูลที่มีอยู่และสิ่งที่ต้องการหาในขั้นตอน
ที่ 1แล้วเราสามารถคาดคะเนวิธีการที่จะใช้ในการแก้ปัญหาขั้นตอนนี้จาเป็นต้อง
อาศัยประสบการณ์ของผู้แก้ปัญหาเป็นหลักหากผู้แก้ปัญหาเคยพบกับปัญหา
ทานองนี้มาแล้วก็สามารถดาเนินการตามแนวทางที่เคยปฏิบัติมา
3) การดาเนินการแก้ปัญหา (Implementation)
หลังจากที่ออกแบบขั้นตอนวิธีเรียบร้อยแล้ว
ขั้นตอนนี้เป็นขั้นตอนที่ต้องลงมือแก้ปัญหาโดยใช้เครื่องมือที่เลือกไว้
การแก้ปัญหาดังกล่าวใช้คอมพิวเตอร์เข้ามาช่วยงาน ขั้นตอนนี้ก็เป็นการใช้
โปรแกรมสาเร็จหรือใช้ภาษาคอมพิวเตอร์เขียนโปรแกรมแก้ปัญหาขั้นตอนนี้ต้องอาศัย
ความรู้เกี่ยวกับเครื่องมือที่เลือกใช้ซึ่งผู้แก้ปัญหาต้องศึกษาให้เข้าใจและเชี่ยวชาญ ในขณะ
ดาเนินการหากพบแนวทางที่ดีกว่าที่ออกแบบไว้ก็สามารถปรับเปลี่ยนได้
4) การตรวจสอบและปรับปรุง (Refinement)
หลังจากที่ลงมือแก้ปัญหาแล้วต้องตรวจสอบให้แน่ใจว่า
วิธีการนี้ให้ผลลัพธ์ที่ถูกต้องโดยผู้แก้ปัญหาต้องตรวจสอบว่าขั้นตอนวิธีที่สร้างขึ้น
สอดคล้องกับรายละเอียด
ของปัญหา ซึ่งได้แก่ ข้อมูลเข้าและข้อมูลออกเพื่อให้มั่นใจว่าสามารถรองรับข้อมูลเข้าได้ทุก
กรณีอย่างถูกต้องสมบูรณ์ ในขณะเดียวกันก็ต้องปรับปรุงวิธีการเพื่อให้การแก้ปัญหานี้ได้
ผลลัพธ์ที่ดีที่สุด
ขั้นตอนทั้ง 4 ขั้นตอนดังกล่าวข้างต้น เป็นเสมือนขั้นบันได (Stair) ที่ทาให้
มนุษย์ประสบความสาเร็จในการแก้ปัญหาต่างๆ
ได้รวมทั้งการเขียนหรือพัฒนาโปรแกรมคอมพิวเตอร์เพื่อแก้ปัญหาก็ต้องใช้กระบวนการ
ตามขั้นตอนทั้ง4 นี้เช่นกัน
 ในการวิเคราะห์งาน มีแนวทางหลายรูปแบบซึ่งมีขั้นตอนและวิธีการที่คล้ายๆกัน
โดยรูปแบบหนึ่งที่ผู้วิเคราะห์นิยมใช้แก้ปัญหามี5 ขั้นตอน ดังนี้
1.สิ่งที่ต้องการ
เป็นการบอกเกี่ยวกับงานที่ต้องการใช้คอมพิวเตอร์ทาการประมวลผลและ
แสดงรูปแบบผลลัพธ์ออกมาให้ผู้ใช้ในลักษณะใด ต้องการให้การแสดงผลลัพธ์
มีการแสดงผลกี่รูปแบบ
2.รูปแบบผลลัพธ์
เป็นการวิเคราะห์ถึงการแสดงผลของเครื่องคอมพิวเตอร์
3.ข้อมูลนาเข้า
เมื่อผู้วิเคราะห์ได้ออกแบบรูปแบบของรายงาน ไม่ว่าจะเป็นการแสดงผลทาง
จอแสดงผล การพิมพ์รายงานออกทางเครื่องพิมพ์ หรือการแสดงผลงานแสดงผลผ่านทาง
ลาโพงต่างๆ เสร็จสิ้นแล้วสิ่งที่ต้องพิจารณาต่อก็คือ ข้อมูลที่ใช้ในการนาเข้า ว่าต้องการใช้
ข้อมูลนาเข้าอะไรบ้าง และลักษณะของข้อมูลที่นาเข้านั้นสัมพันธ์กับลักษณะของข้อมูลที่
ต้องการแสดงผลหรือไม่
4.ตัวแปลที่ต้องใช้
เป็นการวางแผนเพื่อกาหนดตัวแปรสาหรับใช้แทนข้อมูลนาเข้าแต่ละตัวและการ
กาหนดตัวแปลเพื่อใช้เก็บข้อมูลที่เกิดจากการประมวลผลของข้อมูลนาเข้า
5.วิธีการประมวลผล
เป็นการวิเคราะห์วิธีดาเนินการหลังจากได้สิ่งที่ต้องการ รูปแบบผลลัพธ์ข้อมูลนาเข้า
จนถึงตัวแปรที่ใช้มาแล้ว ซึ่งขั้นตอนนี้จะวิเคราะห์ความเป็นไปได้ที่จะต้องให้ได้ผลลัพธ์
ของการแก้ไขปัญหาตามต้องการ
 ผังงาน
ประเภทของผังงาน โดยทั่วไปผังงานคอมพิวเตอร์แบ่งเป็น 2 ประเภทใหญ่
 1.1 ฝังงานระบบ (System Flowchart)
เป็นผังงานที่แสดงถึงขั้นตอนการทางานภายในระบบหนึ่ง ๆ เพื่อให้เห็น
โครงสร้างโดยภาพรวมของระบบ ซึ่งจะแสดงถึงความเกี่ยวข้องของส่วนที่สาคัญ
ต่างๆ ในระบบนั้น เช่น เอกสารข้อมูลเบื้องต้น สื่อบันทึกข้อมูลที่ใช้ ข้อมูลจะ
ส่งผ่านไปยังหน่วยงานใด มีกิจกรรมประมวลผลข้อมูลอะไรในหน่วยงานนั้น แล้ว
จะส่งต่อไปหน่วยงานใด เป็นต้น ดังนั้นผังงานระบบอาจเกี่ยวข้องกับข้อมูล สื่อ
หรือแหล่งบันทึกข้อมูล วัสดุปกรณ์ คน หรือฝ่ายงานที่เกี่ยวข้อง ซึ่งแต่ละจุดจะ
ประกอบไปด้วย การนาข้อมูลเข้า วิธีการประมวลผล และการแสดงผลลัพธ์
(Input – Process - Output)
ภาพแสดงตัวอย่างผังงานระบบ
 1.2 ผังงานโปรแกรม (Program Flowchart) หรือเรียกสั้นๆ ว่า ผังงาน
ผังงานประเภทนี้แสดงถึงขั้นตอนของคาสั่งที่ใช้ในโปรแกรม ผังงานนี้อาจสร้าง
จากผังงานระบบโดยผู้เขียนผังงานจะดึงเอาแต่ละจุด ที่เกี่ยวข้องกับการทางานของ
เครื่องคอมพิวเตอร์ที่ปรากฏในผังงานระบบมาเขียน เพื่อให้ทราบว่าถ้าจะใช้
คอมพิวเตอร์ทางานควรที่จะมีขั้นตอนคาสั่งอย่างไร เพื่อให้ได้ผลลัพธ์ตามที่ต้องการ
และจะได้นามาเขียนโปรแกรมคอมพิวเตอร์ต่อไป
ดังนั้นการเขียนผังงานก็จะมีประโยชน์ เหมาะสาหรับผู้บริหาร ผู้วิเคราะห์
ระบบ ผู้เขียนโปรแกรม และบุคคลอื่นที่ต้องการศึกษา ทาให้ทราบถึงความสัมพันธ์ของ
ระบบตั้งแต่เริ่มต้น ว่ามีการปฏิบัติแต่ละขั้นตอนอย่างไร ใช้วิธีการอะไรบ้าง สุดท้ายจะได้
ผลลัพธ์อะไรบ้าง เมื่อเข้าใจระบบงานหรือสิ่งที่กาลังศึกษาก็จะช่วยให้สามารถ
ปฏิบัติงานและแก้ปัญหาได้อย่างมีประสิทธิภาพมากยิ่งขึ้น ดังภาพ
ภาพแสดงตัวอย่างการกาหนดจุดเริ่มต้นและสิ้นสุดของการเขียนผังงาน
 ประโยชน์ของผังงาน
ผังงานเป็นเครื่องมือที่ช่วยให้การศึกษาลาดับขั้นตอนของโปรแกรมง่ายขึ้น จึงนิยม
เขียนผังงานประกอบการเขียนโปรแกรมด้วยเหตุผลดังนี้
1. คนส่วนใหญ่สามารถเรียนรู้และเข้าใจผังงานได้ง่าย เพราะผังงานไม่ขึ้นอยู่
กับภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง เป็นเครื่องมือที่ใช้ในการสื่อสารได้ทุกภาษา
2. ผังงานเป็นการสื่อความหมายด้วยภาพ ช่วยลาดับขั้นตอนการทางานของ
โปรแกรมให้ง่ายและสะดวกต่อการทาความเข้าใจ สามารถนาไปเขียนโปรแกรมได้โดย
ไม่สับสน ซึ่งถ้าหากใช้ข้อความหรือคาพูดอาจจะสื่อความหมายผิดไปได้
3. ในงานโปรแกรมที่ไม่สลับซับซ้อน ช่วยในการตรวจสอบความถูกต้องของลา
ดับขั้นตอน และแก้ไขโปรแกรมได้ง่ายเมื่อเกิดข้อผิดพลาด
4. ช่วยให้ผู้อื่นสามารถศึกษาการทางานของโปรแกรมได้อย่างง่ายสะดวก และ
รวดเร็วมากขึ้น
5. การบารุงรักษาโปรแกรมหรือการเปลี่ยนแปลงแก้ไขโปรแกรมในภายหลัง ให้
มีประสิทธิภาพ ถ้าพิจารณาจากผังงานจะช่วยให้สามารถทบทวนงานในโปรแกรมก่อน
ปรับปรุง แก้ไขได้สะดวกและง่ายขึ้น
 ข้อจากัดของการเขียนผังงาน
นักเขียนโปรแกรมบางคนไม่นิยมการเขียนผังงานก่อนที่จะเขียนโปรแกรมเพราะ
เสียเวลา ในการเขียนเป็นรูปภาพหรือสัญลักษณ์ต่างๆ นอกจากนี้ยังมีเหตุผลอื่นๆได้แก่
1. ผังงานเป็นการสื่อความหมายระหว่างบุคคลต่อบุคคลมากกว่าที่จะสื่อ
ความหมายบุคคลกับเครื่องคอมพิวเตอร์ เพราะผังงานไม่ขึ้นอยู่กับภาษาคอมพิวเตอร์
ภาษาใดภาษาหนึ่ง ทาให้เครื่องคอมพิวเตอร์ไม่สามารถรับรู้และเข้าใจว่าผังงานต้องการ
อะไร
2. ผังงานไม่สามารถแทนลักษณะคาสั่งของภาษาคอมพิวเตอร์บางคาสั่งได้
อย่างชัดเจน
3. กรณีที่งานมีขนาดใหญ่ ผังงานจะมีขนาดใหญ่ด้วย ถ้ามีการเปลี่ยนแปลง
แก้ไขจะทาได้ยากควรเขียนแยกเป็นส่วน ๆ แล้วค่อยสร้างจุดเชื่อมโยงในแต่ละส่วน
4. การเขียนผังงานอาจเป็นการสิ้นเปลืองกระดาษและอุปกรณ์อื่นๆประกอบการ
เขียนภาพ ทั้ง ๆ ที่การอธิบายงานหรือการเขียนโปรแกรมจะใช้เนื้อที่เพียง 3 - 4
บรรทัดเท่านั้น
 สัญลักษณ์ที่ใช้ในการเขียนผังงาน
การเขียนผังงาน เป็นการเขียนแผนภาพเพื่อแสดงขั้นตอนการทางาน โดยนา
ภาพสัญลักษณ์ต่าง ๆ มาเรียงต่อกัน สัญลักษณ์ที่นิยมใช้ในการเขียนผังงานนั้น
หน่วยงานที่ชื่อว่า American National StandardsInstitute(ANSI) และ International
Standard Organization(ISO) ได้ร่วมกันกาหนดสัญลักษณ์มาตรฐานเพื่อใช้ในการ
เขียนผังงานดังแสดงในตาราง
ตัวอย่างสัญลักษณ์
หลักเกณฑ์ในการเขียนแผนผัง
1. การกาหนดจุดเริ่มต้นและสิ้นสุดโปรแกรม
โดยการเริ่มต้นผังงานจะใช้คาว่า Start และการสิ้นสุดจะใช้คาว่าStop ซึ่งข้อความ
ดังกล่าวจะอยู่ในสัญลักษณ์ ดังภาพ
2. การกาหนดค่าเริ่มต้นและการคานวณ
ในการเขียนผังงานโปรแกรม จะมีการกาหนดค่าเริ่มต้นหรือ การกาหนด
ค่าคงที่ ให้กับข้อมูล รวมถึงจะมีการคานวณข้อมูลในรูปของสูตรสมการคณิตศาสตร์
ซึ่งขั้นตอนเหล่านี้จะเขียนข้อความภายในสัญลักษณ์กรอบสี่เหลี่ยมผืนผ้าดังภาพ
3. การรับข้อมูลนาข้า
เป็นการรับข้อมูลเข้าสู่โปรแกรม หรือข้อมูลที่ต้องป้อนให้คอมพิวเตอร์นาไป
ใช้ในการคานวณ หรือประมวลผลข้อมูลหากไม่ระบุว่าจะรับเข้าทางอุปกรณ์ใด จะ
เขียนข้อความรับค่า หรือ Read ข้อมูล ภายในสัญลักษณ์สี่เหลี่ยมด้านขนาน ดังภาพ
ภาพแสดงการรับข้อมูล a , b เข้าสู่โปรแกรมโดยไม่ระบุอุปกรณ์นาเข้า
ภาพแสดงการรับข้อมูล a , b เข้าสู่โปรแกรมทางคีย์บอร์ด
4. การแสดงผลข้อมูล
เป็นการนาข้อมูลที่ได้จากการกาหนดค่าหรือ การคานวณ หรือการประมวลผลใดใด
มาแสดงผลออกทางอุปกรณ์ที่กาหนดจะเขียนข้อความแสดงผล หรือ Print ภายใน
สัญลักษณ์ ดังภาพ
ภาพแสดงการแสดงผลข้อมูล x , y โดยไม่ระบุอุปกรณ์แสดงผล
ภาพการแสดงผลข้อมูล x , y ออกทางจอภาพ ภาพการ
แสดงผลข้อมูล x , y ออกทางเครื่องพิมพ์
5. การตรวจสอบเงื่อนไข
เป็นการเปรียบเทียบเพื่อตรวจสอบเงื่อนไข ซึ่งจะได้ผลลัพธ์จากการตรวจสอบเป็น
ตรรกะ จริงหรือเท็จอย่างใดอย่างหนึ่งเท่านั้น โดยจะเขียนข้อความเงื่อนไขที่ต้องการ
เปรียบเทียบภายในสัญลักษณ์สี่เหลี่ยมขนมเปียกปูน ดังภาพ
ภาพแสดงการเปรียบเทียบเพื่อตรวจสอบข้อมูล G มีค่ามากกว่า 100 ใช่หรือไม่
ถ้าหากมากกว่าจริงให้แสดงข้อความ “Over” ถ้าหากเท็จ ให้แสดงข้อความ “Ok”
6. จุดต่อและการเชื่อมโยงผังงาน
ในการเขียนผังงานอาจมีลาดับการทางานหลายขั้นตอนต้องใช้กระดาษมากกว่า1
แผ่น หรือมีจุดต่อหลายจุดในหน้าเดียวกันจึงจาเป็นต้องใช้สัญลักษณ์เชื่อมโยงผังงาน
ดังกล่าวเพื่ออ้างอิงจุดเชื่อมต่อนั้นไปยังตาแหน่งที่มีชื่อหรืออักษรเดียวกัน ดังภาพ
ภาพแสดงจุดต่อ A เชื่อมโยงผังงานในหน้าเดียวกัน
ภาพแสดงจุดต่อ A เชื่อมโยงผังงานที่อยู่คนละหน้า
7.เส้นแสดงทิศทาง
เป็นสัญลักษณ์แสดงทิศทางการทางานของFlowchart
8.การอธิบายผังงาน
เป็นสัญลักษณ์แสดงการอธิบายผังงาน เพิ่มเติมหรือเป็นการหมายเหตุ
(Comment)
 แผนภาพการออกแบบโครงสร้าง
เนื่องจากผังงานเป็นการถ่ายทอดความคิดในการแก้ปัญหาโดยใช้สารสนเทศที่มี
มานานแล้วจึงทาให้สัญลักษณ์ที่ใช้ในการเขียนผังงานรูปแบบของผังงานไม่สามารถ
สนองตอบต่อขั้นตอนของการแก้ปัญหาด้วยภาษาคอมพิวเตอร์ที่พัฒนาในปัจจุบัน
เพื่อให้การสื่อสารถ่ายทอดความคิด ขั้นตอนการแก้ปัญหานั้นเข้ากันได้กับ
ภาษาคอมพิวเตอร์ในปัจจุบัน จึงมีการพัฒนาแผนภาพใหม่ ซึ่งแผนภาพแบบนี้เรียกว่า
ดีเอสดี (DSD : design structurediagram)
 รหัสจาลองและพีดีแอล (PDL)
การอธิบายจาลองและพีดีแอล จะต้องใช้ภาษาที่สามารถสื่อสารเข้าใจได้ง่าย
และสั้นกะทัดรัดสื่อความหมายได้ทีที่อ่าน
ตัวอย่างการเขียนรหัสเทียม Pseudo Code
Algorithm Problem_1
Variables: mLoop, Sum, testScore,average
Begin
Input mLoop
Sum = 0
For I = 1 to mLoop
Input testScore
Sum = Sum + testScore
Next
 นายณัฐพงศ์ กือเย็น ชั้น ม.5/2 เลขที่ 4
 นายรณกร สาเนียงแจ่ม ชั้น ม.5/2 เลขที่ 8
 นายอนันต์ บุตรแดง ชั้น ม.5/2 เลขที่ 9
 นางสาวสิริวรรณ คาเตจ๊ะ ชั้น ม.5/2 เลขที่ 20
 นางสาวดารุณี โพธิ์ด้วง ชั้น ม.5/2 เลขที่ 26
 นางสาวเบญจรัตน์ ศรอารา ชั้น ม.5/2 เลขที่ 31
 นางสาวกนกวรรณ ลัดดากุล ชั้น ม.5/2 เลขที่ 33
 นางสาวสโรชา บุญช่วย ชั้น ม.5/2 เลขที่ 35
 นางสาวเพ็ญพิชชา เทียนชัย ชั้น ม.5/2 เลขที่ 37
 http://dutch35698.blogspot.com/

หน่วยการเรียนรู้ที่ 2