วันพฤหัสบดีที่ 14 สิงหาคม พ.ศ. 2557

1.ขั้นตอนการแก้ปัญหาด้วยเทคโนโลยีสารสนเทศ

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

             
การกำหนดวิธีประมวลผล
ได้แก่ การพิจารณาขั้นตอนวิธีการได้มาซึ่งคำตอบหรือข้อมูลออก
  
2) การเลือกเครื่องมือและออกแบบขั้นตอนวิธี (Tools And Algorithm Development) ขั้นตอนนี้เป็นขั้นตอนของการวางแผนในการแก้ปัญหาอย่างละเอียดถี่ถ้วน
หลังจากที่เราทำความเข้าใจกับปัญหา พิจารณาเงื่อนไขและข้อมูลที่มีอยู่
และสิ่งที่ต้องการหาในการแก้ปัญหาอย่างละเอียดถี่ถ้วน
หลังจากที่เราทำความเข้าใจกับปัญหา พิจารณาเงื่อนไขและข้อมูลที่มีอยู่
และสิ่งที่ต้องการหาในขั้นตอนที่ 
1

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

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

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

การเลือกเครื่องมือและออกแบบขั้นตอน



  • การเลือกเครื่องมือและออกแบบขั้นตอนการเลือกเครื่องมือและออกแบบขั้นตอนเป็นการนำาตารางการวิเคราะห์วิธีการแก้ปัญหามากำาหนดเครื่องมือและขั้นตอนในการปฏิบัติ โดยกำาหนดเครื่องมือและออกแบบขั้นตอนเฉพาะวิธีการแก้ปัญหาที่สามารถปฏิบัติได้เท่านั้น
  • 1. การเลือกเครื่องมือที่ใช้ในการแก้ปัญหา เป็นการกำาหนดทรัพยากรที่ต้องใช้ในการแก้ปัญหา ซึ่งควรจะเลือกใช้ทรัพยากรที่มีอยู่แล้วหรือเพิ่มประสิทธิภาพของเครื่องมือนั้น ๆ มากกว่าการจัดหามาเพิ่มเติม โดยควรกำาหนดรายละเอียดของเครื่องมือหรือทรัพยากรให้ชัดเจน พร้อมประมาณการค่าใช้จ่ายในการจัดหาเครื่องมือหรือทรัพยากรนั้น ๆ
  • ตัวอย่าง พนักงาน จำานวน 1 คน วุฒิขั้นตำ่ามัธยมศึกษาปีที่ 3หรือเทียบเท่า มีความสามารถด้านคอมพิวเตอร์ควรได้รับการพิจารณาเป็นพิเศษ อัตราค่าจ้างเดือนละ 2,000 บาท กระจกนูน จำานวน 3 บาน สั่งซื้อจากร้านกระจกโดยมีข้อกำาหนดว่าร้านขายกระจกจะต้องมีช่างมาดำาเนินการติดตั้งให้ ใช้งบประมาณ 5,000 บาท บัตรสะสมแต้ม จัดให้แก่ลูกค้าที่เช่าหนังสือครบ200 บาท จะได้รับคูปองมูลค่า 10 เพื่อใช้แทนเงินสด การเช่าหนังสือในครั้งต่อไป ใช้งบประมาณ
  •  ที่ฝากกระเป๋าและบัตรฝากกระเป๋าสำาหรับลูกค้า ใช้ตู้สำาหรับจัดเก็บอุปกรณ์ที่มีอยู่แล้วมาดัดแปลงเพื่อเก็บกระเป๋า และจัดทำาบัตรฝากกระเป๋าเป็นหมายเลข 1-20 หมายเลขละ 2 ใบ ใช้งบประมาณ50 บาท คอมพิวเตอร์ ตรวจสอบว่าสามารถใช้งานได้ปกติและมีโปรแกรมสำาหรับใช้งานครบถ้วน สินค้าอื่นๆ... เช่น ปากกา ดินสอ ไม้บรรทัด งบประมาณ 2,000.- หนังสือ .... ใช้งบประมาณ 5,000 บาท
  • 2.การออกแบบขั้นตอนในการปฏิบัติงาน เป็นการกำาหนดแนวทางการแก้ปัญหาก่อนการปฏิบัติจริง โดยจะต้องกำาหนดขั้นตอนการปฏิบัติงานเป็นลำาดับขั้น แล้วจึงนำามาระบุผู้รับผิดชอบและระยะเวลาการปฏิบัติงานในตารางการปฏิบัติงาน
  • ตัวอย่าง ขั้นตอนที่ 1 จัดทำาป้ายและติดประกาศรับสมัครพนักงาน ขั้นตอนที่ 2 สร้างแผนผังการจัดวางชั้นหนังสือโต๊ะคอมพิวเตอร์ คอมพิวเตอร์สินค้าอื่น ๆ และตู้สำาหรับจัดเก็บอุปกรณ์ โดยกำาหนดให้มีทางเข้าและทางออกจากร้านเพียงทางเดียว ขั้นตอนที่ 3 ให้ช่างมาติดตั้งกระจกนูน ขั้นตอนที่ 4 จัดวางและติดตั้งชั้นหนังสือ โต๊ะคอมพิวเตอร์ ขั้นตอนที่ 5 ติดตั้งฮาร์ดแวร์และซอฟต์แวร์ที่ใช้
  •  ขั้นตอนที่ 7 ติดรหัสบาร์โค้ดที่หนังสือ แล้วบันทึกข้อมูลของหนังสือตามหมวดหมู่ที่กำาหนดไว้ในคอมพิวเตอร์ ขั้นตอนที่ 8 จัดเรียงหนังสือเข้าชั้นหนังสือตามหมวดหมู่ที่กำาหนดไว้ ขั้นตอนที่ 9 บันทึกข้อมูลลูกค้าในเครื่องคอมพิวเตอร์ ขั้นตอนที่ 10 จัดทำาป้ายประชาสัมพันธ์เกี่ยวกับอัตราเช่าหนังสือฯ ขั้นตอนที่ 11 ส่งพนักงานไปฝึกอบรมใช้งานและการซ่อมคอมพิวเตอร์เบื้องต้น
  • ตารางการปฏิบัติงานขั้นตอนที่ระยะเวลาผู้รับผิดชอบหมายเหตุ1-23453 วัน2 วัน2 วัน1 วันเจ้าของร้านเจ้าของร้านและช่างพนักงานเจ้าของร้านและขั้นตอนที่ 1-3 เริ่มปฏิบัติพร้อม ๆ กันหาก ขั้นตอนที่ 1 ไม่สามารถทำาให้สำาเร็จภายในระยะเวลาที่กำาหนดไว้ก็ให้ดำาเนินการต่อไปเรื่อย ๆ
  • ขั้นตอนที่ระยะเวลาผู้รับผิดชอบหมายเหตุ6-891011125 วัน3 วัน1 วัน7 วัน1 วันพนักงานพนักงานพนักงานเจ้าของร้านพนักงานขั้นตอนที่ 6-8 สามารถปฏิบัติไปพร้อมๆ กันได้ระยะเวลาขึ้นอยู่กับหลักสูตรที่เปิดสอน
  • ขั้นตอนที่ระยะเวลาผู้รับผิดชอบหมายเหตุ6-891011125 วัน3 วัน1 วัน7 วัน1 วันพนักงานพนักงานพนักงานเจ้าของร้านพนักงานขั้นตอนที่ 6-8 สามารถปฏิบัติไปพร้อมๆ กันได้ระยะเวลาขึ้นอยู่กับหลักสูตรที่เปิดสอน

2.การออกแบบขั้นตอนวิธีจากมุมเทคโนโลยี

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

ตัวกระทำทางคณิตศาสตร์
สัญลักษณ์
การบวก
+
การลบ
-
การคูณ
*
การหาร
/
การยกกำลัง
^
 ลำดับการทำงานของตัวกระทำทางคณิตศาสตร์ ได้แก่^*/+-และสามาร๔ เปลี่ยนลำดับได้ด้วยเครื่องหมาย
4.การแสดงข้อมูล คือ การแสดงค่า ซึ่งจะทำหลังจากการรับข้อมูลและการคำนวณ โดยตัวแปรที่จะแสดงค่า คือ ตัวแปรที่โจทย์ต้องการผลลัพธ์
5. การเปรียบเทียบหรือการเลือก เป็นการเลือกทิศทางการทำงาน โดยมีเงื่อนไขในการเปรียบเทียบที่ชัดเจน
ความหมาย
สัญลักษณ์
ความหมาย
สัญลักษณ์
เท่ากับ
=
น้อยกว่าหรือเท่ากับ
<=
น้อยกว่า
< 
มากกว่าหรือเท่ากับ
>=
มากกว่า
> 
ไม่เท่ากับ
<> 
6.การเปรียบเทียบเชิงตรรกะ ดังตาราง

P
NOP (P)
F
T
T
F



P
Q
P AND Q
P OR Q
T
T
T
T
T
F
F
T
F
T
F
T
F
F
F
F
 ลำดับความสำคัญของการเปรียบเทียบเชิงตรรกะ ได้แก่ NOT AND OR ตัวอย่างการเขียนนิพจน์ทางคณิตศาสตร์มีดังนี้

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

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

4. การถ่ายทอดความคิดในการแก้ปัญหาโดยการใช้สัญลักษณ์




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

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


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

5.การถ่ายทอดความคิดในการแก้ปัญหาโดยการใช้รหัสจำลอง 

1. การเขียนรหัสจำลอง (Pseudo Code) หมายถึงอะไร ตัวอย่าง การเขียนรหัสจำลอง

การเขียนรหัสจำลอง หมายถึง เปนเครื่องมือที่ชวยในการแก้ ปัญหาการเขียนจะเปนคําอธิบายที่มีโครงสรางที่ชัดเจน ไมขึ้นกับภาษาใดภาษาหนึ่ง   แตสามารถเปลี่ยนเปนภาษาทางคอมพิวเตอรไดงาย
จะมีการใชขอความที่เปนภาษาอังกฤษหรือภาษาไทยก็ได  ในการแสดงขั้นตอนการแกปัญหา  แตจะมีการใชคําเฉพาะ(reserve  words)  ที่มีอยูในภาษาโปรแกรมมาชวยในการเขียน  โครงของรหัสจําลองจึงมีสวนที่คลายกับการเขียนโปรแกรมมาก  ดังนั้นรหัสจําลองจึงเปนเครื่องมืออีกแบบที่นิยมใชกันมากในการออกแบบโปรแกรม

ตัวอย่าง การเขียนรหัสจำลอง


1)   ใหนับจํานวนนักศึกษาที่อายุ มากกวา หรือเทากับ 18 ปี  และจํานวนนักศึกษาที่อายุนอยกวา 18 ปี
IF student’s age >= 18
         THEN   AdultCounter = AdultCounter + 1
          ELSE   JuniorCounter = JuniorCounter + 1
    ENDIF


2) ใหนับจํานวนชั่วโมงการทํางานที่เกิน 40 ชั่วโมง
IF  hour worked > 40
            THEN OverTimeCounter = OverTimeCounter + 1
      ENDIF

3)  จงเขียนรหัสจําลองหาพื้นที่ของวงกลม
     กําหนดให   สูตรพื้นที่วงกลม    =       3.1415  x รัศมี  x  รัศมี
Area of  cycle
Read radius
Compute Area = 3.1415 * radius * radius
Display Area
End


1 ความคิดเห็น: