วันอังคารที่ 1 กันยายน พ.ศ. 2558

ขั้นตอนการเเก้ปัญหาด้วยคอมพิวเตอร์

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

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

ค่าแรงของพนักงาน = จำนวนชั่วโมงที่ทำงาน *40 "ถ้าจำนวนชั่วโมงน้อยกว่าหรือเท่ากับ 8"
ค่าล่วงเวลา = (จำนวนชั่วโมงที่ทำงาน -8)*7 "ถ้าจำนวนชั่วโมงมากกว่า 8 ชั่วโมง"
รวมจำนวนเงินค่าแรงของพนักงานแต่ละคน = ค่าแรงของพนักงาน + ค่าล่วงเวลา

3. การออกแบบอัลกอริธึม (Algorithm design) หรือการออกแบบขั้นตอนวิธีการแก้ปัญหา
ในขั้นนี้เป็นการคิดหาขั้นตอนการแก้ปัญหาทีละขั้น เราต้องคิดว่าจะทำอย่างไรจึงจะแก้ปัญหาได้ และสามารถนำมาแปลงเป็นคำสั่งของภาษาโปรแกรมได้โดยง่าย ซึ่งเรียกขั้นตอนการแก้ปัญหาทีละขั้นนี้ว่าอัลกอริธึม (algorithm)
ตัวอย่างจากโจทย์การคำนวณหาจำนวนเงินที่ต้องการจ่ายให้แก่พนักงาน เขียนอธิบายแต่ละขั้นไดดังนี้
ขั้นที่ 1 รับข้อมูลชั่วโมงทำงานของพนักงานจากแป้นพิมพ์
ขั้นที่ 2 เปรียบเทียบจำนวนชั่วโมงทำงานกับ 8
ถ้าจำนวนชั่วโมงทำงาน มากกว่า 8 แล้ว ให้คำนวณตามสูตรต่อไปนี้
ค่าแรงของพนักงาน = 8*40
ค่าล่วงเวลา = (จำนวนชั่วโมงที่ทำงาน – 8 ) *7
ถ้าจำนวนชั่วโมงทำงาน น้อยกว่าหรือเท่ากับ 8 แล้วให้คำนวณ
ค่าแรงของพนักงาน = จำนวนชั่วโมงที่ทำงาน * 40
ค่าล่วงเวลา = 0
ขั้นที่ 3 คำนวณจำนวนเงินที่ต้องจ่ายให้แก่พนักงาน
รวมจำนวนเงินค่าแรงของพนักงานแต่ละคน = ค่าแรงของพนักงาน + ค่าล่วงเวลา
ขั้นที่ 4 แสดงผลลัพธ์ให้ผู้ใช้ทราบ
ขั้นที่ 5 จบการทำงาน เทคโนโลยี อ่านเพื่อมเติม...

การใช้คอมพิวเตอร์เเก้ปัญหา

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

ตารางที่ 1 ข้อมูลการเล่นเกมทายใจ
เลขที่ทาย
จำนวนตัวเลขที่ถูก
จำนวนตำแหน่งที่ถูก
123
415
425
416
715
815
1
2
1
1
2
3
-
2
1
1
2
3

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

j การวิเคราะห์และกำหนดรายละเอียดของปัญหา
          การวิเคราะห์และกำหนดรายละเอียดของปัญหา (State the problem) ขั้นตอนนี้เป็นขั้นตอนแรกสุดก่อนที่จะลงมือแก้ปัญหา แต่ผู้แก้ปัญหามักจะมองข้ามความสำคัญของขั้นตอนนี้อยู่เสมอ จุดประสงค์ของขั้นตอนนี้ คือการทำความเข้าใจกับปัญหาเพื่อแยกให้ออกว่าข้อมูลที่กำหนดมาในปัญหาหรือเงื่อนไขของปัญหาคืออะไร และสิ่งที่ต้องการคืออะไร อีกทั้งวิธีการที่ใช้ประมวลผล ในการวิเคราะห์ปัญหาใด กล่าวโดยสรุปมีองค์ประกอบในการวิเคราะห์ ดังนี้
1.1  การระบุข้อมูลเข้า  ได้แก่ การพิจารณาข้อมูลและเงื่อนไขที่กำหนดมาในปัญหา
1.2  การระบุข้อมูลออก  ได้แก่ การพิจารณาเป้าหมายหรือสิ่งที่ต้องหาคำตอบ
1.3  การกำหนดวิธีประมวลผล  ได้แก่ การพิจารณาขั้นตอนวิธีหาคำตอบหรือข้อมูลออก
ตัวอย่างที่ 2 แสดงการวิเคราะห์และกำหนดรายละเอียดของการหาค่าเฉลี่ยของจำนวนเต็ม 5 จำนวน ได้แก่ 0 3 4 8 และ 12
          จากองค์ประกอบในการวิเคราะห์และกำหนดรายละเอียดของปัญหา
(1)   การระบุข้อมูลเข้า
ในที่นี้โจทย์กำหนดให้หาค่าเฉลี่ยของจำนวนเต็ม 5 จำนวน ดังนั้น ข้อมูลเข้าได้แก่ จำนวน 0 3 4 8 และ 12
(2)   การระบุข้อมูลออก
จากโจทย์สิ่งที่เป็นคำตอบของปัญหาคือ ค่าเฉลี่ย (X) ของจำนวนทั้งห้า
(3)   การกำหนดวิธีประมวลผล
จากสิ่งที่โจทย์ต้องการ ค่าเฉลี่ย หมายถึง ผลรวมของจำนวนทั้ง 5 หารด้วย 5 ดังนั้น ขั้นตอนของการประมวลผลประกอบด้วย
3.1) รับค่าจำนวนทั้ง 5 จำนวน
3.2) นำจำนวนเต็มทั้ง 5 มาบวกเข้าด้วยกัน
3.3) นำผลลัพธ์จากข้อ 3.2) มาหารด้วย 5
ตัวอย่างที่ 3 แสดงการวิเคราะห์และกำหนดรายละเอียดของการหาค่า X เมื่อ X คือจำนวนเต็มจำนวนหนึ่งในกลุ่มจำนวนเต็ม 5 จำนวน ที่มีค่าเฉลี่ยเป็น 10 และจำนวนอีก 4 จำนวนได้แก่ 3 4 8 และ 12
          จากองค์ประกอบในการวิเคราะห์และกำหนดรายละเอียดของปัญหา
(1)   การระบุข้อมูลเข้า
จากโจทย์ข้อมูลเข้า ได้แก่
1.1)  จำนวนอีก 4 จำนวน คือ 3 4 8 12
1.2)  ค่าเฉลี่ยของจำนวนทั้ง 5 จำนวน คือ 10
(2)   การระบุข้อมูลออก
จากโจทย์สิ่งที่เป็นผลลัพธ์ คือ ค่า X
(3)   การกำหนดวิธีประมวลผล
จากโจทย์และความหมายของ ค่าเฉลี่ย เราสามารถสรุปขั้นตอนของการประมวลผลได้ดังนี้
3.1)  หาค่าผลรวมของจำนวนเต็มทั้ง 5 โดยนำค่าเฉลี่ยคูณด้วยจำนวนของเลขจำนวนเต็ม นั่นคือ 10 x 5 = 50
3.2)  จากความหมายของ ผลรวม จะได้ 3+4+8+12+X = 50
3.3)  แก้สมการ 27+X = 50 (จะได้ X = 23 ซึ่งคือผลลัพธ์)    อ่านเพื่อมเติม...

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

processtechnology
แผนภาพแสดงกระบวนการเทคโนโลยี (Technological Process



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