วันอังคารที่ 9 กรกฎาคม พ.ศ. 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) เป็นผังงานซึ่งแสดงลำดับขั้นตอนการทำงานของโปรแกรมหนึ่ง ๆ
     การใช้สัญลักษณ์
        จะใช้สัญลักษณ์ที่เป็นรูปภาพแทนคำสั่งการทำงานโดยจะไม่ใช้คำอธิบายลักษณะการทำงาน มีลูกศรแสดงทิศทางการไหลของข้อมูลตั้งแต่เริ่มต้นไปสิ้นสุดโปรแกรม

 


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

ที่มา  : https://sites.google.com/site/dutchyycom1gp/home/kar-thaythxd-khwam-khid-ni-kar-kaekhi-payha

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

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

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

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

2. เรื่อง  การเลือกเครื่องมือ และออกแบบขั้นตอนวิธี

     ในขั้นตอนนี้เป็นขั้นตอนการเลือกเครื่องมือ และออกแบบขั้นตอนวิธี  (Tools and Algorithm 
development) ขั้นตอนนี้เป็นขั้นตอนการวางแผนในการแก้ปัญหาอย่างละเอียดถี่ถ้วน หลังจากที่เราท าความเข้าใจกับปัญหา พิจารณาข้อมูล และเงื่อนไขที่มีอยู่ และสิ่งที่ต้องการหาในขั้นตอนที่  1  แล้ว เราสามารถคาดคะเนวิธีการที่จะใช้ในการแก้ปัญหา ขั้นตอนนี้จ าเป็นต้องอาศัยประสบการณ์ของผู้แก้ปัญหาเป็นหลัก หากผู้แก้ปัญหาเคยพบกับปัญหาท านองนี้มาแล้วก็สามารถด าเนินการตามแนวทางที่เคยปฏิบัติมา ขั้นตอนนี้จะเริ่มจากการเลือกเครื่องมือที่ใช้ในการแก้ปัญหา โดยพิจารณาความเหมาะสมระหว่างเครื่องมือกับเงื่อนไขต่าง ๆ ของปัญหา ซึ่งหมายรวมถึงความสามารถของเครื่องมือในการแก้ปัญหาดังกล่าว และสิ่งที่สำคัญคือความคุ้นเคยในการใช้งานเครื่องมือนั้น ๆ ของผู้แก้ปัญหา เช่นต้องการศึกษาข้อมูลจาก ระบบเครือข่าย Internet  ผู้แก้ปัญหาก็ต้องสามารถใช้ระบบเครือข่ายดังกล่าวได้อีกสิ่งหนึ่งที่ส าคัญในการแก้ปัญหา คือยุทธวิธีที่ใช้ในการแก้ปัญหาหรือเรียกว่าขั้นตอนวิธี  (algorithm)  ในการแก้ปัญหา หลังจากที่เราได้เครื่องมือช่วยแก้ปัญหาแล้ว ผู้แก้ปัญหาต้องวางแผนว่าจะใช้เครื่องมือดังกล่าวเพื่อให้ได้ผลลัพธ์ที่ถูกต้อง และดีที่สุดการออกแบบขั้นตอนวิธีในการแก้ปัญหา ผู้แก้ปัญหาควรใช้แผนภาพ หรือเครื่องมือในการแสดงขั้นตอนการทำงานเพื่อให้ง่ายต่อความเข้าใจ เช่น ผังงาน (flowchart) ที่จำลองขั้นตอนวิธีการแก้ปัญหาในรูปของสัญลักษณ์ รหัสจำลอง (pseudo code)  ซึ่งเป็นการจำลองขั้นตอนวิธีการแก้ปัญหาในรูปของค าบรรยาย การใช้เครื่องมือช่วยออกแบบดังกล่าวนอกจากแสดงกระบวนการที่ชัดเจนแล้ว ยังช่วยให้ผู้แก้ปัญหาสามารถหาข้อผิดพลาดของวิธีการที่ใช้ได้ง่าย และแก้ไขได้อย่างรวดเร็ว

3.เรื่อง  การดำเนินการแก้ปัญหา

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

4.เรื่อง การตรวจสอบและปรับปรุง

     การตรวจสอบและปรับปรุง (Refinement) หลังจากที่ลงมือแก้ปัญหาแล้ว ต้องตรวจสอบให้แน่ใจว่า
วิธีการนั้นให้ผลลัพธ์ที่ถูกต้อง โดยผู้แก้ปัญหาต้องตรวจสอบว่าขั้นตอนวิธีที่สร้างขึ้นสอดคล้องกับรายละเอียด
ของปัญหา ซึ่งได้แก่ ข้อมูลเข้า และข้อมูลออก เพื่อให้มั่นใจว่าสามารถรองรับข้อมูลเข้าได้ในทุกกรณีอย่าง
ถูกต้องและสมบูรณ์ในขณะเดียวกันก็ต้องปรับปรุงวิธีการเพื่อให้การแก้ปัญหานี้ได้ผลลัพธ์ที่ดีที่สุด
ขั้นตอนทั้ง 4 ขั้นดังกล่าวข้างต้น เป็นเสมือนขั้นบันได ที่ท าให้มนุษย์สามารถประสบความส าเร็จใน
การแก้ปัญหาต่าง ๆ ได้รวมทั้งการเขียนหรือพัฒนาโปรแกรมคอมพิวเตอร์เพื่อแก้ปัญหาก็ต้องใช้กระบวนการ
ตามขั้นตอนทั้ง 4 นี้เช่นกัน
 การจำลองความคิด
การแก้ปัญหาจะประสบความส าเร็จได้มากน้อยเพียงใด ขึ้นอยู่กับการวางแผน และแผนการที่ได้
ดำเนินการวางไว้แล้วนั้นจะเป็นไปตามแผนหรือไม่นั้นจะต้องค านึงถึงประสบการณ์ ความรู้ ความสามารถ การวิเคราะห์เหตุผลของการทำงานของคณะทำงานร่วมกัน และส่วนที่สำคัญคือการมอบหมายงานให้กับผู้รับผิดชอบให้ตรงกับความสามารถของทีมงานแต่ละคน และ ทุกคนต้องเข้าใจขั้นตอนใน  การทำงาน เป้าหมายของการแก้ไขปัญหาตรงกัน สิ่งเหล่านี้เริ่มจากการวางแผนอย่าง
ก็จะสามารถท าความเข้าใจกระบวนการการท างานได้เป็นอย่างดีโดยเฉพาะปัญหาที่ยุ่งยากซับซ้อน 
และเกี่ยวข้องกับหลายหน่วยงาน เป็นวิธีการซักซ้อมความเข้าใจถึงวิธีการทำงานก่อนลงมือปฏิบัติจะ
ได้หาวิธีการแก้ปัญหาก่อนที่จะเกิดจริง หรืออาจเกิดแนวทางในการปฏิบัติการที่ดีขึ้นกว่าที่วางแผนไว้
ทำให้เกิดการประหยัดเวลา และทรัพยากรอีกก็อาจเป็นได้เครื่องมือที่ใช้ในการจ าลองความคิดมักจะ
ประกอบขึ้นด้วยเครื่องหมายที่แตกต่างกันหลายอย่าง สรุปได้เป็น 2 ลักษณะคือ
1. ข้อความหรือค าบรรยาย
เป็นการเขียนเค้าโครงด้วยการบรรยายเป็นภาษามนุษย์ใช้สื่อสารกัน เพื่อให้ทราบถึงขั้นตอน
การท างานของการแก้ปัญหาแต่ละตอน เช่น
1.1. เริ่มต้นท างาน
1.2. สืบค้นข้อมูลวิธีการทอผ้ากาบบัวในเว็บไซต์ต่าง ๆ
1.3. รวบรวมข้อมูลที่ได้จากการสืบค้นจากเว็บไซต์ต่าง ๆ โดยใช้โปรแกรมประมวลผลค า
1.4. จัดเก็บข้อมูลไว้ในแผ่นดิสก์
1.5. สร้างเป็นสารสนเทศเรื่อง “วิธีการทอผ้ากาบบัวของจังหวัด อุบลราชธานี โดย ใช้
โปรแกรมประมวลผลค าจัดท าเป็นแผ่นพับ
1.6. เสร็จสิ้นการท างาน
2. การใช้สัญลักษณ์
เป็นการน าเอาเครื่องหมายรูปแบบต่าง ๆ ซึ่งใช้ส าหรับสื่อสารความหมายให้เข้าใจตรงกัน ซึ่ง
เราจะใช้สัญลักษณ์ที่ก าหนดขึ้นโดยสถาบันมาตรฐานแห่งชาติอเมริกา (The American 
National Standard Institute, ANSI) ซึ่งสามารถน าไปใช้ได้ตามความเหมาะสมเป็นขั้นตอน อย่างเป็นระบบ และการนำแผนการปฏิบัติมาจำลองความคิด