วันอังคารที่ 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) เป็นผังงานซึ่งแสดงลำดับขั้นตอนการทำงานของโปรแกรมหนึ่ง ๆ

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

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

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

กระบวนการเทคโนโลยีสารสนเทศ
มี4ขั้นตอน

1.  เรื่อง การวิเคราะห์และก าหนดรายละเอียดของปัญหา

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