วันเสาร์ที่ 3 พฤศจิกายน พ.ศ. 2555

//File:c002.cpp
//Program about c data types.
//Powered by Auncharee.
#include<stdio.h>
#include<conio.h>
int main(){
    printf("File:c002.cpp\n");
    printf("Program about c data types.\n");
    printf("Powered by Auncharee.\n");
    printf("......................\n");
   
    char a;
    unsigned char b;
    int c;
    unsigned int d;
    short e;
    unsigned short f;
    long g;
    unsigned long h;
    float i;
    double j;
    long double k;
   
    printf("Address of a is %p\n",&a);
    printf("Address of a is %p\n",&b);
    printf("Address of a is %p\n",&c);
    printf("Address of a is %p\n",&d);
    printf("Address of a is %p\n",&e);
    printf("Address of a is %p\n",&f);
    printf("Address of a is %p\n",&g);
    printf("Address of a is %p\n",&h);
    printf("Address of a is %p\n",&i);
    printf("Address of a is %p\n",&j);
    printf("Address of a is %p\n",&k);
   
    getch();
}

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

แบบทดสอบบทที่ 1 ความรู้ทั่วไปเกี่ยวกับโครงสร้างข้อมูล



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



2.อธิบายลักษณะสำคัญของ ข้อมูลคอมพิวเตอร์
ตอบ    ลักษณะที่สำคัญของคอมพิวเตอร์สามารถแบ่งออกได้  6   ประเภท คือ
         
1.  ความรวดเร็ว

         
2.  หน่วยความจำ

         
3.   การทำงานอัตโนนัติ
         
4.   การเก็บรักษาข้อมูลหรือโปรแกรม
         
5.   ความถูกต้องและความเชื่อถือได้
          6.  
การใช้งานได้หลาย ๆ ด้าน

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

4. อธิบายลักษณะสำคัญของโครงสร้างข้อมูลทางกายภาพ
ตอบ โครงสร้างข้อมูลทางกายภาพ ( Physical Data structure )ไม่มีการคำนวณ เป็นการเป็นการเปรียบเทียบ สามารถเห็นและจับต้องได้ ข้อมูลที่พบเห็นได้ทั่วไป เช่น ข้อมูลดิบ
-ข้อมูลเบื้องต้น ได้แก่ จำนวนเต็ม (จำนวนเต็มบวก,จำนวนเต็มลบ,จำนวนเต็มศูนย์) จำนวนจริง (มีจุดทศนิยม) และตัวอักขระ
-ข้อมูลโครงสร้าง ได้แก่ แถวลำดับ ระเบียนข้อมูล แฟ้มข้อมูล

5.อธิบายลักษณะสำคัญของโครงสร้างข้อมูลทางตรรกะ

ตอบ โครงสร้างข้อมูลทางตรรกะ ( Logical Data Structure) จะมีลักษณะเป็นข้อมูลเชิงจำนวน และได้มีการประมวลมาแล้ว
-ข้อมูลแบบเชิงเส้น บอกความสัมพันธ์ บอกความเกี่ยวโยง ได้แก่ ลิสต์ แสตก คิว สตริง
-ข้อมูลแบบไม่เชิงเส้น ได้แก่ ทรี กราฟ


6.อธิบายลักษณะสำคัญของ Pimitive Data Types
ตอบ  ชนิดข้อมูลที่ สามารถเก็บข้อมูลที่เป็นข้อมูลทั่วไปหรือข้อมูลพื้นฐาน ภาษาจาวาถูกออกแบบให้มีชนิดข้อมูลพื้นฐาน เนื่องจากผู้ออกแบบต้องการให้ผู้ที่สนใจภาษาจาวาและเคยเขียนโปรแกรมมาก่อน สามารถเข้าใจภาษาจาวาได้อย่างไม่ยากเย็นนัก
         - จำนวนเต็ม (Integer)
          - จำนวนทศนิยม (Floating point)
          - ข้อมูลบูลีน (Boolean)
          - จำนวนจริง (Real)
        - ข้อมูลอักขระ (Character)

7.อธิบายลักษณะสำคัญของ Structure Data Types

ตอบ    - แถวลำดับ (Array)
            - ระเบียนข้อมูล (Record)
            - แฟ้มข้อมูล (File)

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

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

ตอบ
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 ส่วน คือ ส่วนข้อมูลและส่วนปฏิบัติการ โดนภายในจะมีรายลเอียดการทำงานต่าง ๆ ประกอบด้วยโครงสร้างการจัดเก็บข้อมูลและอัลกอริทึม เมื่อใดที่เรียกใช้งานโครงสร้างนามธรรมในส่วนรายละเอียดการทำงานจะไม่ถูกเกี่ยวข้องหรือมีผลกระทบโดยถูกปิดบังไว้ จะเห็นว่าโครงสร้างข้อมูลซับซ้อนจะเป็นโครงสร้างข้อมูลนามธรรมที่ต้องมีส่วนการจัดเก็บข้อมูลและส่วนปฏิบัติการ

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

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

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

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


โครงสร้างข้อมูล (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) คือ หลายไฟล์ข้อมูลมารวมกัน เช่น ไฟล์ข้อมูลนักเรียนมารวมกันในงานทะเบียน แล้วรวมกับไฟล์การเงิน

  1. phrase "a picture is worth a thousand words" [2]p.1
  2. โครงสร้างข้อมูลพื้นฐาน ประกอบด้วยแบบของข้อมูลเบื้องต้น คือ 1)บิท(Binary) 2)อักขระ(Character) 3)ฟิลด์(Field) 4)เรคอร์ด(Record) 5)ไฟล์(File) 6)ฐานข้อมูล(Database) [4]p.12
  3. วิเคราะห์ปัญหา (Problem Analysis) คือ การแยกปัญหาใหญ่ออกเป็นส่วน เพื่อนำไปสู่การแก้ปัญหาแต่ละส่วน
  4. อัลกอริทึม (Algorithm) (มีความเป็นนามธรรมอยู่ในตัวเป็นธรรมชาติ)
    คือ กลุ่มของขั้นตอนหรือกฎเกณฑ์ที่จะนำพาไปสู่การแก้ปัญหา [3]p.37
    คือ ขั้นตอนวิธีที่ประกอ้บด้วยชุดคำสั่งเป็นขั้นเป็นตอนที่ชัดเจน และรับประกันว่าเมื่อได้ปฏิบัติถูกต้องตามขั้นตอนจนครบก็จะได้ผลลัพธ์ที่ถูกต้องตามต้องการ [3]p.37
    คือ รูปแบบของการกำหนดการทำงานอย่างเป็นขั้นตอน ซึ่งผ่านการวิเคราะห์และแยกแยะ เพื่อการแก้ปัญหาต่าง ๆ ตามลำดับขั้น อาจเลือกใช้ภาษาไทยหรือภาษาอังกฤษตามความถนัด เพื่อนำเสนอขั้นตอนของกิจกรรมก็ได้ [4]p.17
  5. รหัสเทียม หรือซูโดโค้ด (Pseudo Code)
    คือ รหัสจำลองที่ใช้เป็นตัวแทนของอัลกอริทึม โดยมีถ้อยคำหรือประโยคคำสั่งที่เขียนอยู่ในรูปแบบของภาษาอังกฤษที่ไม่ขึ้นกับภาษาคอมพิวเตอร์ใดภาษาหนึ่ง [3]p.37
    คือ การแสดงขั้นตอนวิธีการที่ใช้ภาษาเขียนที่เข้าใจได้ง่าย อาจใช้ภาษาไทยหรือภาษาอังกฤษก็ได้ขึ้นอยู่กับความสะดวกของผู้เขียนและกิจกรรมที่จะนำเสนอ มักใช้รูปแบบคล้ายประโยคภาษาอังกฤษเพื่ออธิบายรายละเอียดของอัลกอริทึม
  6. ผังงาน (Flowchart)
    คือ การแสดงขั้นตอนวิธีการที่ใช้สัญลักษณ์ที่เข้าใจได้ง่าย แต่ให้รายละเอียดได้น้อยกว่า
    คือ รูปภาพ (Image) หรือสัญลักษณ์(Symbol) ที่ใช้เขียนแทนขั้นตอน คำอธิบาย ข้อความ หรือคำพูด ที่ใช้ในอัลกอริทึม (Algorithm) เพราะการนำเสนอขั้นตอนของงานให้เข้าใจตรงกัน ระหว่างผู้เกี่ยวข้อง ด้วยคำพูด หรือข้อความ ทำได้ยากกว่า [#]
  7. การโปรแกรมโครงสร้าง (Structured Programming) คือ การกำหนดขั้นตอนให้เครื่องคอมพิวเตอร์ทำงานโดยมีโครงสร้างการควบคุมพื้นฐาน 3 หลักการ ได้แก่ 1)การทำงานแบบตามลำดับ(Sequence) 2)การเลือกกระทำตามเงื่อนไข(Decision หรือ Selection) และ 3)การทำงานแบบทำงานซ้ำ (Repetition หรือ Iteration หรือ Loop) #
  8. อาร์เรย์ (Array)
    คือ ชุดของข้อมูลในชื่อเดียวกันที่มีได้หลายสมาชิก โดยสมาชิกถูกจัดเรียงเป็นลำดับ และมีรูปแบบเป็นแบบใดแบบหนึ่ง
    คือ การรวมกลุ่มของตัวแปรที่สามารถใช้ตัวแปรชื่อเดียวกันแทนข้อมูลสมาชิกได้หลาย ๆ ตัวในคราวเดียวกัน ด้วยการใช้เลขดรรชนี (Index) หรือซับสคริปต์ (Subscript) เป็นตัวอ้างอิงตำแหน่งสมาชิกบนแถวลำดับนั้น ๆ [3]p.80
  9. โอเปอเรชั่น (Operation) คือ การกระทำที่สามารถทำกับโครงสร้างนั้น เช่น โอเปอเรชั่นของอาร์เรย์ ได้แก่ 1)การท่องเข้าไป (Traversal) 2)การค้นหาข้อมูลที่ต้องการ(Searching) 3)การแทรกข้อมูลใหม่(Insertion) 4)การลบข้อมูล (Deletion) 5)การเรียงกลับหลัง(Reversing) 6)การเรียงลำดับ(Sorting) [1]p.14
  10. นามธรรม (Abstract) คือ เป็นแนวทางพื้นฐานของมนุษย์ที่ใช้จัดการกับความซับซ้อน (Grady Booch) [3]p.41 โดยเรื่องราวของนวนิยายเป็นจินตนาการในหัวของผู้เขียนถือเป็นนามธรรม เมื่อถ่ายทอดผ่านตัวแทน (Representation) ทางหนังสือด้วยภาษาต่าง ๆ ก็จะออกมาเป็นรูปธรรม ดังนั้นการเขียนโปรแกรมต้องเริ่มต้นด้วยนามธรรม หรือจินตนาการจัดการความซับซ้อนก่อนนำเสนอเป็นรูปธรรม เพื่อประมวลผล
  11. ชนิดข้อมูลนามธรรม (Abstract Data Type) คือ เครื่องมือกำหนดโครงสร้างข้อมูลที่ประกอบด้วยชนิดของโครงสร้างข้อมูล รูปแบบการดำเนินการ หรือแยกได้ 3 ส่วนคือ รูปแบบข้อมูล (Element) โครงสร้าง (Structure) และ การดำเนินการ (Operations) [4]p.25
  12. โปรแกรม (Program) คือ ตัวแทนของอัลกอริทึม
  13. โปรเซส (Process) คือ กิจกรรมที่ประมวลผลตามขั้นตอนของอัลกอริทึม





อ้างอิง : http://wmcdatastructure.blogspot.com/p/blog-page_4624.html