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

การพัฒนาโครงงานคอมพิวเตอร์

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

     ประเภทของโครงานคอมพิวเตอร์ 

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

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


   3.โครงงานพัฒนาเกม โครงงานประเภทนี้เป็นโครงงานพัฒนาซอฟต์แวร์เกมเพื่อความรู้หรือเพื่อความ เพลิดเพลิน เกมที่พัฒนาควรจะเป็นเกมที่ไม่รุนแรง เน้นการใช้สมองเพื่อฝึกคิดอย่างมีหลักการ โครงงานประเภทนี้จะมีการออกแบบลักษณะและกฎเกณฑ์การเล่น เพื่อให้น่าสนใจแก่ผู้เล่น พร้อมทั้งให้ความรู้สอดแทรกไปด้วย ผู้พัฒนาควรจะได้ทำการสำรวจและรวบรวมข้อมูลเกี่ยวกับเกมต่างๆ ที่มีอยู่ทั่วไป และนำมาปรับปรุงหรือพัฒนาขึ้นใหม่ เพื่อให้เป็นเกมที่แปลกใหม่ และน่าสนใจแก่ผู้เล่นกลุ่มต่างๆ


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


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



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

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

 - จะต้องมีความรู้และทักษะพื้นฐานอย่างเพียงพอในหัวข้อเรื่องที่จะศึกษา

2. ศึกษาค้นคว้าจากเอกสารและแหล่งข้อมูล

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


1.โปรแกรมภาษาซี

     การพัฒนาโปรแกรมคอมพิวเตอร์ บางคนก็ว่ายาก บางคนก็ว่าเป็นเรื่องสนุก หลายคนบอกว่า ขอเป็นแค่ผู้ใช้สนุกที่สุด แต่จะมีซักกี่คนที่จะมีใจรักที่จะก้าวไปบนถนนแห่งการพัฒนาฝีมือและฝึกฝนการ เขียนโปรแกรมด้วยตัวเอง เพื่อให้มีผู้ที่สนใจนำไปใช้งาน และเพิ่มประสิทธิ์ภาพในการทำงาน และ ความสะดวกสบายๆ ต่างๆมากขึ้น ว่าไปแล้วนักโปรแกรมเมอร์เหล่านี้ ก็ไม่แตกต่างจากผู้ที่ปิดทองหลังพระมากนัก เพราะหลายๆ โปรแกรมที่มีให้ใช้งานกันในปัจจุบัน จะมีใครทราบบ้างไหมว่า ผู้เขียนโปรแกรมเหล่านั้นมีใครกันบ้าง ดังนั้น ผู้ที่คิดจะก้าวมาเป็นนักพัฒนาโปรแกรมมืออาชีพ คงต้องอาศัยใจรักที่จะอยากจะพัฒนา และฝึกฝนฝืมือในการเป็นโปรแกมเมอร์มืออาชีพมาเป็นอันดับหนึ่ง สำหรับบทความนี้จะเริ่มต้นด้วยการสอนให้เข้าใจในหลักการพื้นฐานของการการ พัฒนาโปรแกรมในภาษา ความรู้และความเข้าใจที่จำเป็นต่อการเป็นโปรแกรมเมอร์มืออาชีพในอนาคต เราลองเริ่มมาเรียนรู้กันอย่างคร่าวๆ กันเลยล่ะกัน โดยผู้เขียนจะอธิบายเป็นตอนๆ ทั้งหมด 8 ตอนด้วยกันได้แก่
     1. พื้นฐานโปรแกรมภาษา C (Introduction to C Programming)     2. การเขียนโปรแกรมทางเลือก (Selection Structures)     3. การเขียนโปรแกรมแบบ วนซ้ำ (Repetition & Loop)     4. ฟังก์ชัน และการเขียนโปรแกรมแยกเป็นโมดูล (Functions & Modular Programming)     5. ตารางอาเรย์ (Arrays)     6. ตัวแปรพอยเตอร์ (Pointers)     7. ตัวแปรสตริง (String)     8. โครงสร้างสตักเจอร์ (Structure)



     1. พื้นฐานโปรแกรมภาษา C (Introduction to C Programming)ก่อนอื่นของแนะนำพื้นฐานเกี่ยวกับคอมพิวเตอร์กันซักนิด ก่อนที่จะเริ่มเรียนรู้ภาษา กัน หน่วยสำคัญที่สุดของคอมพิวเตอร์ก็คือ หน่วยประมวลผลหรือที่เรียกกันว่า CPU โดยปกติ CPU จะมีภาษาของตัวเองที่เรียกว่า ภาษาเครื่อง (Machine Language) ซึ่งจะเป็นภาษาที่ประกอบไปด้วยเลขฐานสองมากมาย ดังนั้นการที่จะเขียนโปรแกรมควบคุมการทำงานของคอมพิวเตอร์ โดยใช้ภาษาเครื่องโดยตรงนั้นจึงทำได้ยาก จึงได้มีการพัฒนาตัวแปรภาษาเครื่องที่เรียกว่า โปรแกรมภาษาระดับสูงขึ้นมา หรือที่เรียกว่า High Level Languages โดยภาษาในระดับสูงเหล่านี้ จะมีลักษณะรูปแบบการเขียน (Syntax) ที่ทำให้เข้าใจได้ง่ายต่อการสื่อสารกับผู้พัฒนา และถูกออกแบบมาให้ง่ายต่อการใช้งาน และจะเปลี่ยนคำสั่งจากผู้ใช้งาน ไปเป็นเป็นภาษาเครื่อง เพื่อที่จะควบคุมการทำงานของคอมพิวเตอร์ต่อไป ตัวอย่างของโปรแกรมภาษาระดับสูง ได้แก่COBOL ใช้กันมากสำหรับโปรแกรมทางด้านธุรกิจ, Fortran ใช้กันมากสำหรับการพัฒนาโปรแกรมด้านวิทยาศาสตร์และวิศวกรรมศาสตร์ เพราะง่ายต่อการคำนวณ, Pascal มีใช้กันทั่วไป แต่เน้นสำหรับการพัฒนาเครื่องมือสำหรับการเรียนการสอน, C & C++ ใช้ทั่วไป ปัจจุบันมีผู้เลือกที่จะใช้กันอย่างแพร่หลาย, PROLOG เน้นหนักไปทางด้านงานประเภท AI และ JAVA ใช้ได้ทั่วไป ปัจจุบันเริ่มมีผู้หันมาสนใจกันมากและเพิ่มขึ้นอย่างรวดเร็วคราวนี้เราลองมาเตรียมตัวกันซักนิก ก่อนที่จะลงมือพัฒนาโปรแกรมคอมพิวเตอร์ ขั้นแรก เราต้องศึกษารูปแบบความต้องการของโปรแกรมที่จะพัฒนา จากนั้นก็วิเคราะห์ถึงปัญหาตลอดจนวิธีการแก้ปัญหา จากนั้นจึงนำเอาความคิดในการแก้ปัญหาอย่างเป็นขั้นตอน ไปเขียนในรูปแบบของโปรแกรมภาษาในระดับสูง ซึ่งจะอยู่ในรูปแบบของ Source Program หรือ Source Code จากนั้นเราก็จะใช้ Complier ของภาษาที่เราเลือก มาทำการ Compile Source code หรือกล่าวง่ายๆ คือแปลง Source code ของเราให้เป็นภาษาเครื่องนั่นเอง ซึ่งในขั้นตอนนี้ ผลที่ได้ เราจะเรียกว่า Object code จากนั้น Complier ก็จะทำการ Link หรือเชื่อม Object codeเข้ากับฟังก์ชันการทำงานใน Libraries ต่างๆ ที่จำเป็นต่อการใช้งาน แล้วนำไปไว้ในหน่วยความจำ แล้วเราก็จะสามารถ Run เพื่อดูผลของการทำงานโปรแกรมได้ หากโปรแกรมมีข้อผิดพลาด เราก็จะทำการแก้ หรือที่เรียกกันในภาษาคอมพิวเตอร์ว่า การ Debug นั่นเองภาษา เป็นโปรแกรมภาษาระดับสูง ถูกพัฒนาขึ้นในปี 1972 ที่ AT&T Bell Lab เราสามารถใช้ภาษา มาเขียนเป็นคำสั่งต่างๆ ที่คอมพิวเตอร์สามารถเข้าใจได้ และกลุ่มของคำสั่งเหล่านี้ เราก็เรียกกันว่า อัลกอริธึม ได้มีผู้ให้คำจำกัดความของคำว่า อัลกอริธึม ว่าเป็น “A precise description of a step-by-step process that is guaranteed to terminate after a finite number of steps with a correct answer for every particular instance of an algorithmic problem that may occur.” สำหรับ Compiler ภาษา ที่มีในปัจจุบัน มี 2 ค่ายใหญ่ๆ ที่มีผู้คนสนใจใช้กันมากได้แก่ Microsoft และ Borland การใช้งาน Compiler ทั้งสองตัวนี้ สามารถเรียนรู้ได้ไม่ยากนัก เราจึงจะมาเริ่มต้นที่การเขียนโปรแกรมในภาษา กันเลย เราลองมาเริ่มจากตัวอย่างการเขียน ภาษา Cแบบ ง่ายๆ กันก่อนกับโปรแกรม Hello World
#includemain(){printf("Hello World <="" u1:p="" style="cursor: move;"> alt="http://www.vcharkarn.com/shareimages/smilies/alarm.gif" data-blogger-escaped-src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image001.gif" data-blogger-escaped-v:shapes="Picture_x0020_101" v:shapes="_x0000_i1025"> !! ");}
บรรทัดแรก #include เป็นการบอกว่าให้ทำการรวม Header file ที่ชื่อว่า stdio.h (.h = header) ซึ่งเป็น headerที่เกี่ยวข้องกับการรับและให้ข้อมูล (Standard Input Output) นอกจาก stdio.h แล้ว ก็ยังมี Header อื่นๆ ที่ผู้พัฒนาสามารถที่จะเรียกใช้งาน Function ที่จำเป็นจาก Header นั้นๆ ได้ อาทิเช่นรู้จัก Header File กันไปล่ะ คราวนี้ เราลองมาดูบรรทัดถัดไปกัน ก็คือ ฟังก์ชัน main() จะเป็นจุดเริ่มต้นของโปรแกรม และโปรแกรมทุกโปรแกรมในภาษา จะต้องมี Function main() นี้ โดยส่วนมาก เราจะใช้ Function main() ในการกำหนดค่าเริ่มต้นต่างๆ ของโปรแกรม จากนั้นจึงเข้าสู่ Function ต่างๆ ที่ผู้พัฒนา ได้กำหนดขึ้นไว้
บรรทัดถัดมาจะเป็นเครื่องหมาย ซึ่งเป็นเครื่องหมายบ่งบอกขอบเขตของ Function โดยขอบเขตของฟังก์ชัน จะเปิดและปิดโดยใช้เครื่องหมายเปิด และเครื่องหมายปิด ตามลำดับ ภายใน Function main() จะมีคำสั่ง (Statement) printf("Hello World  alt="http://www.vcharkarn.com/shareimages/smilies/alarm.gif" data-blogger-escaped-src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image001.gif" data-blogger-escaped-v:shapes="Picture_x0020_103" v:shapes="_x0000_i1026">!! "); ซึ่ง printf เป็นFunction ในภาษา ทำหน้าที่ให้โปรแกรม ทำการแสดงผลออกทางหน้าจอว่า Hello World <="" u1:p="" style="cursor: move;"> alt="http://www.vcharkarn.com/shareimages/smilies/alarm.gif" data-blogger-escaped-src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image001.gif" data-blogger-escaped-v:shapes="Picture_x0020_104" v:shapes="_x0000_i1027"> !! และทุกครั้ง ผู้พัฒนาจะต้องทำการจบคำสั่งหรือ Statement ด้วยเครื่องหมาย semi-colon ;
ดังนั้นรูปแบบของการเขียนโปรแกรม จึงเขียนออกมาในรูปแบบดังนี้
// ข้อความที่อยู่ข้างหลังเครื่องหมาย // จะเป็นคำอธิบายโปรแกรม#includevoid main(){constant declarations; // การกำหนดค่าคงที่ต่างๆvariable declarations; // การกำหนดตัวแปรต่างๆexecutable statements; // คำสั่งการทำงานของโปรแกรม}การอ่านข้อมูลและการแสดงผล (Input & Output)
รูปแบบการใช้งานฟังก์ชัน printf จะทำการพิมพ์ในรูปแบบที่ เริ่มต้นด้วย Format ที่ต้องการจะพิมพ์ และตามด้วยตัวแปรที่ต้องการพิมพ์ ดังนี้printf( const char *format [, argument]... );สำหรับการนำข้อมูลเข้าก็เช่นกัน จะใช้ฟังก์ชัน scanf ซึ่งจะเป็นฟังก์ชันสำหรับอ่านข้อมูลจากคีย์บอร์ด และจะนำข้อมูลที่ User ทำการพิมพ์ไปเก็บไว้ใน argument โดยแต่ละ argument จะต้องเป็นตัวแปรที่เรียกว่า pointer (รายละเอียดจะได้กล่าวต่อไป) และมีชนิดที่ตัวแปรที่สัมพันธ์กับที่ได้กำหนดไว้ใน Format รูปแบบการใช้งานของฟังก์ชัน scanf สามารถเขียนได้ดังนี้scanf( const char *format [,argument]... );


2.การพัฒนาโปรแกรม

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


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


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


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


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


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


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


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

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

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

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

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

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

   2.สัญลักษณ์          เครื่องหมายรูปแบบต่างๆ ซึ่งใช้สำหรับสื่อสารความหมายให้เข้าใจตรงกัน สถาบันมาตรฐานแห่งชาติอเมริกา (The American National Standard Institute, ANSI) ได้กำหนดสัญลักษณ์ไว้เป็นมาตรฐานแล้ว สามารถนำไปใช้ได้ตามความเหมาะสมต่อไป ซึ่งมีรายละเอียด รูปแบบและความหมายที่ควรทราบตามตารางต่อไปนี้ 





  3. โครงสร้างการโปรแกรม          จากการศึกษาหลักการขั้นตอนการแก้ปัญหาในหัวข้อที่ 1 และ 2 ที่ผ่านมาหลังจากที่เราสามารถวิเคราะห์ปัญหา และสร้างแบบจำลองความคิดเพื่อแสดงขั้นตอนในการแก้ปัญหาแล้ว ขั้นตอนต่อไปคือการลงมือแก้ปัญหาตามขั้นตอนที่ออกแบบไว้ โดยใช้เครื่องมือช่วยในการแก้ปัญหา ในที่นี้หากเครื่องมือที่นักเรียนเลือกคือภาษาคอมพิวเตอร์ขั้นตอนในการลงมือแก้ปัญหาก็คือขั้นตอนของการเขียนโปรแกรมคอมพิวเตอร์ซึ่งถือได้ว่าเป็นขั้นตอนหนึ่งที่สำคัญในการแก้ปัญหาด้วยคอมพิวเตอร์          การเขียนโปรแกรม (Programming) หมายถึงกระบวนการใช้ภาษาคอมพิวเตอร์เพื่อกำหนดโครงสร้างของข้อมูล และกำหนดขั้นตอนวิธีเพื่อใช้แก้ปัญหาตามที่ได้ออกแบบไว้ โดยอาศัยหลักเกณฑ์การเขียนโปรแกรมคอมพิวเตอร์ของแต่ละภาษา          ก่อนการเขียนโปรแกรม ผู้พัฒนาโปรแกรมจะต้องเลือกภาษาคอมพิวเตอร์ที่จะนำมาใช้ช่วยงานโดยพิจารณาจากปัจจัยต่างๆในการทำงาน เช่น ลักษณะของปัญหา ความถนัดของผู้เขียนโปรแกรม สภาพแวดล้อมในการทำงานของระบบคอมพิวเตอร์ เป็นต้น เนื่องจากในปัจจุบันมีภาษาคอมพิวเตอร์ให้เลือกใช้ได้หลายภาษา เช่น ภาษาปาสคาล ภาษาซี ภาษาจาวา ภาษาเดลฟาย เป็นต้น ถึงแม้แต่ละภาษาจะมีรูปแบบและหลักการในการสร้างงานที่แตกต่างกัน แต่ทุกภาษาจะต้องมีโครงสร้างควบคุมหลักทั้ง 3 แบบ ได้แก่ โครงสร้างแบบลำดับ (sequential structure) โครงสร้างแบบมีทางเลือก (selection structure) และโครงสร้างแบบทำซ้ำ (repetition structure)
4 .โครงสร้างแบบลำดับ (Sequential structure)          คือ โครงสร้างแสดงขั้นตอนการทำงานที่เป็นไปตามลำดับก่อนหลัง และแต่ละขั้นตอนจะถูกประมวลผลเพียงครั้งเดียวท่านั้น




  5. โครงสร้างแบบมีทางเลือก  (Selection structure)          คือ โครงสร้างที่มีเงื่อนไข ขั้นตอนการทำงานบางขั้นตอนต้องมีการตัดสินใจเพื่อเลือกวิธีการประมวลผลขั้นต่อไป และจะมีบางขั้นตอนที่ไม่ได้รับการประมวลผล การตัดสินใจอาจมีทางเลือก 2 ทางหรือมากกว่าก็ได้ โครงสร้างที่มีทางเลือกเพียง 2 ทาง เราเรียกชื่อว่าโครงสร้างแบบ if…then…else และโครงสร้างที่มีทางเลือกมากกว่า 2 ทาง เราเรียกชื่อว่า โครงสร้างแบบ case 

  6.โครงสร้างแบบทำซ้ำ (Repetition structure)
          คือ โครงสร้างที่ขั้นตอนการทำงานบางขั้นตอนได้รับการประมวลผลมากกว่า 1 ครั้ง ทั้งนี้ขึ้นอยู่กับเงื่อนไขบางประการ โครงสร้างแบบทำซ้ำนี้ต้องมีการตัดสินใจในการทำงานซ้ำ และลักษณะการทำงานของโครงสร้างแบบนี้มีลักษณะ ได้แก่-  แบบที่มีการตรวจสอบเงื่อนไขในการทำซ้ำทุกครั้งก่อนดำเนินการกิจกรรมใดๆ ถ้าเงื่อนไขเป็นจริงจะทำงานซ้ำไปเรื่อยๆและหยุดเมื่อเงื่อนไขเป็นเท็จเรียกการทำงานลักษณะนี้ว่า การทำซ้ำแบบ do while-   แบบที่ทำกิจกรรมซ้ำเรื่อยๆ จนกระทั่งเงื่อนไขที่กำหนดเป็นจริงแล้วจึงหยุดการทำงาน โดยแต่ละครั้งที่เสร็จสิ้นการดำเนินการแต่ละรอบจะต้องมีการตรวจสอบเงื่อนไขเรียกการทำซ้ำลักษณะนี้ว่า การทำซ้ำแบบ do until






















วันจันทร์ที่ 22 กรกฎาคม พ.ศ. 2556

1. ผลกระทบจากการใช้งานอินเทอร์เน็

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

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

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

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

ข้อควรปฏิบัติเพื่อความปลอดภัยในการใช้งานในระบบเครือข่าย


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


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


2.บัญญัติ 10 ประการในการใช้งานคอมพิวเตอร์

ลินดา เฮอร์นดอน (Linda Herndon)
Linda Herndon : Herndon : Computer Ethics, Netiquette, and Other Concerns
ได้กล่าวถึงบัญญัติสิบประการของการใช้คอมพิวเตอร์ไว้ดังนี้
1. ไม่ใช้คอมพิวเตอร์ทำร้ายผู้อื่น
2. ไม่รบกวนจนงานคอมพิวเตอร์ของผู้อื่น
3. ไม่แอบดูแฟ้มข้อมูลของผู้อื่น
4. ไม่ใช้คอมพิวเตอร์เพื่อลักขโมย
5. ไม่ใช้คอมพิวเตอร์เพื่อเป็นพยานเท็จ
6. ไม่ใช้หรือทำสำเนาซอฟต์แวร์ที่ตนไม่ได้ซื้อสิทธิ์
7. ไม่ใช้คอมพิวเตอร์ของผู้อื่นโดยไม่มีอำนาจหน้าที่
8. ไม่ฉวยเอาทรัพย์ทางปัญญาของผู้อื่นมาเป็นของตน
9. คิดถึงผลต่อเนื่องทางสังคมของโปรแกรมที่เขียน
10. ใช้คอมพิวเตอร์ในทางที่แสดงถึงความใคร่ครวญและเคารพ จรรยาวิชาชีพ ของสมาชิก

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


โปรแกรมที่ไม่พึงประสงค์


  1.ไวรัส  (virus)
     ไวรัสเป็นโปรแกรมประเภทที่สามารถแพร่ขยายตัวเองได้ วิธีการในการจำแนกว่าส่วนของโปรแกรมนั้นเป็นไวรัสหรือไม่ นั้นดูจากการที่โปรแกรมสามารถแพร่กระจายตัวได้โดยผ่านทางพาหะ (โฮสต์)
บ่อยครั้งที่ผู้คนจะสับสนระหว่างไวรัสกับเวิร์ม เวิร์มนั้นจะมีลักษณะของการแพร่กระจายโดยไม่ต้องพึ่งพาหะ ส่วนไวรัสนั้นจะสามารถแพร่กระจายได้ก็ต่อเมื่อมีพาหะนำพาไปเท่านั้น เช่น ทางเครือข่าย หรือทางแผ่นดิสก์ โดยไวรัสนั้นอาจฝังตัวอยู่กับแฟ้มข้อมูล และเครื่องคอมพิวเตอร์จะติดไวรัสเมื่อมีการเรียกใช้แฟ้มข้อมูลนั้น
เนื่องจากไวรัสในปัจจุบันนี้ได้อาศัยบริการเครือข่ายบนเครื่องคอมพิวเตอร์ เช่น เวิลด์ไวด์เว็บ อีเมล และระบบแฟ้มข้อมูลร่วมในการแพร่กระจายด้วย จึงทำให้ความแตกต่างของไวรัสและเวิร์มในปัจจุบันนั้นไม่ชัดเจน
ไวรัสสามารถติดพาหะได้หลายชนิด ที่พบบ่อยคือ แฟ้มข้อมูลที่สามารถปฏิบัติการได้ของซอฟต์แวร์ หรือส่วนระบบปฏิบัติการ ไวรัสยังสามารถติดไปกับบู๊ตเซคเตอร์ของแผ่นฟลอปปีดิสก์ แฟ้มข้อมูลประเภทสคริปต์ ข้อมูลเอกสารที่มีสคริปต์แมโคร นอกเหนือจากการสอดแทรกรหัสไวรัสเข้าไปยังข้อมูลดั้งเดิมของพาหะแล้ว ไวรัสยังสามารถเปลี่ยนแปลงข้อมูลเดิมในพาหะ และอาจทำการแก้ไขให้รหัสไวรัสถูกเรียกขึ้นมาทำงานเมื่อพาหะถูกเรียกใช้งาน 

    - การป้องกัน
1. ใช้โปรแกรมป้องกันไวรัส
2. ใช้โปรแกรมป้องกันไวรัสที่เหมาะกับตัวเอง
3. ติดตั้งโปรแกรมป้องกันไวรัสให้เป็น
4. อัพเดตฐานข้อมูลไวรัส (Definition) อยู่เสมอ
5. เปลี่ยนเวอร์ชันใหม่ทันทีที่มีโอกาส
6. อย่ารับไฟล์แปลกหน้า และติดตามข่าวสารอยู่เสมอ
7. ติดไวรัสแล้วอย่ากลัว

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

   -การป้องกัน 
ไม่เปิด ไฟล์ที่แนบมากับ อีเมล ที่ส่งมาจากผู้ที่ไม่รู้ว่าเป็นใคร
ถึงแม้จะรู้ว่าผู้ส่งเป็นใคร ก็ไม่ควรเปิดไฟล์ที่แนบมาถ้าไม่แน่ใจว่าไฟล์ที่แนบมาเป็นอะไรกันแน่
ทำการติดตั้งโปรแกรมป้องกันไวรัส
ทำการ อัปเดตข้อมูลไวรัสของโปรแกรมป้องกันไวรัสให้เป็นปัจจุบันตลอด
ติดตั้งตัวแก้ไขระบบปฏิบัติการ
ติดตั้งไฟร์วอลล์

  3.ม้าโทรจัน (trojan horse)
  ถ้ากล่าวถึงม้าโทรจัน ในทางคอมพิวเตอร์ จะหมายถึงโปรแกรมที่ถูกโหลดเข้าไปในคอมพิวเตอร์ เพื่อ ปฎิบัติการ "ล้วงความลับ" "ยึดเป็นฐานที่มั่นเพื่อโจมตีคอมพิวเตอร์เครื่องอื่น" สำหรับในคอมพิวเตอร์ ความลับนั้นคืออะไรบ้าง รหัสผ่าน User Name , และข้อมูลส่วนตัวเกี่ยวกับการ Login ระบบ ที่ถูกพิมพ์ผ่านคีย์บอร์ดโดยผู้ใช้งาน โดยส่วนใหญ่แฮคเกอร์จะส่งโปรแกรม "ม้าโทรจัน" เข้าไปในคอมพิวเตอร์เพื่อดักจับข้อมูลดังกล่าว แล้วนำไปใช้ในการเจาะระบบ และเพื่อโจมตีคอมพิวเตอร์ เซิร์ฟเวอร์ ระบบเครือข่ายอีกที ซึ่งเป็นที่รู้จักกันในชื่อการโจมตีเพื่อ "ปฎิเสธการให้บริการ" (Denied of Services)
        โปรแกรมม้าโทรจัน ถือเป็นโปรแกรมที่สอดคล้องกับการทำงานของคอมพิวเตอร์ ไม่มีคำสั่งหรือการปฏิบัติการที่เป็นอันตรายต่อคอมพิวเตอร์ พูดง่ายๆมันไม่ใช่ "ไวรัส ซึ่งถูกถือเป็นเชื้อโรค" แต่ม้าโทรจันเป็นโปรแกรมธรรมดา ที่โปรแกรมตรวจสอบไวรัสไม่สามารถตรวจจับพฤติกรรมร้ายๆได้ แต่วัตถุประสงค์ของโปรแกรมม้าโทรจันนั้นกลับเป็นการทำงานเพื่อละเมิดความปลอดภัย และก่อให้เกิดการโจมตีระบบและความเสียหายอื่นๆ ตามมา ดังนั้นม้าโทรจันจึงไม่เป็นที่ปรารถนาของใครๆ
-การป้องกัน
  ส่วนการใช้งานคอมพิวเตอร์ภายในบ้าน โดยการออนไลน์ปกติโดยการต่อเชื่อมอินเตอร์เน็ตจากคอมพิวเตอร์ภายในบ้านที่ใช้ Dial Up Network โดยการต่อเชื่อมผ่านโมเด็มนั้น เสี่ยงต่อม้าโทรจันเช่นกัน ผมเคยถูกม้าโทรจันหลายๆตัวโจมตีภายในเดือนเดียวกัน 5 ครั้ง วิธีการป้องกันได้แก่การติดตั้งโปรแกรม อย่าง NetBUS Detective จะคอยตรวจจับม้าโทรจันพวก Netbus ,BO Orifice , หรือโปรแกรม NukeNubber ก็ป้องกันระบบ โดยการตรวจสอบพอร์ตต่างๆของ TCP/IP ถึง 50 พอร์ต ระบบการป้องกันสำหรับบ้านที่ดีที่สุดคือ ไฟร์วอลส่วนตัว (personal firewalls) ซึ่งเป็นซอฟต์แวร์ติดตั้งในพีซี เช่น Norton Personal Firewall 2.0 , Norton Internet Security 2.0 , ZoneAlarm 2.1.44 โปรแกรม Firewall เหล่านี้จะเป็นทหารยามป้องกันการลักลอบแฝงเข้ามาในพอร์ตต่างๆของการต่อเชื่อมที่ไม่ได้รับอนุญาต
  สำหรับกรณีที่ต้องการตรวจสอบว่ามีม้าโทรจัน หรือต้องการกำจัดนั้น ต้องทำความเข้าใจคือ โปรแกรมป้องกันไวรัสทั้งหลายที่มีขายในท้องตลาดนั้น อาจจะป้องกันและตรวจสอบม้าโทรจันได้ไม่ครบ ทางที่ดีแนะนำให้ใช้โปรแกรมการป้องกัน ตรวจสอบม้าโทรจันเฉพาะ อย่าง PC Guard , The Cleaner ซึ่งในการตรวจจับม้าโทรจันโดยเฉพาะ
4.สปายแวร์ (spyware) 
 แม้จะชื่อว่า สปายแวร์ แต่ไม่ได้มีความหมายลึกลับเหมือนอย่างชื่อ แต่กลับถูกใช้สำหรับการโฆษณาประชาสัมพันธ์เสียมากกว่า ในอันที่จริง สปายแวร์จะได้รับความรู้จักในชื่อของ แอดแวร์ด้วย ดังนั้นคำว่าสปายแวร์จึงเป็นเพียงการระบุประเภทของซอฟต์แวร์เท่านั้น ส่วนความหมายที่แท้จริง สปายแวร์ หมายถึงโปรแกรมที่แอบเข้ามาติดตั้งในเครื่องคอมพิวเตอร์โดยที่ผู้ใช้อาจไม่ได้เจตนา แล้วเป็นผลให้สปายแวร์กระทำสิ่งต่อไปนี้ เช่น
          - อาจส่งหน้าต่างโฆษณาเล็กๆ ปรากฏขึ้นมา(ป๊อบอัพ) ขณะที่คุณใช้งานเครื่องคอมพิวเตอร์อยู่
          - เมื่อคุณเปิดเว็บบราวเซอร์ เว็บบราวเซอร์จะทำการต่อตรงไปยังเว็บไซต์หลักของตัวสปายแวร์ที่ถูกตั้งค่าให้ลิ้งก์ไป
          - สปายแวร์อาจทำการติดตามเว็บไซต์ที่คุณเข้าไปเยี่ยมชมบ่อยๆ
         - สปายแวร์บางเวอร์ชั่นที่มีลักษณะรุกรานระบบจะทำการติดตามค้นหา คีย์ หรือ รหัสผ่าน ที่คุณพิมพ์ลงไปเมื่อทำการ log in เข้าแอคเคาน์ต่างๆ


         - การป้องกัน
    1.ไม่คลิ้กลิ้งบนหน้าต่างเล็กๆ ที่ปรากฏขึ้นมาอัตโนมัติหรือโฆษณาที่ป๊อบอัพขึ้นมา เพราะป๊อบอัพเหล่านั้นมักจะมีตัวสปายแวร์ฝังอยู่ การคลิ้กลิ้งเหล่านั้นจะทำให้สปายแวร์ถูกนำเข้ามาติดตั้งบนเครื่องของคุณผ่านวินโดวส์ได้ในทันที ส่วนวิธีการปิดหน้าต่างป๊อบอัพเหล่านั้นควรคลิ้กที่ปุ่ม “X” บนแถบเมนู Title bar แทนที่จะปิดด้วยคำสั่ง close บนแถบแสดงเครื่องมือมาตรฐานของวินโดว์ (standard toolbar)
          2.ควรเลือกที่คำตอบ “No” ทุกครั้งที่มีคำถามต่างๆ ถามขึ้นมาจากป๊อบอัพเหล่านั้น คุณต้องระมัดระวังเป็นอย่างมากกับคำถามที่ปรากฏขึ้นมาเป็นไดอะล็อกบ็อกซ์ต่างๆ แม้ว่าไดอะล็อกบ๊อกซ์เหล่านั้นจะเกิดขึ้นตอนคุณกำลังรันโปรแกรมเฉพาะที่คุณจะใช้งาน หรือใช้โปรแกรมอื่นอยู่ก็ตาม ควรปิดหน้าต่างป๊อบอัพเหล่านั้นด้วยวิธีคลิ้กที่ปุ่ม “X” บนแถบเมนู Title bar แทนที่จะปิดด้วยคำสั่ง close บนแถบแสดงเครื่องมือมาตรฐานของวินโดว์ (standard toolbar)
          3.ควรระมัดระวังอย่างมากในการดาวน์โหลดซอฟต์แวร์ที่จัดให้ดาวน์โหลดฟรี เพราะมีหลายเว็บไซต์ที่จัดหาแถบเครื่องมือแบบที่ให้ผู้ใช้ปรับแต่งเองหรือมีคุณสมบัติอื่นๆ ที่เหมาะสำหรับผู้ใช้ให้ปรับแต่งเองไว้ให้ดาวน์โหลดบนอินเทอร์เน็ต สำหรับท่านที่ต้องการใช้คุณสมบัติของเครื่องมือเหล่านี้ ไม่ควรจะดาวน์โหลด เครื่องมือเหล่านี้มาจากเว็บไซต์ที่ไม่น่าเชื่อถือ และต้องตระหนักเสมอว่ามันเป็นการปล่อยให้สปายแวร์ผ่านเข้ามายังเครื่องคุณได้ด้วย
          4.ไม่ควรติดตามอีเมล์ลิ้งที่ให้ข้อมูลว่ามีการเสนอซอฟต์แวร์ป้องกันสปายแวร์ เหมือนกับอีเมล์ที่ให้ข้อมูลว่ามีการเสนอซอฟต์แวร์ป้องกันไวรัส ซึ่งอันที่จริงลิ้งเหล่านั้นจะนำไปสู่แนวทางที่ตรงกันข้าม คือเป็นการถามเพื่อให้คุณคลิ้กอนุญาตให้สปายแวร์เข้ามาดำเนินการติดตั้งในเครื่องโดยไม่ถูกขัดขวาง

5.แอดแวร์ (adware) 
   แอดแวร์ (Adware) เป็นโปรแกรมแอบซ่อนอีกตัวหนึ่ง คล้ายๆ สปายแวร์ คือมาพร้อมกับอีเมล์ขยะและ/ หรือเว็บไซต์ทางการค้าที่คุณเปิดเข้าไปดู แม้แต่พวกการ์ตูนหรือเกมน่ารักๆ ที่ให้คุณดาวน์โหลดมาไว้ดู/เล่นฟรีบนเครื่องคอมพิวเตอร์ ก็มักถูกติดแอดแวร์และสปายแวร์เอาไว้ เจ้าแอดแวร์ที่ว่านี้จะทำงานอัตโนมัติ เวลาที่คุณใช้อินเทอร์เน็ตมันจะเด้งหรือ Pop-Up หน้าจอของมันขึ้นมา หลอกล่อด้วยข้อความต่างๆ เพื่อให้คุณกดคลิกเข้าไป ดึงคุณไปยังเว็บไซต์การค้าของเขา ซึ่งส่วนมากจะเป็นเว็บไซต์สำหรับผู้ใหญ่ เช่นขายภาพ หรือวีดีโอคลิปโป๊ ขายยาไวอากร้า เซ็กซ์ทอย หรือพวกธุรกิจขายตรงต่างๆ อันที่จริงแล้วแอดแวร์กับสปายแวร์มีลักษณะใกล้ เคียงกัน ดังนั้นโปรแกรมดักจับและลบแอดแวร์ก็จะลบสปายแวร์ด้วยเช่นกัน
    - การป้องกัน
1. ควรใช้ Internet Explorer เวอร์ชั่นทีสูงกว่า 6.x และควร Update ให้เป็นเวอร์ชั่นปัจจุบัน เพราะแต่ละเวอร์ชั่นจะมีการพัฒนาและปรับปรุงให้มีความปลอดภัยที่สูงขึ้น
2. ขอแนะนำว่าคุณควรใช้ Firefox เพราะมันเป็นเบราว์เซอร์ที่ทำงานได้ดีจริงๆ และมีคุณสมบัติการรักษาความปลอดภัยที่ดี
3. ใช้ซอฟต์แวร์หรือฮาร์ดแวร์ไฟล์วอล อาจมีค่าใช้จ่ายสูงถ้าใช้กับคอมพิวเตอร์ที่บ้าน อาจจะไม่คุ้ม
4. ใช้โปรแกรมฟรีป้องกันและลบสปายแวร์ & แอดแวร์ สปายแวร์ซอฟแวร์ป้องกันแอดแวร์ อีกหนึ่งวิธีที่ดีในการทำความสะอาดระบบคอมพิวเตอร์ของคุณและฟรีด้วย ซึ่งเป็นซอฟแวร์ของ Lavasoft Adaware และ Spybot Search & Destroy ซึ่งสามารถหาดาวน์โหลดได้

    6.สแปม (spam)
spam คือ อีเมลที่เราไม่ต้องการ เป็นประเภทหนึ่งของ Junk เมล์ จุดประสงค์ของผู้ส่ง spam mail มักต้องการโฆษณาบริการต่าง ๆ ที่ตัวเองมีอยู่ spam mail เป็นการส่งอีเมล์แต่ละฉบับไปหาคนจำนวนมาก
spam คือ อีเมล (e-mail) ลักษณะหนึ่ง ที่ส่งถึงท่าน หรือคนทั่วโลก โดยผู้ส่งไม่จำเป็นต้องรู้จักท่านมาก่อน เพราะเขาใช้โปรแกรมหว่านแห ส่งไปทั่ว เท่าที่จะส่งไปได้ และมักเป็น e-mail ที่เราท่านไม่พึงประสงค์จะรับ เป้าหมายส่วนใหญ่ของ spam คือ เชิญชวนให้ท่านไปซื้อสินค้า ไปทำงานสบายเงินดี หรือแนะนำเว็บไซต์ทางการค้า ที่เจ้าของเว็บจ่ายเงินจ้าง hacker เก่ง ๆ ให้สร้าง spam ให้กับเว็บของตน หรืออาจเกิดจากนักเจาะระบบสมัครเล่น ที่ชอบทดลอง ก็เป็นได้ และปกติเราจะไม่สามารถควานหาตัว ผู้สร้าง spam ได้โดยง่าย เพราะพวกเขามีวิธีพลางตัว ที่ซับซ้อนยิ่งนัก เช่น login จาก server หนึ่ง กระโดดไปอีก server หนึ่ง แล้วจึงจะเริ่มเจาะ server เป้าหมาย

      - การป้องกัน
1. รายงานกับ ISP หรือ Admin เพื่อสกัดอีเมล์ที่น่าสงสัย
2. ใช้ Filter กรองคำที่น่าสงสัยเช่น Cash, Money, Sex
แล้วลบออก หรือย้ายเข้า Junk Folder อัตโนมัติ
3. สมัครรับ Mailing List เท่าที่ต้องการจริง ๆ
4. ไม่กำหนดชื่อ Mailing list ที่มีสมาชิกมากเกินไป
5. ไม่ควรระบุ e-mail ใน usenet news หรือ webboard
เพราะโปรแกรมจับอีเมลจะพบอีเมลของท่านได้ง่าย
6. ใช้ Hardware firewall ของ SonicWALL

วันอังคารที่ 18 มิถุนายน พ.ศ. 2556

บริการบนอินเทอร์เน็ต 


    1. ไปรษณีย์อิเล็กทรอนิกส์ หรืออีเมล   (Electronic Mail - Email) อีเมลคือไปรษณีย์หรือจดหมายที่ส่งทางอินเทอร์เน็ต จากคอมพิวเตอร์ของผู้ส่ง ผ่านเครือข่ายไปยังคอมพิวเตอร์ของผู้รับ  ในการให้บริการแบบนี้ ผู้ที่ต้องการส่ง และรับ จดหมาย อิเล็กทรอนิกส์จะต้องมีบัญชีการใช้บริการที่แน่นอนซึ่งเรียกว่า e-mail Address คล้าย ๆ กับชื่อ – นามสกุล และที่อยู่นั่นเองปัจจุบันเราสามารถมีอีเมล์ได้อย่างสะดวก รวดเร็วจากเว็บไซต์ที่ให้บริการรับ-ส่งอีเมล์ที่เรียกว่า   ฟรีอีเมล์ (Free-Email) ซึ่งมีบริการให้เลือกมากมายทั้งไทยและต่างประเทศ


    2. การสื่อสารในเวลาจริง (realtime communication) เป็นการสื่อสารระหว่างบุคคลที่สามารถโต้ตอบกลับได้ทันทีผ่านเครือข่ายการสื่อสาร สามารถส่งเป็นข้อความ 
ภาพ เสียง ไปยังผู้รับ

แชท  ( chat ) เป็นการสนทนาผ่านอินเทอร์เน็ต  
ทั้งระหว่างบุคคล  2  คน  หรือ ระหว่างกลุ่มบุคคล

 - ห้องคุย ( chat room ) เป็นการสนทนาที่ผู้ใช้สามารถ เลือกประเภทของหัวข้อที่สนใจซึ่งแบ่งไว้เป็นห้องต่างๆ




-วอยซ์โอเวอร์ไอพี  หรือ วีโอไอพี ( Voice over  IP : VoIP )เรียกอีกอย่างหนึ่งว่าอินเทอร์เน็ตเทเลโฟนี ซึ่งช่วยให้ผู้ใช้สามารถคุยกับผู้อื่นผ่านทางอินเทอร์เน็ต
  

















     


     3. เว็บไซต์เครือข่ายทางสังคม (social networking Web sites) เป็นชุมชนออนไลน์ที่สมาชิกในชุมชนมีสัมพันธ์ระหว่างกัน โดยมีเป้าหมายในการเป็นจุดเชื่อมโยงระหว่างผู้ใช้ โดยอาจเชื่อมโยงผ่านกิจกรรมอย่างใดอย่างหนึ่งที่ผู้ใช้มีความสนใจร่วมกัน เช่น การแบ่งปันวิดีทัศน์ การเล่าสู่กันฟังถึงประสบการณ์ที่ได้รับ การแสดงความรู้สึกหรือความคิดเห็น การทำความรู้จักกัน การมีส่วนร่วมในการอภิปราย และการรวมกลุ่ม เพื่อทำกิจกรรมที่สร้างสรรค์ หรือใช้ข้อมูลทั่วไป ข้อมูลเชิงวิชาการ ข้อมูลในการประกอบอาชีพ ตัวอย่างเว็บไซต์เครือข่ายทางสังคม เช่น facebook, twitter, Linkedin, hi5 และ wiki เป็นต้น




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

5. ไมโครบล็อก (Microblog)   เป็นบล็อกที่มีการแสดงหัวข้อและความคิดเห็นที่กระชับ กะทัดรัด ผู้ใช้ที่ เป็นสมาชิกสามารถเลือกหัวข้อจากบล็อกอื่นให้มาปรากฏในไมโครบล็อกของตนเอง หรือตามสมาชิกอื่นได้  



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

7. อาร์เอสเอส (Really Simply Syndication : RSS)  คือ ข้อมูลที่อยู่ในรูปแบบเอ็กเอ็มแอล (XML) ที่กำหนดขึ้นมาเพื่อใช้ในการกระจายข้อมูลออกไปสู่เว็บไซต์ (Website Syndication) เว็บบล็อก (Web Blog) หรือ อาร์เอสเอสรีดเดอร์ (RSS Reader) การให้บริการอาร์เอสเอสถูกมองว่าเป็นผู้ป้อนข้อมูล ดังนั้นเว็บเพจที่นำข้อมูลไปใช้มักถูกเรียกว่าเว็บฟีด (Web Feeder) หรืออาร์เอสเอสฟีดเดอร์ (RSS Feeder) 

ตัวย่อต่าง ๆ ที่ใช้อ้างถึงมาตรฐานนี้ :
- Rich Site Summary (RSS 0.91)
- RDF Site Summary (RSS 0.9 และ 1.0)
- Really Simple Syndication (RSS 2.0)
เทคโนโลยีของอาร์เอสเอสทำให้คุณสามารถรับข่าวสารจากเว็บไซต์ที่ให้บริการข้อมูลข่าวสารในรูปแบบอาร์เอสเอส ซึ่งตามปกติแล้วเว็บไซต์เหล่านี้มีการเปลี่ยนแปลง และเพิ่มเติมเนื้อหาบ่อยๆ หากคุณต้องการใช้เทคโนโลยีนี้ คุณต้องติดตั้งโปรแกรมรวมกลุ่มข่าวสารไว้ด้วย (news aggregator หรือ RSS aggregator) โดยหลักการของโปรแกรมลักษณะนี้ก็คล้ายกับโปรแกรมรับอีเมลนั่นเอง หลังจากนั้นก็เพียงไปลงทะเบียนรับข่าวสารจากเว็บไซต์ต่างๆ ที่ให้บริการอาร์เอสเอส ซึ่งบริการเหล่านี้ไม่เสียค่าใช้จ่ายใดๆ แต่ข้อมูลที่ได้จะเป็นเพียงหัวข้อข่าว หรือรายละเอียดโดยย่อเท่านั้น ส่วนเนื้อหา หรือข้อความหลักของข่าวนั้น ก็จะมีลิงก์เชื่อมโยงไปให้อีกทีหนึ่ง
รูปแบบอาร์เอสเอสที่กระจายหัวข้อข่าว หรือเนื้อหาข่าวโดยย่อ พร้อมกับลิงก์เชื่อมโยงไปยังเนื้อหานั้นๆ รวมถึงรายละเอียดทางเทคนิคอื่นๆ ของของข่าวสารนั้น ผ่านรูปแบบข้อมูลเอ็กซ์เอ็มแอล เราเรียกรูปแบบในลักษณะนี้ว่าอาร์เอสเอสฟีด (RSS Feed), เว็บฟีด (WebFeed), อาร์เอสเอสสตรีม (RSS Stream), อาร์เอสเอสแชนแนล (RSS Channel) และประโยชน์ที่ตามมาก็คือ เราสามารถรู้ได้ว่าเว็บไซต์นั้นมีการเปลี่ยนแปลงข้อมูลใหม่หรือไม่ โดยใช้โปรแกรมรวมกลุ่มข่าวสารเป็นเครื่องมือคอยตรวจสอบให้ได้เรื่อยๆ ตามที่ต้องการ 

งานพัฒนาเกี่ยวกับอาร์เอสเอส 
test.htm ต.ย.เรียกข้อมูลผ่าน iframe หรือ jsscript 
rss20.xml (แฟ้ม ข่าวแบบ xml จาก rssthai.com) 
news.php 
rss.php (ทำงานได้) 
blog_rss.php (rss of wordpress)