ARRAY ข้อมูลชนิดอาร์เรย์ SCC : Suthida Chaichomchuen std@kmitnb.ac.th
ความหมาย อาร์เรย์ คือ ข้อมูลที่ประกอบไปด้วยรายการชนิดข้อมูลเดียวกันจำนวนหนึ่ง แต่ละรายการเรียกว่า เซลล์ (Cell) และแต่ละเซลล์จะมี อินเด็กซ์ (Index) สำหรับใช้เพื่ออ้างถึงข้อมูล
ชนิดของอาร์เรย์ แบ่งได้เป็น 3 ชนิด อาร์เรย์ชนิด 1 มิติ (One-Dimensional) อาร์เรย์ชนิด 2 มิติ (Two-Dimensional) อาร์เรย์ชนิด 3 มิติ (Three-Dimensional)
อาร์เรย์ชนิด 1 มิติ มีลักษณะเป็นข้อมูล 1 ชุด เรียงลำดับกันเป็นแถวในแนวนอน
แผนภาพอาร์เรย์ชนิด 1 มิติ ข้อมูลคะแนนของนักเรียน 50 คน 56 87 65 79 S[1] S[2] S[3] S[50] VAR S : ARRAY[1..50] OF integer;
การประกาศตัวแปรอาร์เรย์ ใช้คำว่า ARRAY … OF VAR ชื่อตัวแปร : ARRAY[ค่าแรก..ค่าสุดท้าย] OF ชนิดข้อมูล;
ตัวอย่าง : การประกาศตัวแปรอาร์เรย์ VAR SName : ARRAY[1..50] OF string[20]; SAge : ARRAY[1..50] OF byte; SGpa : ARRAY[1..50] OF real;
การอ้างถึงแต่ละเซลล์ ให้เรียกชื่อตัวแปรอาร์เรย์นั้นแล้วตามด้วยหมายเลขอินเด็กซ์ที่ต้องการ ดังนี้ ชื่อตัวแปร [หมายเลขอินเด็กซ์] เช่น ต้องการเรียกใช้ตัวแปร S ลำดับที่ 25 ประกาศดังนี้ S[25]
ตัวอย่าง : การอ้างถึงแต่ละเซลล์ เช่น ข้อมูลคะแนนของนักเรียน 50 คน VAR S : ARRAY[1..50] OF integer; กำหนดค่าให้นักเรียนคนที่ 20 ได้คะแนน 75 ทำได้ดังนี้ S[20] := 75;
ตัวอย่าง : การอ้างถึงแต่ละเซลล์ แสดงค่าคะแนนของนักเรียนคนที่ 20 ทำได้ดังนี้ writeln(S[20]); รับค่าคะแนนของนักเรียนคนที่ 20 จากแป้นพิมพ์ทำได้ดังนี้ readln(S[20]);
ตัวอย่าง : การใช้ตัวแปรอาร์เรย์ PROGRAM StudentScore; USES WinCrt; VAR SScore : ARRAY[1..10] OF integer; I : integer; BEGIN FOR I:=1 TO 10 DO Write(I, ‘ Enter student score : ’); Readln(Sscore[I]); END; END.
อาร์เรย์ชนิด 2 มิติ มีลักษณะการเก็บข้อมูลเป็นตาราง คือ มีทั้งแถวและคอลัมน์
แผนภาพอาร์เรย์ชนิด 2 มิติ ข้อมูลคะแนนวิชาคณิตศาสตร์และภาษาไทยของนักเรียน 50 คน ลำดับที่ คณิตศาสตร์ ภาษาไทย 1 70 85 2 55 60 3 46 83 ... 49 40 70 50 56 45
การประกาศตัวแปรอาร์เรย์ชนิด 2 มิติ ใช้คำว่า ARRAY [index1, index2] OF VAR ชื่อตัวแปร : ARRAY[ค่าแรกของแถว..ค่า สุดท้ายของแถว, ค่าแรกของคอลัมน์..ค่า สุดท้ายของคอลัมน์] OF ชนิดข้อมูล;
ตัวอย่าง : อาร์เรย์ชนิด 2 มิติ ประกาศตัวแปร SScore เพื่อเก็บคะแนนของ นักศึกษา 50 คน จำนวน 2 วิชา VAR SScore : ARRAY[1..50,1..2] OF integer;
การอ้างถึงแต่ละเซลล์ ให้เรียกชื่อตัวแปรอาร์เรย์นั้นแล้วตามด้วยหมายเลขอินเด็กซ์ที่ 1 (แถว) และอินเด็กซ์ที่ 2 (คอลัมน์) ตามลำดับ ดังนี้ ชื่อตัวแปร [แถว, คอลัมน์] เช่น ต้องการเรียกใช้ตัวแปร SScore ของแถวที่ 25 คอลัมน์ที่ 1 ประกาศดังนี้ SScore[25,1]
อาร์เรย์ชนิด 3 มิติ มีลักษณะการเก็บข้อมูลเป็นหลายตารางซ้อนกัน เช่น ข้อมูลคะแนนวิชาคณิตศาสตร์และภาษาไทยของนักเรียน 2 ห้อง ห้องละ 50 คน
แผนภาพอาร์เรย์ชนิด 3 มิติ ลำดับที่ คณิตศาสตร์ ภาษาไทย 1 61 59 2 55 67 3 46 48 ... 49 40 55 50 56 72 1 70 85 2 55 60 3 46 83 49 40 70 50 56 45 ห้อง A ห้อง B
การประกาศตัวแปรอาร์เรย์ชนิด 3 มิติ ใช้คำว่า ARRAY [index1, index2, index3] OF VAR ชื่อตัวแปร : ARRAY[ค่าแรกของตาราง..ค่าสุดท้ายของตาราง, ค่าแรกของแถว.. ค่าสุดท้ายของแถว, ค่าแรกของคอลัมน์.. ค่าสุดท้ายของคอลัมน์] OF ชนิดข้อมูล;
ตัวอย่าง : อาร์เรย์ชนิด 3 มิติ ประกาศตัวแปร SScore เพื่อเก็บคะแนนของ นักศึกษา 2 ห้อง ห้องละ 50 คน จำนวน 2 วิชา VAR SScore : ARRAY[1..2,1..50,1..2] OF integer;
การอ้างถึงแต่ละเซลล์ ให้เรียกชื่อตัวแปรอาร์เรย์นั้นแล้วตามด้วยหมายเลขอินเด็กซ์ที่ 1 (ตาราง) อินเด็กซ์ที่ 2 (แถว) และอินเด็กซ์ที่ 3 (คอลัมน์) ตามลำดับ ดังนี้ ชื่อตัวแปร [ตาราง, แถว, คอลัมน์] เช่น ต้องการเรียกใช้ตัวแปร SScore ของตารางที่ 1 แถวที่ 25 คอลัมน์ที่ 1 ประกาศดังนี้ SScore[1,25,1]