วันพุธที่ 18 พฤศจิกายน พ.ศ. 2558

วิธีการแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ

วิธีการแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหา
ในชีวิตประจำวันทุกคนต้องเคยพบกับปัญหาต่างๆ เช่น ปัญหาด้านการเรียน ปัญหาด้านการงาน ปัญหาด้านการเงิน เป็นต้น เมื่อพบกับปัญหา แต่ละคนมีวิธีที่จะจัดการหรือแก้ปัญหาเหล่านั้นแตกต่างกันไปตามความรู้ ความสามารถและประสบการณ์ของบุคคล ซึ่งแต่ละวิธีอาจให้ผลลัพธ์เหมือนหรือแตกต่างกันแต่ถ้านำวิธีการแก้ปัญหาต่างๆมาศึกษาพิจารณาจะพบว่าหลายวิธีคล้ายคลึงกันจนสามารถสรุปเป็นทฤษฎีที่สามารถนำไปประยุกต์ใช้ ได้กับหลายๆปัญหาโดยปกติแล้วมนุษย์มีกระบวนการในการแก้ปัญหาด้วยตนเองอยู่เสมอแต่ในบางครั้งต้องอาศัยการเรียนรู้ระดับสูง เพื่อแก้ปัญหาอย่างสมบูรณ์
-                   ตัวอย่างปัญหาและวิธีการแก้ปัญหา
มีนักเรียนจำนวน 3 คน คือ หวาน แหวน และหวัง แต่ละคนมีความสามารถอยู่ 2 อย่าง ที่ไม่ซ้ำกัน คือ  ว่ายน้ำ วิ่งเร็ว ร้องเพลง วาดภาพ คัดลายมือเล่นดนตรี ไม่ทราบว่าใครมีความสามารถอะไรบ้าง มีข้อมูลของครูประจำชั้น   ดังนี้
1. หวานให้เพื่อนช่วยวาดภาพเสมอ
2. แหวนไม่เคยซื้อเครื่องดนตรีเลย
3. หวังว่ายน้ำไม่เป็น
4. ครูชมเชยแหวนว่าเขียนหนังสือสวย
5. หวานซื้อรองเท้ากีฬาคู่ใหม่                                                                                                                                                6. แหวนชอบให้หวังร้องเพลงให้ฟัง
7. หวังช่วยหวานถือเครื่องดนตรี
8. หวานไม่มีชุดว่ายน้ำ
-              ขั้นตอนการแก้ปัญหา
ด้วยกระบวนการเทคโนโลยีสารสนเทศ
1. การวิเคราะห์และกำหนดรายละเอียดของปัญหา
กำหนดขอบเขตของปัญหา
กำหนดลักษณะของข้อมูลเข้าและออกจากระบบ
(Input/Output Specification )
กำหนดวิธีการประมวลผล (Process Specification)
-                   ตัวอย่างที่ 1 การวิเคราะห์ปัญหา
ตัวอย่างที่ 1 จงเขียนแนวทางแก้ปัญหาด้วยคอมพิวเตอร์ สำหรับให้คอมพิวเตอร์คำนวณหาค่าจ้างพนักงานรายชั่วโมง จากนั้นแสดงค่าจ้างที่คำนวณได้
วิธีทำ     ต้องการอะไร                  ต้องการทราบค่าจ้างพนักงานแต่ละคน
                ต้องการเอาท์พุตอย่างไร  เป็นค่าจ้างสุทธิของพนักงานทางจอภาพ
                ข้อมูลเข้า          รหัสพนักงาน,ชื่อพนักงาน,จำนวนชั่วโมงทำงานเก็บ
                ในตัวแปรชื่อ House, ค่าจ้างรายชั่วโมงเก็บใน
                ตัวแปรชื่อ PayRate
วิธีประมวลผล
      กำหนดวิธีการคำนวณ
ค่าจ้างสุทธิ  = จำนวนชั่วโมง X อัตราต่อชั่วโมง
ขั้นตอนการประมวลผล
1. เริ่มต้น
2. รับรหัสพนักงาน,ชื่อพนักงาน,จำนวนชั่วโมงทำงาน,ค่าจ้างรายชั่วโมง
3. คำนวณ  ค่าจ้างสุทธิ  = House  x  PayRate
4. แสดงผลลัพธ์ เป็นรหัสพนักงาน ชื่อ และค่าจ้างสุทธิ
5. จบการทำงาน

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

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

4.การทดสอบและแก้ไขโปรแกรม
หลังจากเขียนโปรแกรมจะต้องทดสอบความถูกต้องของโปรแกรมที่เขียนขึ้น หาจุดผิดพลาดของโปรแกรมว่ามีหรือไม่ จุดผิดพลาดของโปรแกรมนี้เรียกว่าบัก (Bug) ส่วนการแก้ไขข้อผิดพลาดให้ถูกต้องเรียกว่า ดีบัก(debug)
โดยทั่วไปแล้วข้อผิดพลาดจากการเขียนโปรแกรมจะมีสองประเภทคือ
1. การเขียนคำสั่งไม่ถูกต้องตามหลักการเขียนโปรแกรมภาษานั้น ๆ ซึ่งเรียกว่า Syntax Error หรือ Coding Error ข้อผิดพลาดประเภทนี้เรามักพบตอนแปลภาษาโปรแกรมเป็นรหัสภาษาเครื่อง
2. ข้อผิดพลาดทางตรรก หรือ Logic Error เป็นข้อผิดพลาดที่โปรแกรมทำงานได้ แต่ผลลัพธ์ออกมาไม่ถูกต้อง

5.ทำเอกสารและบำรุงรักษาโปรแกรม
                ขั้นตอนนี้จะทำให้ผู้ใช้สามารถใช้งานโปรแกรมได้อย่างมีประสิทธิภาพ และสะดวกในการตรวจสอบข้อผิดพลาดโดยเขียนเป็นเอกสารประกอบโปรแกรมขึ้นมา โดยทั่วไปแล้วแบ่งออกเป็นสองประเภทคือ
1. คู่มือการใช้ หรือ User Document หรือ User guide ซึ่งจะอธิบายการใช้โปรแกรม

2. คู่มือโปรแกรมเมอร์ หรือ Program Document หรือ Technical Reference ซึ่งจะอำนวยความสะดวกในการแก้ไขโปรแกรมและพัฒนาโปรแกรมในอนาคต โดยจะมีรายละเอียดต่างๆ เกี่ยวกับโปรแกรม เช่นชื่อโปรแกรม การรับข้อมูล การพิมพ์ผลลัพธ์ขั้นตอนต่าง ๆ ในโปรแกรม เป็นต้น

ไม่มีความคิดเห็น:

แสดงความคิดเห็น