หน่วย 5

ขอบคุณ สสวท.

 กระบวนการแก้ปัญหา 

ในชีวิตประจำวันทุกคนต้องเคยมีปัญหาต่าง ๆ กัน  การแก้ปัญหาของแต่ละคนก็จะมีวิธีการที่แตกต่างกันออกไป ถ้านักเรียนได้เรียนรู้ และฝึกแก้ปัญหาโดยผ่านกระบวนการคิดอย่างสมเหตุ สมผล และปฏิบัติอย่างมีระบบ จะช่วยให้นักเรียน ตัดสินใจแก้ปัญหาต่าง ๆ ได้อย่างดีและเหมาะสม

    ขั้นตอนที่ 1  ทำความเข้าใจปัญหา  

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

– การระบุข้อมูลเข้า ได้แก่การพิจารณา และเงื่อนไขที่กำหนดมาในปัญหา

– การระบุข้อมูลออก ได้แก่การพิจารณาเป้าหมายหรือสิ่งที่ต้องการหาคำตอบ

– การกำหนดวิืธีประมวลผล ได้แก่การพิจารณาขั้นตอนวิธีการได้มาซึ่งคำตอบหรือข้อมูลออก

ตัวอย่าง (แทรกเป็นภาพ)

 ขั้นตอนที่ 2  การเลือกเครื่องมือและออกแบบขั้นตอนวิธีการ (Tools and Algorithm development)

ขั้นตอนนี้ เป็นขั้นตอนการวางแผน ในการแก้ปัฐยหาอย่างละเอียด หลงจากที่เราทำความเข้าใจกับปัญหา พิจารณาข้อมูล และเงืือนไขที่มีอยู่ และสิ่งที่ต้องการหาแล้วในขั้ตอนที่ 1  เราสามารถคาดคะเนวิธีการที่เราจะใช้แก้ปัญหา กระบวนการนี้จำเป็นอาศัยประสบการณ์ของผู้แก้ปัญหาเป็นหลีัก หากผู้แก้ปัญหาเคยพบกับปัญหาทำนองนี้มาแล้วก็สามารถดำเนินการตามแนวทางที่เคยปฏิบัติมา

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

          ขั้นตอนที่  3  การดำเนินการแก้ปัญหา (Implementation)

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

            ขั้นตอน ที่ 4  การตรวจสอบและปรับปรุง (Refinement)

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

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

 การเขียนผังงาน  (Flowchart)

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

ประโยชน์ของผังงาน

  1. ช่วยอธิบายลำดับขั้นตอนการทำงานของโปรแกรม
  2. ทำให้ตรวจสอบข้อผิดพลาดของโปรแกรมได้ง่าย
  3. ทำให้ผู้อื่นสามารถศึกษาการทำงานของโปรแกรมและแก้ไขโปรแกรมได้ง่าย

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

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

การเขียนผังงาน  สามารถแบ่งออกเป็น 2 ประเภท  คือ

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

          2.  ผังงานโปรแกรม (Program Flowchart)  ผังงานประเภทนี้  จะแสดงถึงขั้นตอนของคำสั่งที่ในโปรแกรม  การรับข้อมูล  การประมวลผล  การแสดงข้อมูล  บางครั้งเรียกว่าผังการเขียนโปรแกรม

สัญลักษณ์ที่ใช้ในการเขียนผังงาน

การเขียนผังงาน  เป็นการอธิบายขั้นตอนวิธีการแก้ปัญหา  โดยใช้รูปสัญลักษณ์มาเรียงต่อกัน  สัญลักษณ์แต่ละแบบจะมีความหมายถึงกระบวนการที่แตกต่างกัน  โดยจะมีคำอธิบายสั้น ๆ เพิ่มเติมในรูปสัญลักษณ์  ความหมายของสัญลักษณ์ต่าง ๆ  ที่ใช้ในผังงานได้ถูกกำหนด  โดยสถาบันมาตรฐานแห่งชาติอเมริกา  (The American National Standard Institute : ANSI)  เพื่อให้สามารถสื่อความหมายที่ตรงกัน  ซึ่งมีรายละเอียดของสัญลักษณ์และความหมายที่ควรทราบ  ดังนี้

 ตารางแสดงความหมายของสัญลักษณ์

สัญลักษณ์

ชื่อเรียก

ความหมาย

  เริ่มต้นและสิ้นสุด(terminal, start , stop) จุดเริ่มต้นและสิ้นสุดของผังงาน
  การนำข้อมูลเข้าออกทั่วไป (general input/output) จุดที่จะนำข้อมูลเข้าจากภายนอก  หรือออกสู่ภายนอก  โดยไม่ระบุชนิดของอุปกรณ์
  การปฏิบัติงาน (process) จุดที่มีการปฏิบัติงานอย่างใดอย่างหนึ่ง
 
การตัดสินใจ (decision) จุดที่จะต้องเลือกปฏิบัติอย่างใดอย่างหนึ่ง
  ทิศทาง (flow line) ทิศทางขั้นตอนการดำเนินงาน  ซึ่งจะปฏิบัติต่อเนื่องกันตามทิศทางของลูกศร
  จุดเชื่อมต่อในหน้าเดียวกัน(on page connector) จุดเชื่อมต่อของผังงาน  ใช้สัญลักษณ์นี้เพื่อให้ดูง่าย
  จุดเชื่อมต่อหน้ากระดาษ(off page connector) จุดเชื่อมต่อของผังงาน  ที่อยู่คนละหน้ากระดาษ

ที่มา  :

ธีรวัฒน์  ประกอบผล.  (2552).  คู่มือการเขียนโปรแกรม ภาษา  C.  กรุงเทพฯ :  ซัคเซส  มีเดีย.สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี กระทรวงศึกษาธิการ.  (2553).  หนังสือเรียนรายวิชาพื้นฐาน  เทคโนโลยีสารสนเทศและการสื่อสาร  ชั้นมัธยมศึกษาปีที่  4-6.  กรุงเทพฯ:  โรงพิมพ์  สกสค.

ใบความรู้เรื่อง กระบวนการแก้ปัญหา

 

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

%d bloggers like this: