วันอาทิตย์ที่ 11 กันยายน พ.ศ. 2559

โครงสร้างข้อมูลแบบอาเรย์

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

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

อาร์เรย์หนึ่งมิติ
อาร์เรย์หนึ่งมิติ (One-dimension Array) มีลักษณะที่ง่ายที่สุดเป็นตารางที่มีเพียงแถวเดียว บางครั้งก็เรียกว่าเว็กเตอร์ ดังในรูปที่ 2.1 เป็นอาร์เรย์หนึ่งมิติชื่อ Vec ที่ประกอบด้วยสมาชิก N ตัว

Vec(1)
Vec(2)
Vec(I)
Vec(N)
รูปที่ 2.1 ตัวอย่างเป็นอาร์เรย์หนึ่งมิติชื่อ Vec มีสมาชิก N ตัว

อาร์เรย์หนึ่งมิติจะมีดัชนีเพียงตัวเดียวใช้อ้างไปยังตำแหน่งของแต่ละสมาชิกในอาร์เรย์ซึ่งมีค่าเป็นลำดับ สมาชิกแต่ละตัวจะถูกแยกแยะตัวชื่ออาร์เรย์ตามด้วยดัชนีที่อยู่ในวงเล็บดังในรูป  ดังนั้น เมื่อต้องการใช้อาร์เรย์ก็เพียงแต่กำหนดชื่อและใช้ดัชนีอ้างไปยังแต่ละสมาชิก การเขียนอัลกอริทึมจึงใช้โครงสร้างควบคุมการทำงานแบบวนลูปเพื่อใช้ควบคุมสมาชิกแต่ละตัว
การกำหนดอาร์เรย์หนึ่งมิติ
การกำหนดอาร์เรย์หนึ่งมิติจะมีรูปแบบที่กำหนดไว้เป็นดังนี้
V(L:U) = { V(I) }
สำหรับ I = L,L+1,…,U-1,U ซึ่งสมาชิกแต่ละตัว V(I) จะมีโครงสร้างข้อมูล T หมายความว่าอาร์เรย์ V มีสมาชิกที่มีโครงสร้างข้อมูล T และมีดัชนีมีค่าเริ่มจาก L ไปสิ้นสุดที่ U จะได้ช่วงดัชนีจาก L ไป U เท่ากับ U-L+1 ถ้าหากให้อาร์เรย์ V(1:N) จะได้ช่วงดัชนีเท่ากับ N ในการกำหนดค่าให้กับ L อาจเป็น 0 หรือเป็นค่าติดลบได้ เช่น V(-5:5) และมีช่วงดัชนีเท่ากับ 5-(-5)+1 = 11

แบบทดสอบเรื่องอาเรย์
1.โปรแกรมใดที่จำเป็นต้องใช้ตัวแปรอาร์เรย์
  กโปรแกรมคำนวณหาพื้นที่รูปวงกลม
  ข. โปรแกรมคำนวณหาพื้นที่รูปวงกลม 20 วง
  โปรแกรมคำนวณหาพื้นที่และเส้นรอบวงของวงกลม
  ง. โปรแกรมหาพื้นที่วงกลมใดที่มีค่ามากที่สุดจาก 20 วง
2. ถ้าตัวแปร เป็นตัวแปรแบบอาร์เรย์แล้ว กลุ่มข้อมูลใดสามารถจัดเก็บตัวแปร ได้
  ก. 25 ,    60  ,    boy ,    T
  . A ,   B ,   C ,    D
  . Dog ,   cat  2.50
  . True ,   Somsri ,   10.25
3. จากโปรแกรมต่อไปนี้  Data  มีผลลัพธ์เป็นเท่าไร
         Program  Test  1
         Var Data : integer
         Begin
            Data : = 60;
            Data : = 20;
            Writeln (Data);
          End
  ก. 60
  . 20
  . 80
  . 40
4. ข้อใดต่อไปนี้ที่ผู้เขียนโปรแกรมควรกำหนดเป็นตัวแปรอาร์เรย์
  . I  เก็บค่านับรอบของลูป จำนวน 20 รอบ
  . Score เก็บค่าคะแนนนักศึกษา 20  คน
  ค. Mean เก็บคะแนนเฉลี่ยนักศึกษา 20 คน
  ง. Max เก็บคะแนนนักศึกษาที่มีคะแนนสูงสุดจาก 20 คน
5. ตัวแปรอาร์เรย์ต่างกับตัวแปรเดี่ยวอย่างไร
  ก. ตัวแปรอาร์เรย์เก็บค่าในฮาร์ดดิสก์ตัวแปรเดี่ยวเก็บค่าใน RAM
  ขตัวแปรอาร์เรย์เก็บค่าแบบ Numeric ตัวแปรเดี่ยวเก็บค่าแบบ String
  ตัวแปรอาร์เรย์เก็บค่าคงที่ ตัวแปรเดี่ยวเก็บค่าเปลี่ยนแปลงได้
  ง. ตัวแปรอาร์เรย์เก็บค่าได้หลายค่า  ตัวแปรข้อมูลเดี่ยวเก็บค่าได้เพียงค่าเดี่ยว
6. ประกาศตัวแปร A:array[1..20] of integer; ตัวแปรอาร์เรย์ชุดที่ประกาศนี้สามารถเก็บค่าได้ทั้งหมดกี่ค่า
  ก. 1 ค่า
  ข. 19 ค่า
  . 20 ค่า
  . 21 ค่า
7. J : Array [1..100, 1..5] of integer; ตัวแปรอาร์เรย์ ประกอบด้วยสมาชิกกี่ค่า
  ก. 5
  . 100
  ค. 50
  . 500
8. ข้อใดคือความหมายของโครงสร้างข้อมูลแบบอาร์เรย์
  กลุ่มข้อมูลที่มีค่าชนิดเดียวกัน
  ขกลุ่มข้อมูลที่เป็นตัวเลขเท่านั้น
  คกลุ่มข้อมูลที่มีความสัมพันธ์กัน
  ง. กลุ่มข้อมูลที่มีการลดความซ้ำซ้อน
9. ถ้าประกาศตัวแปรอาร์เรย์ดังนี้ Data : array [1…5] of integer; ข้อมูลใดไม่สามารถเก็บในอาร์เรย์ชุดนี้ได้
  ก. 500         20             40            25            2.5
  . 601         2                0             13           100
  . 1            0                0               0              1
  . 0            0                0                0              0
10. การประกาศตัวแปรอาร์เรย์เพื่อใช้งานต้องประกอบด้วยอะไรบ้าง
  ชื่ออาร์เรย์    ชนิดข้อมูล
  ขชื่ออาร์เรย์    ค่าสูงสุดและค่าต่ำสุด     ชนิดข้อมูล
  ชื่ออาร์เรย์    ค่าสูงสุดและค่าต่ำสุด     มิติของอาร์เรย์     ชนิดข้อมูล
  งชื่ออาร์เรย์    ค่าสูงสุดและค่าต่ำสุด     มิติของอาร์เรย์     ชนิดข้อมูล     จำนวนสมาชิก

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

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