วันศุกร์ที่ 26 ตุลาคม พ.ศ. 2555

แบบทดสอบ


 1.บอกความหมายของ ข้อมูลตามพจนานุกรมฉบับราชบัณฑิตยสถาน
      ข้อมูล หมายถึง ข้อเท็จจริงหรือสิ่งที่ถือหรือยอมรับว่าเป็นข้อเท็จจริง สำหรับใช้เป็นหลักอนุมานหาความจริงหรือการคำนวณ

 2. อธิบายลักษณะสำคัญของ ข้อมูลคอมพิวเตอร์
       ข้อมูลเป็นองค์ประกอบที่สำคัญอย่างหนึ่งในระบบคอมพิวเตอร์ เป็นสิ่งที่ต้องป้อนเข้าไปในคอมพิวเตอร์ พร้อมกับโปรแกรมที่นักคอมพิวเตอร์เขียนขึ้นเพื่อผลิตผลลัพธ์ที่ต้องการออกมา ข้อมูลที่สามารถนำมาใช้กับคอมพิวเตอร์ได้ มี  5 ประเภท คือ ข้อมูลตัวเลข (Numeric Data) ข้อมูลตัวอักษร (Text Data) ข้อมูลเสียง (Audio Data) ข้อมูลภาพ (Images Data) และข้อมูลภาพเคลื่อนไหว (Video Data)  

  3.  อธิบายความหมายของโครงสร้างข้อมูล
       คือ รูปแบบของการจัดระเบียบของข้อมูล ซึ่งมีอยู่หลายรูปแบบ เช่น เขตข้อมูล(Field), แถวลำดับ(Array), ระเบียน(Record), ต้นไม้(Tree), ลิงค์ลิสต์(Link List) เป็นต้น

     โครงสร้างข้อมูล (Data Structure)

    - บิท (Bit) คือ ข้อมูลที่มีขนาดเล็กที่สุด เป็นข้อมูลที่เครื่องคอมพิวเตอร์เข้าใจ และใช้งานได้ ได้แก่ 0 หรือ 1 
    - ไบท์ (Byte) หรือ อักขระ (Character) คือ ตัวเลข หรือ ตัวอักษร หรือ สัญลักษณ์พิเศษ จำนวน 1 ตัว
    - ฟิลด์ (Field) หรือ เขตข้อมูล คือ ไบท์ หรือ อักขระตั้งแต่ 1 ตัวขึ้นไปรวมกันเป็นฟิลด์ เช่น เลขประจำตัว หรือ ชื่อพนักงาน
    - เรคคอร์ด (Record) หรือระเบียน คือ ฟิลด์ตั้งแต่ 1 ฟิลด์ขึ้นไป ที่มีความสัมพันธ์เกี่ยวข้องกันมารวมกัน
    - ไฟล์ (File) หรือ แฟ้มข้อมูล คือ หลายเรคคอร์ดมารวมกัน เช่น ข้อมูลที่อยู่นักเรียนมารวมกัน
    - ฐานข้อมูล (Database) คือ หลายไฟล์ข้อมูลมารวมกัน เช่น ไฟล์ข้อมูลนักเรียนมารวมกันในงานทะเบียน แล้วรวมกับไฟล์การเงิน

4.  อธิบายลักษณะสำคัญของโครงสร้างข้อมูลทางกายภาพ
         โครงสร้างข้อมูลทางกายภาพ (Physical data structures) เป็นโครงสร้างข้อมูลทั่วไปที่มีใช้ในภาษาคอมพิวเตอร์ ซึ่งแบ่งออกเป็นข้อมูล 2 ประเภทตามลักษณะข้อมูล 
   (1) ข้อมูลพื้นฐาน (primitive data types) 

   เป็นข้อมูลพื้นฐานซึ่งมีโครงสร้างข้อมูลไม่ซับซ้อนจะต้องมีในภาษาคอมพิวเตอร์ทุกภาษา ตัวอย่างของข้อมูลประเภทนี้ เช่น 
- จำนวนเต็ม (integer)
- จำนวนจริง (real)
- ตัวอักขระ (character)

(2) ข้อมูลโครงสร้าง (structured data types) 
    เป็นข้อมูลที่มีโครงสร้างสลับซับซ้อน เกิดจากการนำโครงสร้างข้อมูลเบื้องต้นมาประกอบกันเป็นโครงสร้างข้อมูลที่หลากหลายขึ้น ข้อมูลที่ใช้ในเครื่องคอมพิวเตอร์ยุคแรกเป็นข้อมูลเบื้องต้นเท่านั้น แต่ในปัจจุบันภาษาคอมพิวเตอร์เกือบทุกภาษามีข้อมูลโครงสร้างด้วยแทบทั้งสิ้น ตัวอย่างข้อมูลโครงสร้าง เช่น
- แถวลำดับ (array)
- เซต (set)
- ระเบียนข้อมูล (record)
- แฟ้มข้อมูล (file)


5. อธิบายลักษณะสำคัญของโครงสร้างข้อมูลทางตรรกะ
         โครงสร้างข้อมูลทางตรรกะ (logical data structures) เป็น โครงสร้างข้อมูลที่เกิดจากจินตนาการของผู้ใช้เพื่อใช้แก้ปัญหาในโปรแกรมที่สร้างขึ้น จำแนกได้เป็น 2 ประเภท

(1) โครงสร้างข้อมูลแบบเชิงเส้น (linear data structures) 
เป็นชนิดข้อมูลที่ความสัมพันธ์ของข้อมูลเรียงต่อเนื่องกัน โดยข้อมูลตัวที่ 2 อยู่ต่อจาก ข้อมูลตัวที่ 1 ข้อมูลตัวที่ 3 อยู่ต่อจากข้อมูลตัวที่ 2 และข้อมูลตัวที่ n อยู่ต่อจากข้อมูลตัวที่ n - 1 (ดูรายละเอียดเพิ่มเติมได้ในบทที่ 5) ตัวอย่างโครงสร้างข้อมูลแบบเชิงเส้น เช่น
- ลิสต์ (list)
- สแตก (stack) 
- คิว (queue)
- ดีคิว (deque)
- สตริง (string)

(2) โครงสร้างข้อมูลแบบไม่ใช่เชิงเส้น (non-linear data structures) 
เป็นชนิดข้อมูลที่ข้อมูลแต่ละตัวสามารถมีความสัมพันธ์กับข้อมูลอื่นได้หลายตัว 
ตัวอย่างโครงสร้างข้อมูลแบบไม่ใช่เชิงเส้น
- ทรี (tree)
- กราฟ (graph)


 6.  อธิบายลักษณะสำคัญของ Primitive Data Types
 (Primitive Data Type) หมายถึงชนิดข้อมูลที่สามารถเก็บข้อมูลที่เป็นข้อมูลทั่วไปหรือข้อมูลพื้นฐาน ภาษาจาวาถูกออกแบบให้มีชนิดข้อมูลพื้นฐาน เนื่องจากผู้ออกแบบต้องการให้ผู้ที่สนใจภาษาจาวาและเคยเขียนโปรแกรมมาก่อน สามารถเข้าใจภาษาจาวาได้อย่างไม่ยากเย็นนัก ชนิดข้อมูลพื้นฐานมี 4 ประเภทหลักๆดังนี้
  • ชนิดตัวเลขจำนวนเต็ม ใช้สำหรับเก็บข้อมูลที่เป็นเลขจำนวนเต็ม เช่น 1, 46 หรือ 7048 เป็นต้น
  • ชนิดตัวเลขทศนิยม ใช้สำหรับเก็บข้อมูลที่เป็นเลขจำนวนทศนิยม ดังนั้นข้อมูลชนิดนี้มีความละเอียดกว่าตัวเลขจำนวนเต็ม เช่น 12.4, 8.0, 9.33333 หรือ 24E5 เป็นต้น
  • ชนิดตัวอักษร ใช้สำหรับเก็บข้อมูลที่ตัวอักษร  หรือพยัญชนะหนึ่งตัว เช่นตัวอักษรเลข 4 ตัวอักษร A ตัวอักษรเลข 9 หรือตัวอักษร + เป็นต้น
  • ชนิดตรรกะ ใช้สำหรับเก็บข้อมูลที่เป็นความจริง หรือความเท็จ
7.   อธิบายลักษณะสำคัญของ Structure Data Types
    ข้อมูลโครงสร้าง (structured data types) เป็นข้อมูลที่มีโครงสร้างสลับซับซ้อน เกิดจากการนำโครงสร้างข้อมูลเบื้องต้นมาประกอบกันเป็นโครงสร้างข้อมูลที่หลากหลายขึ้น ข้อมูลที่ใช้ในเครื่องคอมพิวเตอร์ยุคแรกเป็นข้อมูลเบื้องต้นเท่านั้น แต่ในปัจจุบันภาษาคอมพิวเตอร์เกือบทุกภาษามีข้อมูลโครงสร้างด้วยแทบทั้งสิ้น

8.อธิบายลักษณะสำคัญของโครงสร้างข้อมูลแบบเชิงเส้น พร้อมยกตัวอย่าง
     โครงสร้างข้อมูลแบบเชิงเส้น (linear data structures) เป็นชนิดข้อมูลที่ความสัมพันธ์ของข้อมูลเรียงต่อเนื่องกัน โดยข้อมูลตัวที่ 2 อยู่ต่อจาก ข้อมูลตัวที่ 1 ข้อมูลตัวที่ 3 อยู่ต่อจากข้อมูลตัวที่ 2 และข้อมูลตัวที่ n อยู่ต่อจากข้อมูลตัวที่ n - 1 
ตัวอย่างโครงสร้างข้อมูลแบบเชิงเส้น 
- ลิสต์ (list)
- สแตก (stack)
- คิว (queue)
- ดีคิว (deque)
- สตริง (string)


9.   อธิบายลักษณะสำคัญของโครงสร้างข้อมูลแบบไม่เป็นเชิงเส้น พร้อมยกตัวอย่าง
            โครงสร้างข้อมูลแบบไม่ใช่เชิงเส้น (non-linear data structures) เป็นชนิดข้อมูลที่ข้อมูลแต่ละตัวสามารถมีความสัมพันธ์กับข้อมูลอื่นได้หลายตัว (ดูรายละเอียดเพิ่มเติมได้ในบทที่ 7) ตัวอย่างโครงสร้างข้อมูลแบบไม่ใช่เชิงเส้น  
                             - ทรี (tree)
                             - กราฟ (graph)


    10.   เขียนผังแสดงการจัดหมวดหมู่โครงสร้างข้อมูลคอมพิวเตอร์ พร้อมอธิบาย


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


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













วันจันทร์ที่ 22 ตุลาคม พ.ศ. 2555

โครงสร้างข้อมูล

ข้อมูล  หมายถึง
       ข้อเท็จจริงหรือสิ่งที่ถือหรือยอมรับว่าเป็นข้อเท็จจริง สำหรับใช้เป็นหลักอนุมานหาความจริงหรือการคำนวณ

 ข้อมูลคอมพิวเตอร์ หมายถึ
      คำว่าข้อมูล (Data) ในทางทางคอมพิวเตอร์ หมายถึงกลุ่มอักขระ(Character) ที่นำมารวมกันแล้วมีความหมายอย่างใดอย่างหนึ่งอาจจะหมายถึง คำ (Word) ข้อความ (Message) ที่กล่าวถึงสิ่งใดสิ่งหนึ่ง โดยที่ข้อความนั้นอาจเป็นตัวเลข (Numeric) สัญลักษณ์ (Symbol) หรืออื่นๆ ที่สามารถนำไปประมวลผล (Process) ด้วยคอมพิวเตอร์ได้ 



โครงสร้างข้อมูลคืออะไร

โครงสร้างข้อมูล (Data Structure) คืออะไร
      คือ รูปแบบของการจัดระเบียบของข้อมูล ซึ่งมีอยู่หลายรูปแบบ เช่น เขตข้อมูล(Field), แถวลำดับ(Array), ระเบียน(Record), ต้นไม้(Tree), ลิงค์ลิสต์(Link List) เป็นต้น (ทักษิณา สวนานนท์, 2544, หน้า 161) [4]p.12
คือ รูปแบบวิธีการจัดระเบียบของข้อมูลที่ได้จากการดำเนินการทางคณิตศาสตร์(Operations) เพื่อให้สามารถจัดการกับข้อมูลที่ใช้กับระบบคอมพิวเตอร์ได้ [4]p.12คือ การรวบรวมข้อมูลเป็นกลุ่มอย่างมีรูปแบบ เพื่อให้การนำข้อมูลกลับมาใช้ หรือประมวลผลอย่างมีประสิทธิภาพ ด้วยขั้นตอนวิธีที่หลากหลาย แล้วนำเสนอได้อย่างถูกต้องรวดเร็วตามลักษณะงานที่ต้องการคือ การนำกลุ่มของข้อมูลขนาดใหญ่มาจัดรูปแบบ เพื่อให้เครื่องประมวลผลและแสดงผลอย่างมีขั้นตอน โดยเริ่มจากการรวบรวม เพิ่ม ลบ หรือเข้าถึงข้อมูลแต่ละรายการ




โครงสร้างข้อมูล (Data Structure)
บิท (Bit) คือ ข้อมูลที่มีขนาดเล็กที่สุด เป็นข้อมูลที่เครื่องคอมพิวเตอร์เข้าใจ และใช้งานได้ ได้แก่ 0 หรือ 1
ไบท์ (Byte) หรือ อักขระ (Character) คือ ตัวเลข หรือ ตัวอักษร หรือ สัญลักษณ์พิเศษ จำนวน 1 ตัว
ฟิลด์ (Field) หรือ เขตข้อมูล คือ ไบท์ หรือ อักขระตั้งแต่ 1 ตัวขึ้นไปรวมกันเป็นฟิลด์ เช่น เลขประจำตัว หรือ ชื่อพนักงาน
เรคคอร์ด (Record) หรือระเบียน คือ ฟิลด์ตั้งแต่ 1 ฟิลด์ขึ้นไป ที่มีความสัมพันธ์เกี่ยวข้องกันมารวมกัน
ไฟล์ (File) หรือ แฟ้มข้อมูล คือ หลายเรคคอร์ดมารวมกัน เช่น ข้อมูลที่อยู่นักเรียนมารวมกัน
ฐานข้อมูล (Database) คือ หลายไฟล์ข้อมูลมารวมกัน เช่น ไฟล์ข้อมูลนักเรียนมารวมกันในงานทะเบียน แล้วรวมกับไฟล์การเงิน


  • phrase "a picture is worth a thousand words" [2]p.1
  • โครงสร้างข้อมูลพื้นฐาน ประกอบด้วยแบบของข้อมูลเบื้องต้น คือ 1)บิท(Binary) 2)อักขระ(Character) 3)ฟิลด์(Field) 4)เรคอร์ด(Record) 5)ไฟล์(File) 6)ฐานข้อมูล(Database) [4]p.12
  • วิเคราะห์ปัญหา (Problem Analysis) คือ การแยกปัญหาใหญ่ออกเป็นส่วน เพื่อนำไปสู่การแก้ปัญหาแต่ละส่วน
  • อัลกอริทึม (Algorithm) (มีความเป็นนามธรรมอยู่ในตัวเป็นธรรมชาติ)
    คือ กลุ่มของขั้นตอนหรือกฎเกณฑ์ที่จะนำพาไปสู่การแก้ปัญหา [3]p.37
    คือ ขั้นตอนวิธีที่ประกอ้บด้วยชุดคำสั่งเป็นขั้นเป็นตอนที่ชัดเจน และรับประกันว่าเมื่อได้ปฏิบัติถูกต้องตามขั้นตอนจนครบก็จะได้ผลลัพธ์ที่ถูกต้องตามต้องการ [3]p.37
    คือ รูปแบบของการกำหนดการทำงานอย่างเป็นขั้นตอน ซึ่งผ่านการวิเคราะห์และแยกแยะ เพื่อการแก้ปัญหาต่าง ๆ ตามลำดับขั้น อาจเลือกใช้ภาษาไทยหรือภาษาอังกฤษตามความถนัด เพื่อนำเสนอขั้นตอนของกิจกรรมก็ได้ [4]p.17

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

  • ผังงาน (Flowchart)
    คือ การแสดงขั้นตอนวิธีการที่ใช้สัญลักษณ์ที่เข้าใจได้ง่าย แต่ให้รายละเอียดได้น้อยกว่า
    คือ รูปภาพ (Image) หรือสัญลักษณ์(Symbol) ที่ใช้เขียนแทนขั้นตอน คำอธิบาย ข้อความ หรือคำพูด ที่ใช้ในอัลกอริทึม (Algorithm) เพราะการนำเสนอขั้นตอนของงานให้เข้าใจตรงกัน ระหว่างผู้เกี่ยวข้อง ด้วยคำพูด หรือข้อความ ทำได้ยากกว่า [#]

  • การโปรแกรมโครงสร้าง (Structured Programming) คือ การกำหนดขั้นตอนให้เครื่องคอมพิวเตอร์ทำงานโดยมีโครงสร้างการควบคุมพื้นฐาน 3 หลักการ ได้แก่ 1)การทำงานแบบตามลำดับ(Sequence) 2)การเลือกกระทำตามเงื่อนไข(Decision หรือ Selection) และ 3)การทำงานแบบทำงานซ้ำ (Repetition หรือ Iteration หรือ Loop) #
  • อาร์เรย์ (Array)
    คือ ชุดของข้อมูลในชื่อเดียวกันที่มีได้หลายสมาชิก โดยสมาชิกถูกจัดเรียงเป็นลำดับ และมีรูปแบบเป็นแบบใดแบบหนึ่ง
    คือ การรวมกลุ่มของตัวแปรที่สามารถใช้ตัวแปรชื่อเดียวกันแทนข้อมูลสมาชิกได้หลาย ๆ ตัวในคราวเดียวกัน ด้วยการใช้เลขดรรชนี (Index) หรือซับสคริปต์ (Subscript) เป็นตัวอ้างอิงตำแหน่งสมาชิกบนแถวลำดับนั้น ๆ [3]p.80

  • โอเปอเรชั่น (Operation) คือ การกระทำที่สามารถทำกับโครงสร้างนั้น เช่น โอเปอเรชั่นของอาร์เรย์ ได้แก่ 1)การท่องเข้าไป (Traversal) 2)การค้นหาข้อมูลที่ต้องการ(Searching) 3)การแทรกข้อมูลใหม่(Insertion) 4)การลบข้อมูล (Deletion) 5)การเรียงกลับหลัง(Reversing) 6)การเรียงลำดับ(Sorting) [1]p.14
  • นามธรรม (Abstract) คือ เป็นแนวทางพื้นฐานของมนุษย์ที่ใช้จัดการกับความซับซ้อน (Grady Booch) [3]p.41 โดยเรื่องราวของนวนิยายเป็นจินตนาการในหัวของผู้เขียนถือเป็นนามธรรม เมื่อถ่ายทอดผ่านตัวแทน (Representation) ทางหนังสือด้วยภาษาต่าง ๆ ก็จะออกมาเป็นรูปธรรม ดังนั้นการเขียนโปรแกรมต้องเริ่มต้นด้วยนามธรรม หรือจินตนาการจัดการความซับซ้อนก่อนนำเสนอเป็นรูปธรรม เพื่อประมวลผล
  • ชนิดข้อมูลนามธรรม (Abstract Data Type) คือ เครื่องมือกำหนดโครงสร้างข้อมูลที่ประกอบด้วยชนิดของโครงสร้างข้อมูล รูปแบบการดำเนินการ หรือแยกได้ 3 ส่วนคือ รูปแบบข้อมูล (Element) โครงสร้าง (Structure) และ การดำเนินการ (Operations) [4]p.25
  • โปรแกรม (Program) คือ ตัวแทนของอัลกอริทึม
  • โปรเซส (Process) คือ กิจกรรมที่ประมวลผลตามขั้นตอนของอัลกอริทึม

  • วันศุกร์ที่ 19 ตุลาคม พ.ศ. 2555

    โครงสร้างข้อมูลและอัลกอริทึม


                                                     
     บทที่ 1 พื้นฐานโครงสร้างข้อมูล 

                คอมพิวเตอร์เป็นอุปกรณ์ที่สร้างขึ้นมาเพื่อใช้จัดการและเปลี่ยนแปลงข้อมูลข่าวสาร (Information) ดังนั้น จึงต้องมีการศึกษาถึงการควบคุมดูแลการทำงานของคอมพิวเตอร์ที่ยุ่งเกี่ยวกับข้อมูลข่าวสาร เมื่อมีการเปลี่ยนแปลงแก้ไขหรือเพื่ออำนวยประโยชน์ที่ต้องการการทำงานเพื่อนแก้ไขปัญหาต่าง ๆ ด้วยระบบคอมพิวเตอร์จะประกอบด้วยส่วนต่าง ๆ ทางด้านฮาร์ดแวร์ (Hardware) เช่น ซีพียู (CPU) หน่วยความจำ (Memory) อุปกรณ์รับส่งข้อมูล(Input/Output Device)และซอฟแวร์(Software)ที่นำมาใช้ควบคุมการทำงานของฮาร์ดแวร์ เพื่อแก้ไขปัญหานั้น ๆ ในการแก้ไขปัญหาจึงต้องมีกระบวนการพัฒนาซอฟต์แวร์ (Software Development) ที่เป็นขั้นตอนมาใช้ดังนี้

    ขั้นตอนการพัฒนาซอฟแวร์

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


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


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


    การเขียนคำสั่งและรวมกัน
            การเขียนคำสั่ง (Coding) คือ การเขียนคำสั่งต่าง ๆ ของโปรแกรมให้ทำงานเป็นไปตามโครงสร้างข้อมูลและอัลกอริทึมด้วยภาษาเขียน โปรแกรมภาหนึ่ง ถ้าโครงสร้างข้อมูลและอัลกอริทึมถูกออกแบบไว้เป็นอย่างดีทำให้กระบวนการแปลง คำสั่งจากภาษาเขียนให้เป็นภาษาเครื่องก็จะง่ายไม่ยุ่งยากลำบาก
            การรวมกัน (Integration) เป็นกระบวนการนำคำสั่งต่าง ๆ ที่เขียนเป็นแต่ละชุดคำสั่งมารวมกันและให้มีการทำงานร่วมกันได้เป็นซอฟต์แวร์โปรแกรมขึ้นมา
            การเขียนโปรแกรมที่ดีนั้นจะต้องมีความถูกต้องในการทำงาน สามารถอ่านคำสั่งและทำความเข้าใจได้ง่าย จึงต้องมีโครงสร้างการเขียนโปรแกรมที่ดี ซึ่งมีวิธีการเข้ามาช่วยเหลือในการเขียนโดยพิจารณาได้จากเรื่องต่อไปนี้
            1. การเขียนโปรแกรมควรเป็นแบบบนลงล่าง (Top-Down) โดยเฉพาะกับปัญหาที่มีขนาดใหญ่หรือมีความซับซ้อน จึงควรแยกปัญหาใหญ่ออกเป็นปัญหาย่อย ๆ จากการเขียนคำสั่งทั้งหมดในโปรแกรม ก็แยกเป็นชุดคำสั่งย่อย ๆ
            2. ใช้โครงสร้างควบคุมการทำงาน (Control Structure) ในการเขียนโปรแกรมหรือชุดคำสั่ง เช่น การใช้เงื่อนไข IF การใช้วนลูปแบบต่าง ๆ
            3. ควรใช้ตัวแปรที่เป็นแบบโลคอล (Local Variable) และใช้กับชุดคำสั่งเพื่อแก้ปัญหาย่อย
            4. ควรใช้ตัวแปรพารามิเตอร์ (Parameter)  กับชุดคำสั่งเพื่อแก้ไขปัญหาย่อย หลีกเลี่ยงที่จะใช้ตัวแปรที่เป็นแบบโกลบอล และตัวพารามิเตอร์ควรมีการป้องกันหากมีการแก้ไขค่า
            5. นำตัวแปรค่าคงที่ ( Constant Variable) มาใช้ จะช่วยให้การเขียนโปรแกรมมีความยืดหยุ่นมากขึ้นและอ่านเข้าใจง่าย
            6. การเขียนโปรแกรมควรมีการจัดพื้นที่หรือบรรทัดว่างเพื่อให้อ่านสะดวก มีการย่อหน้าเพื่อจัดระดับของคำสั่งและมีลักษณะที่เป็นกรอบ



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

    บิต (Bit)
                เป็นหน่วยที่เล็กที่สุดในการทำงานของคอมพิวเตอร์ที่แสดงเป็นสถานะได้ 2 สถานะ คือ เปิดกับปิด จึงกำหนดเป็นการเก็บค่าได้ 2 ค่า คือ 0 กับ 1 เรียกว่าไบนารี่ดิจิต (Binary Digit)


    ไบต์ (Byte)
                เป็นการนำบิตหลาย ๆ บิตมาเรียงต่อรวมกันเพื่อกำหนดค่าได้มากขึ้น เช่น 3 บิต มาต่อเรียงกันจะทำให้เกิดสถานะที่ต่างกันคือ 000,001,010,100,011,010, และ 111 ก็จะได้เป็น 8 สถานะ เมื่อนำบิตมาเรียงต่อรวมกันเป็น 8 บิต เรียกว่าไบต์ มี 256 สถานะ และกำหนดเป็นโครงสร้างข้อมูลที่มีขนาดเล็กที่สุดที่ใช้งานได้ มีค่าตั้งแต่ 0 – 255 (00000000 – 11111111

    )
    เลขจำนวนเต็ม (Integer)
                เป็นการนำบิตหลาย ๆ บิตมาเรียงต่อรวมกันเพื่อกำหนดเป็นเลขจำนวนเต็ม ซึ่งได้เป็นระบบเลขฐานสอง โดยแต่ละบิตมีความหมายเป็นเลขยกกำลังสอง เช่น 20 = 1, 23 = 8 หรือ
    21 + 22 +25 = 2+4+32 = 38 เลขที่ได้เป็นเลขจำนวนเต็มบวก ถ้าต้องการเป็นเลขจำนวนเต็มลบ จะต้องใช้วิธีการเรียกว่า One-complement Notation โดยการเปลี่ยนค่าของบิตที่เป็น 0 ให้เป็น 1 และค่าที่เป็น 1 ให้เป็น 0 เช่น 00100110 = 38 เมื่อสลับค่าจะได้บิต 11011001 = -38 ด้วยวิธีนี้ทำให้เก็บค่าได้ทั้งเลขจำนวนเต็มบวกและเต็มลบ ซึ่งมีบิตซ้ายสุดเป็นตัวกำหนดให้มีค่าบวกหรือลบเรียกว่า Sign Bit เมื่อนำบิตมาเรียงต่อกัน 16 บิตได้เป็นเลขจำนวนเต็มฐานสิบ มีอีกวิธีคือ Two-complement Notation โดยการบวกค่า 1 เข้าไปกับค่าของ One-complement Notation  เช่นจาก 11011001 = -38 เมื่อบวก 1 จะได้ 11011010 = -38 เช่นกัน


    เลขจำนวนจริง (Real Number)
                เป็นรูปแบบของตัวเลขที่มีเลขทศนิยมเรียกว่า Floating – point Number โดยทำการแบ่งบิตออกเป็นสองส่วน โดยบิตที่อยู่ด้านซ้ายเก็บค่าเป็นตัวเลขจำนวนเต็ม เรียกว่า แมนทิสสา (Mantissa) การเก็บค่าเป็นแบบเดียวกับตัวเลขจำนวนเต็ม ส่วนบิตที่อยู่ด้านขวาเก็บค้าเป็นจำนวนหลักของ เลขทศนิยมเรียกว่า เอ็กซ์โพเนนท์ (Exponent) ในการเก็บจะใช้วิธี Two – complement Notation ซึ่งได้มาจากเลขยกกำลังของ 10 เช่น .01 = 10-2, 6.25 x 10-2 การเก็บค่าเลขทศนิยมจะใช้บิตจำนวน 32 บิต โดยแบ่งส่วนที่เป็นแมนทิสสาจำนวน 24 บิต และส่วนที่เป็นเอ็กซ์โพเนนท์จำนวน 8 บิต


    ตัวอักษร (Character)
              เป็นการเก็บค่าที่เป็นตัวอักษร แต่เนื่องจากคอมพิวเตอร์ไม่สามารถเข้าใจจึงใช้เลขจำนวนเต็มสื่อความหมายแทนโดยใช้บิตจำนวน 8 บิต เรียกว่า Bit String ซึ่งค่าตัวเลขที่ได้จะกำหนดเป็นตัวอกษรหนึ่งตัว ดังนั้นจะได้ตัวอักษรทั้งหมด 256 ตัวที่เรียกว่าเอ็บซีดิก (EBCDIC) เช่น
     ตัวอักษรA จะมีค่า 01000001 = 65 หรือ B มีค่า 01000010 = 66 ประกอบด้วยอักษรตัวเล็ก ตัวใหญ่ ตัวเลข และตัวอักษรพิเศษ และที่ใช้เพียง 7 บิตเรียกว่าวหัสแอสกี (ASCII Code) ใช้ครึ่งเดียวของเอ็บซีดิกแต่การทำงานรวดเร็วกว่า เมื่อใดที่นำตัวอักษรหลาย ๆ ตัวมาเรียงต่อกันก็จะได้เป็นข้อความ เช่น AB จะได้เป็น 0100000101000010 หากต้องการเก็บจำนวนรูปแบบของตัวอักษรมากกว่านี้ก็สามารถทำได้โดยการเพิ่มจำนวนบิตเข้าไป ซึ่งขึ้นกับสถาปัตยกรรมของคอมพิวเตอร์จะรับได้หรือไม่ เช่นใช้ 10 บิตก็จะได้ตัวอักษร 1024 รูปแบบ



                           ประเภทของโครงสร้างข้อมูล

            1. โครงสร้างข้อมูลเบื้องต้น (Primitive Data Structure) เป็นชนิดข้อมูลที่ไม่มีโครงสร้างข้อมูลอื่นมาเป็นส่วนประกอย เมื่อต้องการเก็บค่าสามารถเรียกใช้งานได้ทันที บางครั้งเรียกว่าชนิดข้อมูลพื้นฐาน (Base Type) หรือสร้างมาให้ใช้ด้วยภาษานั้น ๆ
            ส่วน โครงสร้างข้อมูลแบบอื่น ๆ จะมีโครงสร้างข้อมูลอื่นเป็นส่วนประกอบ เมื่อต้องการใช้จะต้องกำหนดรูปแบบรายละเอียดโครงสร้างขึ้นมาก่อนเรียกว่า ข้อมูลชนิดผู้ใช้กำหนด
    (Uses-defined Type) ดังนี้ 


            2. โครงสร้างข้อมูลแบบเรียบง่าย (Simple Data Structure) จะมีสมาชิกที่เป็นโครงสร้างข้อมูลอื่นเป็นส่วนประกอบ มีรูปแบบง่าย ๆ ไม่ซับซ้อน สามารถทำความเข้าใจและสร้างขึ้นมาใช้งานได้ง่าย 


            3. โครงสร้างข้อมูลเชิงเส้น (Linear Data Structure) เป็นโครงสร้างที่ความซับซ้อนมากขึ้น ประกอบด้วยสมาชิกที่เป็นโครงสร้างข้อมูลอื่นจัดเรียงต่อกันเป็นแนวเส้น
           
            4. โครงสร้างข้อมูลไม่เป็นเชิงเส้น (Nonlinear Data Structure) เป็นโครงสร้างที่มีความซับซ้อนเช่นกัน ประกอบด้วยสมาชิกที่เป็นโครงสร้างข้อมูลอื่นจัดเรียงกันในรูปแบบไบนารี่ ที่จัดเรียงสมาชิกมีการแยกออกเป็นสองทาง และแบบ N- อาร์เรย์ ที่จัดเรียงสมาชิกมีการแยกออกได้หลายทางหลายรูปแบบไม่แน่นอน 


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



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

    วันพฤหัสบดีที่ 27 ตุลาคม พ.ศ. 2554

    ซอฟต์แวร์คอมพิวเตอร์

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

    ชนิดของซอฟต์แวร์


    ในบรรดาซอฟต์แวร์หรือโปรแกรมคอมพิวเตอร์ที่มีผู้พัฒนาขึ้นเพื่อใช้งานกับคอมพิวเตอร์มีมากมาย ซอฟต์แวร์เหล่านี้อาจได้รับการพัฒนาโดยผู้ใช้งานเอง หรือผู้พัฒนาระบบ หรือผู้ผลิตจำหน่าย หากแบ่งแยกชนิดของซอฟต์แวร์ตามสภาพการทำงาน พอแบ่งแยกซอฟต์แวร์ได้เป็นสองประเภท คือ ซอฟต์แวร์ระบบ (system software) และซอฟต์แวร์ประยุกต์ (application software)
    • ซอฟต์แวร์ระบบ คือซอฟต์แวร์ที่บริษัทผู้ผลิตสร้างขึ้นมาเพื่อใช้จัดการกับระบบ หน้าที่การทำงานของซอฟต์แวร์ระบบคือดำเนินงานพื้นฐานต่าง ๆ ของระบบคอมพิวเตอร์ เช่น รับข้อมูลจากแผงแป้นอักขระแล้วแปลความหมายให้คอมพิวเตอร์เข้าใจ นำข้อมูลไปแสดงผลบนจอภาพหรือนำออกไปยังเครื่องพิมพ์ จัดการข้อมูลในระบบแฟ้มข้อมูลบนหน่วยความจำรอง
    • เมื่อเราเปิดเครื่องคอมพิวเตอร์ ทันทีที่มีการจ่ายกระแสไฟฟ้าให้กับคอมพิวเตอร์ คอมพิวเตอร์จะทำงานตามโปรแกรมทันที โปรแกรมแรกที่สั่งคอมพิวเตอร์ทำงานนี้เป็นซอฟต์แวร์ระบบ ซอฟต์แวร์ระบบอาจเก็บไว้ในรอม หรือในแผ่นจานแม่เหล็ก หากไม่มีซอฟต์แวร์ระบบ คอมพิวเตอร์จะทำงานไม่ได้
      ซอฟต์แวร์ระบบยังใช้เป็นเครื่องมือในการพัฒนาซอฟต์แวร์อื่น ๆ และยังรวมไปถึงซอฟต์แวร์ที่ใช้ในการแปลภาษาต่าง ๆ
    • ซอฟต์แวร์ประยุกต์ เป็นซอฟต์แวร์ที่ใช้กับงานด้านต่าง ๆ ตามความต้องการของผู้ใช้ ที่สามารถนำมาใช้ประโยชน์ได้โดยตรง ปัจจุบันมีผู้พัฒนาซอฟต์แวร์ใช้งานทางด้านต่าง ๆ ออกจำหน่ายมาก การประยุกต์งานคอมพิวเตอร์จึงกว้างขวางและแพร่หลาย เราอาจแบ่งซอฟต์แวร์ประยุกต์ออกเป็นสองกลุ่มคือ ซอฟต์แวร์สำเร็จ และซอฟต์แวร์ที่พัฒนาขึ้นใช้งานเฉพาะ ซอฟต์แวร์สำเร็จในปัจจุบันมีมากมาย เช่น ซอฟต์แวร์ประมวลคำ ซอฟต์แวร์ตารางทำงาน ฯล

    ฮาร์ดแวร์คอมพิวเตอร์

     ฮาร์ดแวร์คอมพิวเตอร์

    ฮาร์ดแวร์คืออุปกรณ์และชิ้นส่วนของคอมพิวเตอร์ ที่มีวงจรไฟฟ้าอยู่ภายในเป็นส่วนใหญ่ และสามารถจับต้องได้ ตัวอย่างเช่น ซีพียู เมาส์ คีย์บอร์ด สแกนเนอร์ เครื่องพิมพ์ ลำโพง แผงเมนบอร์ดฮาร์ดดิสก์ ดิสก์ไดร์ฟ ซีดีรอม ดีวีดีรอม เป็นต้น
    หน่วยประมวลผลกลาง (CPU)
          หน่วยประมวลผลกลาง ( CPU : Central Processing Unit ) หรือมักจะเรียกอีกอย่างหนึ่งว่าไมโครโปรเซสเซอร์ มีหน้าที่ในการประมวลผลข้อมูล ในลักษณะของการคำนวณและเปรียบเทียบ โดยจะทำงานตามจังหวะเวลาที่แน่นอน เรียกว่าสัญญาณ Clock เมื่อมีการเคาะจังหวะหนึ่งครั้ง ก็จะเกิดกิจกรรม 1 ครั้ง เราเรียกหน่วย ที่ใช้ในการวัดความเร็วของซีพียูว่า “เฮิร์ท”(Herzt) หมายถึงการทำงานได้กี่ครั้งในจำนวน 1 วินาที เช่น ซีพียู Pentium4 มีความเร็ว 2.5 GHz หมายถึงทำงานเร็ว 2,500 ล้านครั้ง ในหนึ่งวินาที กรณีที่สัญญาณ Clock เร็วก็จะทำให้คอมพิวเตอร์เครื่องนั้น มีความเร็วสูงตามไปด้วย ซีพียูที่ทำงานเร็วมาก ราคาก็จะแพงขึ้นมากตามไปด้วย การเลือกซื้อจะต้องเลือกซื้อให้เหมาะสมกับงานที่ต้องการนำไปใช้ เช่นต้องการนำไปใช้งานกราฟิกส์ ที่มีการประมวลผลมาก จำเป็นที่จะต้องใช้เครื่องที่มีการประมวลผลได้เร็ว ส่วนการพิมพ์รายงานทั่วไปใช้เครื่องที่ความเร็ว 100 MHz ก็เพียงพอแล้ว

    หน่วยป้อนข้อมูล (Input Unit)
          หน่วยป้อนข้อมูล (Input Unit) ทำหน้าที่ในการป้อนข้อมูลเข้าสู่เครื่องคอมพิวเตอร์ อุปกรณ์ที่ทำหน้าที่ในการป้อนข้อมูล เข้าสู่เครื่องคอมพิวเตอร์ได้แก่ แป้นพิมพ์ สำหรับพิมพ์ตัวอักษรและอักขระต่าง ๆ เมาส์สำหรับคลิกสั่งงานโปรแกรม สแกนเนอร์สำหรับสแกนรูปภาพ จอยสติ๊ก สำหรับเล่นเกมส์ ไมโครโฟนสำหรับพูดอัดเสียง และกล้องดิจิตอลสำหรับถ่ายภาพ และนำเข้าไปเก็บไว้ ในดิสก์ของเครื่องคอมพิวเตอร์ เพื่อนำไปใช้งานต่อไป

    หน่วยแสดงผล (Output Unit)
          หน่วยแสดงผล (Output Unit) มีหน้าที่ในการแสดงผลข้อมูล ที่ผ่านการประมวลผลในรูปของ ข้อความ ภาพนิ่ง ภาพเคลื่อนไหวหรือ เสียง เป็นต้น อุปกรณ์ที่ทำหน้าที่ในการแสดงผลได้แก่ จอภาพ(Monitor) สำหรับแสดงตัวอักษรและรูปภาพ เครื่องพิมพ์ (Printer) สำหรับพิมพ์ข้อมูลที่อยู่ในเครื่อง ออกทางกระดาษพิมพ์ ลำโพง (Speaker) แสดงเสียงเพลงและคำพูด เป็นต้น

    หน่วยความจำ (Memory Unit)
          หน่วยความจำ (Memory Unit) มีหน้าที่ในการจำข้อมูล ให้กับเครื่องคอมพิวเตอร์ มีอยู่ 2 ชนิดคือ หน่วยความถาวร (ROM : Read Only Memory) เป็นหน่วยความจำที่สามารถจำข้อมูลได้ตลอดเวลา ส่วนหน่วยความจำอีกประเภทหนึ่งคือ หน่วยความจำชั่วคราว (RAM : Random Access Memory) หน่วยความจำประเภทนี้ จะจำข้อมูลได้เฉพาะช่วงที่มี การเปิดไฟเข้าเครื่องคอมพิวเตอร์เท่านั้น หน่วยความจำชั่วคราว ถือว่าเป็นหน่วยความจำหลักภายในเครื่อง สามารถซื้อมาติดตั้งเพิ่มเติมได้ เรียกกันทั่วไปคือหน่วยความจำแรม ที่ใช้ในปัจจุบันคือ แรมแบบ SDRAM , RDRAM เป็นต้น

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

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

    การทำงานของคอมพิวเตอร์

    การทำงานของคอมพิวเตอร์ประกอบด้วยหน่วยสำคัญ 5 หน่วย คือ
    • หน่วยรับข้อมูล (Input Unit)
    • หน่วยประมวลผลกลาง (Central Processing Unit : CPU)
    • หน่วยความจำหลัก (Main Memory)
    • หน่วยความจำสำรอง (Secondary Memory)
    • หน่วยแสดงผล (Output Unit)
              กลไกการทำงานของคอมพิวเตอร์ที่เกิดจากองค์ประกอบต่างๆ  เริ่มด้วยเมื่อมีการกดปุ่มเครื่องคอมพิวเตอร์  โปรแกรมหรือชุึดคำสั่งที่อยู่ในหน่วยความจำหลัก  จะทำการตรวจสอบอุปกรณ์ต่างๆ ให้พร้อมที่จะทำงาน  เมื่อตรวจสอบเสร็จคอมพิวเตอร์จะแสดงให้เห็นว่าพร้อมที่จะทำงาน  ก็จะมีการป้อนคำสั่งหรือโปรแกรมหรือข้อมูลโดยผ่านหน่วยรับข้อมูล  แล้วนำไปเก็บไว้ที่หน่วยความจำหลัก  ต่อจากนั้น หน่วยประมวลผลกลางก็จะทำการตามคำสั่งของโปรแกรมซึ่งเรียกว่า  การประมวลผล  แล้วนำผลลัพธ์ที่ได้เก็บไว้ที่ หน่วยความจำ  และจะแสดงผลลัพธ์ผ่านหน่วยแสดงผลเมื่อมีคำสั่งให้แสดงผลลัพธ์

    องค์ประกอบคอมพิวเตอร์

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

    1. หน่วยรับข้อมูล (Input Unit) คือ ส่วนที่นำข้อมูลเข้ามาหรือส่วนที่ใช้สำหรับสั่งคอมพิวเตอร์ให้ ทำงาน อุปกรณ์เหล่านี้ ได้แก่ คีย์บอร์ด เมาส์ เป็นต้น

    2. หน่วยประมวลผล (Process Unit) เป็นหัวใจของเครื่องคอมพิวเตอร์ที่ใช้ในการคำนวณและสั่งให้ส่วนอื่น ๆ ทำงาน ซึ่งเรามักจะรู้จักหน่วยประมวลผลในชื่อ ซีพียู (Central Processing Unit (CPU)
    CPU (ซีพียู)
    ซีพียู หรือ หน่วยประมวลผลกลาง คือ อุปกรณ์ที่ทำหน้าที่ในการคำนวณและประมวลผลต่าง ๆในเครื่องคอมพิวเตอร์ ในปัจจุบันมีมากมายหลายรุ่น หลายท่านคงจะสงสัยว่าเราควรจะมีวิธีในการเลือกซื้ออย่างไรบ้าง จึงขอเสนอแนะแนวทางการพิจารณาการเลือกซื้อหน่วยประมวลผลกลาง ดังนี้

    3. หน่วยแสดงผล (Output Unit) คือ ส่วนที่แสดงผลลัพธ์การทำงานของเครื่องคอมพิวเตอร์ ซึ่งส่วนใหญ่จะหมายถึง จอมอนิเตอร์ เครื่องพิมพ์