วันพฤหัสบดีที่ 3 ธันวาคม พ.ศ. 2558

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

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

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

IP Address

IP Address คืออะไร  
       IP Address ย่อมาจากคำเต็มว่า Internet Protocal Address คือหมายเลขประจำเครื่องคอมพิวเตอร์แต่ละเครื่องในระบบเครือข่ายที่ใช้โปรโตคอลแบบ TCP/IP 
ถ้าเปรียบเทียบก็คือบ้านเลขที่ของเรานั่นเอง ในระบบเครือข่าย จำเป็นจะต้องมีหมายเลข IP กำหนดไว้ให้กับคอมพิวเตอร์ และอุปกรณ์อื่นๆ ที่ต้องการ IP ทั้งนี้เวลามีการโอนย้ายข้อมูล หรือสั่งงานใดๆ จะสามารถทราบตำแหน่งของเครื่องที่เราต้องการส่งข้อมูลไป จะได้ไม่ผิดพลาดเวลาส่งข้อมูล ซึ่งประกอบด้วยตัวเลข 4 ชุด มีเครื่องหมายจุดขั้นระหว่างชุด  เช่น 192.168.100.1 หรือ 172.16.10.1  เป็นต้น  โดยหมายเลข IP Address ของเครื่องคอมพิวเตอร์แต่ละเครื่องจะมีค่าไม่ซ้ำกัน สิ่งตัวเลข 4 ชุดนี้บอก คือ Network ID กับ Host ID ซึ่งจะบอกให้รู้ว่า เครื่อง computer ของเราอยู่ใน network ไหน และเป็นเครื่องไหนใน network นั้น เราจะรู้ได้อย่างไรว่า Network ID และ Host ID มีค่าเท่าไหร่ ก็ขึ้นอยู่กับว่า IP Address นั้น อยู่ใน class อะไร 
       เหตุที่ต้องมีการแบ่ง class ก็เพื่อให้เกิดความเป็นระเบียบ เป็นการแบ่ง IP Address ออกเป็นหมวดหมู่นั้นเอง สิ่งที่จะเป็นตัวจำแนก class ของ network ก็คือ bit ทางซ้ายมือสุดของตัวเลขตัวแรกของ IP Address (ที่แปลงเป็นเลขฐาน 2 แล้ว) นั่นเอง โดยที่ถ้า bit ทางซ้ายมือสุดเป็น 0 ก็จะเป็น class A ถ้าเป็น 10 ก็จะเป็น class B ถ้าเป็น 110 ก็จะเป็น class C ดังนั้น IP Address จะอยู่ใน class A ถ้าตัวเลขตัวแรกมีค่าได้ตั้งแต่ 0 ? 127 (000000002 ? 011111112) จะอยู่ใน class B ถ้าเลขตัวแรกมีค่าตั้งแต่ 128 ? 191 (100000002 ? 101111112) และ จะอยู่ใน class C ถ้าเลขตัวแรกมีค่าตั้งแต่ 192 - 223 (110000002 ? 110111112) มีข้อยกเว้นอยู่นิดหน่อยก็คือตัวเลข 0, 127 จะใช้ในความหมายพิเศษ จะไม่ใช้เป็น address ของ network ดังนั้น network ใน class A จะมีค่าตัวเลขตัวแรก ในช่วง 1 ? 126
       สำหรับตัวเลขตั้งแต่ 224 ขึ้นไป จะเป็น class พิเศษ  อย่างเช่น  Class D ซึ่งถูกใช้สำหรับการส่งข้อมูลแบบ Multicast ของบาง Application และ Class E ซึ่ง Class นี้เป็น Address ที่ถูกสงวนไว้ก่อน ยังไม่ถูกใช้งานจริง ๆ  โดย Class D และ Class E นี้เป็น Class พิเศษ ซึ่งไม่ได้ถูกนำมาใช้งานในภาวะปกติ

    ตัวอย่าง IP Address
    Class A ตั้งแต่ 10.xxx.xxx.xxx
    Class B ตั้งแต่ 172.16.xxx.xxx ถึง 172.31.xxx.xxx
    Class C ตั้งแต่ 192.168.0.xxx ถึง 192.168.255.xxx 

       จาก IP Address เราสามารถที่จะบอก ได้คร่าวๆ ว่า computer 2 เครื่องอยู่ใน network วงเดียวกันหรือเปล่าโดยการเปรียบเทียบ Network ID ของ IP Address ถ้ามี Network ID ตรงกันก็แสดงว่าอยู่ใน network วงเดียวกัน เช่น computer เครื่องหนึ่งมี IP Address 1.2.3.4 จะอยู่ใน network วงเดียวกับอีกเครื่องหนึ่งซึ่งมี IP Address 1.100.150.200 เนื่องจากมี Network ID ตรงกันคือ 1 (class A ใช้ Network ID 1 byte) 

    วิธีตรวจสอบ IP Address
    1.คลิกปุ่ม Start เลือก Run
    2.พิมพ์คำว่า cmd กดปุ่ม OK
    3.จะได้หน้าต่างสีดำ
    4.พิมพ์คำว่า ipconfig กด enter
    5.จะเห็นกลุ่มหมายเลข IP Address