วันอังคารที่ 17 กรกฎาคม พ.ศ. 2561

หน่วยที่ 3 หลักการแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ




                 


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

                   ตัวอย่าง  พิจารณาแผนผังแสดงเส้นทางระหว่างจุดเริ่มต้น A ไปยังโรงอาหารของโรงเรียน ที่ จุด H   ตามรูป ระหว่างจุด A และจุด H มีจุด B C D E F และ G ซึ่งเป็นอาคารเรียนเส้นที่มีลูกศรเป็นทางเชื่อมระหว่างอาคาร และ ตัวเลขที่กำกับอยู่บนเส้นแสดงเวลา(นาที) ที่ใช้ในการเดินทางระหว่างสองจุด  ถ้านักเรียนเดินทางจากอาคาร A ไปโรงอาหารให้หาว่าเส้นทางใดใช้ เวลาในการเดินทางน้อยที่สุด
และใช้เวลากี่นาที



                จากปัญหาที่กำหนดให้เส้นทางทั้งหมดที่สามารถเดินทางได้มี ๕ เส้นทางและเวลาที่ใช้ในแต่ละเส้นทางเป็นดังนี้


จากการเปรียบเทียบพบว่าเส้นทางที่ใช้เวลาในการเดินทางน้อยที่สุด คือ เส้นทางA"D"F"H ซึ่งใช้เวลาในการเดินทาง ๗ นาที เนื่องจากวิธีการนี้เป็นการแจกแจงเส้นทางทุกเส้นทางที่เป็นไปได้ เราจึงมั่นใจว่าคำตอบที่ได้มาเป็นคำตอบที่ถูกต้อง
อย่างแท้จริง




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

                 จากที่กล่าวมานี้สามารถสรุปได้ว่าขั้นตอนการแก้ปัญหา ประกอบด้วย ๔ ขั้นตอน ดังนี้


               ขั้นตอนการแก้ปัญหาข้างต้นนำเสนอโดยนักคณิตศาสตร์ชื่อ จอร์จโพลยา (George Polya)
ตั้งแต่ พ.ศ. ๒๔๘๘และยังคงเป็นขั้นตอนการแก้ปัญหาที่ใช้เป็นหลักปฏิบัติจนถึงปัจจุบันในแต่ละขั้นตอนมีรายละเอียดที่สามารถอธิบายได้ดังนี้

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

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

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

๓. การดำเนินการแก้ปัญหา
                 เมื่อได้วางแผนแล้วก็ดำเนินการแก้ปัญหา ซึ่งได้แก่ การนำเครื่องมือและวิธีการที่ได้วางแผนไว้ในขั้นตอนที่ ๒ มาดำเนินการแก้ปัญหา ซึ่งการดำเนินการแก้ปัญหาอาจทำให้เห็นแนวทางที่ดีกว่าวิธีที่คิดไว้ ก็สามารถนำมาปรับเปลี่ยนได้

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



             


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

                    อย่างไรก็ตามเพื่อให้การดำเนินการตามแนวทางในการแก้ปัญหาที่ได้จากการวางแผนในการแก้ปัญหาไปดำเนินการ โดยใช้กระบวนการทางเทคโนโลยีสารสนเทศนั้นจำเป็นต้องวางแผนเป็นขั้นตอน เป็นระเบียบ และสามารถนำไปปฏิบัติได้ทั้งนี้ทำได้โดยอาศัยการถ่ายทอดความคิดที่มีการกำหนดจุดเริ่มต้น จุดสิ้นสุดและลำดับก่อนหลังของขั้นตอนการแก้ปัญหาที่ชัดเจนการถ่ายทอดความคิดในการแก้ปัญหาทำได้ ๒ ลักษณะ คือ
                   ๑) การถ่ายทอดความคิดเป็นรหัสลำลอง (Pseudocode)
                   ๒) การถ่ายทอดความคิดเป็นผังงาน (Flowchart)


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






๒ การถ่ายทอดความคิดเป็นผังงาน (Flowchart)


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

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





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



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





การเขียนโปรแกรม (programming) หมายถึง กระบวนการใช้ภาษาคอมพิวเตอร์เพื่อกำหนดโครงสร้างของข้อมูล และกำหนดขั้นตอนวิธีเพื่อใช้แก้ปัญหาตามที่ได้ออกแบบไว้โดยอาศัยหลักเกณฑ์การเขียนโปรแกรมคอมพิวเตอร์แต่ละภาษา แต่ทุกภาษาจะต้องมีโครงสร้างควบคุมหลัก ๓ แบบ ได้แก่ โครงสร้างแบบลำดับ (sequential structure) โครงสร้างแบบทางเลือก (selection structure)  และโครงสร้างแบบทำซ้ำ(repetition structure) ซึ่งมีรายละเอียด ดังนี้





************************************

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

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