วันพฤหัสบดีที่ 11 กรกฎาคม พ.ศ. 2556

การถ่ายทอดความคิดในการแก้ปัญหาด้วย อัลกอริทึม






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


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

การเขียนรหัสจำลอง
        รหัสลำลองหรือ pseudocode เป็นคำบรรยายที่เขียนแสดงขั้นตอนวิธี(algorithm) ของการเขียนโปรแกรม โดยใช้ภาษาที่กะทัดรัด สื่อสารกับโปรแกรมเมอร์ผู้เขียนโปรแกรม โดยอาจใช้ภาษาที่ใช้ทั่วไปและอาจมีภาษาที่ใช้ในการเขียนโปรแกรมประกอบ แต่ไม่มีมาตรฐานแน่นอนในการเขียน pseudocode  และไม่สามารถนำไปทำงานบนคอมพิวเตอร์โดยตรง(เพราะไม่ใช่คำสั่งในภาษาคอมพิวเตอร์) และไม่ขึ้นกับภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง นิยมใช้ pseudocode แสดง algorithmมากกว่าใช้ผังงาน เพราะผังงานอาจไม่แสดงรายละเอียดมากนักและใช้สัญลักษณ์ซึ่งทำให้ไม่สะดวกในการเขียน เช่นโปรแกรมใหญ่ ๆ มักจะประกอบด้วยคำสั่งต่างๆที่ใกล้เคียงกับภาษาคอมพิวเตอร์ที่ใช้ในการเขียนโปรแกรมจริงๆ เช่น begin…end, if…else, do…while, while, for, read และ print การเขียนรหัสจำลองจะต้องมีการวางแผนสำหรับการอ้างอิงถึงข้อมูลต่างๆที่จะใช้ในโปรแกรมด้วยการสร้างตัวแปร โดยใช้เครื่องหมายเท่ากับ (=) แทนการกำหนดค่าให้กำหนดตัวแปรนั้นๆ

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

        ประเภทของผังงาน
1. ผังงานระบบ (system flowchart) เป็นผังซึ่งแสดงขอบเขต และลำดับขั้นตอนการทำงานของระบบหนึ่ง ๆ
2. ผังงานโปรแกรม (Program flowchart) เป็นผังงานซึ่งแสดงลำดับขั้นตอนการทำงานของโปรแกรมหนึ่ง ๆ
        การใช้สัญลักษณ์
        จะใช้สัญลักษณ์ที่เป็นรูปภาพแทนคำสั่งการทำงานโดยจะไม่ใช้คำอธิบายลักษณะการทำงาน มีลูกศรแสดงทิศทางการไหลของข้อมูลตั้งแต่เริ่มต้นไปสิ้นสุดโปรแกรม


  โครงสร้างการเขียนผังงาน
        เป็นรูปแบบพื้นฐานของการเขียนผังงาน เนื่องจากเขียนได้ง่ายและนำไปใช้งานมากที่สุด





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

สรุปเนื้อหาขบวนการเทคโนโลยี




กระบวนการเทคโนโลยี

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

2.เลือกวิธีการ(Selection)
ในขั้นนี้ เป็นการตัดสินใจเลือกแนวคิดที่ดีที่สุดสำหรับแก้ปัญหา โดยนำข้อมูล และความรู้ที่รวบรวมได้มาประกอบกันจนได้ข้อสรุปว่า จะเลือกวิธีการแก้ปัญหาหรือวิธีการสนองความต้องการเป็นแบบใด โดยวิธีการที่เลือกอาจยึดแนวที่ว่า เมื่อเลือกแล้วจะทำให้สิ่งนั้นดีขึ้น (Better) สะดวกสบายหรือรวดเร็วขึ้น(Faster speed) ประหยัดขึ้น (Cheaper) รวมทั้งวิธีการเหล่านี้ จะต้องสอดคล้องกับทรัพยากร (Resource) ที่มีอยู่

3.ออกแบบและปฏิบัติ (Design and making)

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

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