คนไม่เคยถูกรักของฟลุ๊ก The STar 5

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

DTS03-30/06/2009

อาเรย์ ตัวแปรชุด ( Array )

ตัว แปรแบบอาร์เรย์ (Array) หมายถึงตัวแปรซึ่งมีค่าได้หลายค่าโดยใช้ชื่ออ้างอิงเพียงชื่อเดียว ด้วยการใช้หมายเลขลำดับเป็นตัวจำแนกความแตกต่างของค่าตังแปรแต่ละตัว ถ้าเราจะเรียกตัวแปรชนิดนี้ว่า "ตัวแปรชุด" ก็เห็นจะไม่ผิดนัก ตัวแปรชนิดนี้มีประโยชน์มาก ลองคิดถึงค่าข้อมูลจำนวน 100 ค่า ที่ต้องการเก็บไว้ในตัวแปรจำนวน 100 ตัว อาจทำให้ต้องกำหนดตัวแปรที่แตกต่างกันมากถึง 100 ชื่อ กรณีอย่างนี้ควรจะทำอย่างไรดี
แต่ด้วยการใช้คุณสมบัติอาร์เรย์ เราสามารถนำตัวแปรหลาย ๆ ตัวมาอยู่รวมเป็ฯชุดเดียวกันได้ และสามารถเรียกใช้ตัวแปรทั้งหมดโดยระบุผ่านชื่อเพียงชื่อเดียวเท่านั้น ด้วยการระบุหมายเลขลำดับ หรือ ดัชนี(index) กำกับตามหลังชื่อตัวแปร ตัวแหรเพียงชื่อเดียวจึงมีความสามารถเทียบได้กับตัวแปรนับร้อยตัว พันตัว (ตัวที่ 1) ในตัวแปรแบบอาร์เรย์มีดัชนีเป็น 0 ส่วนตัวแปรต่อ ๆ ไปก็จะมีดัชนีเป็น 1,2,3,... ไปตามลำดับ เมื่อต้องการระบุชื่อตัวแปรแบบอาร์เรย์แต่ละตัว ก็จะใช้รูปแบบ name[0], name[1],... เรียงต่อกันไปเรื่อยๆ เราสามารถสร้างตัวแปรอาร์เรย์ใหม่ด้วย myArray = new Array() ดังนี้
 myArray[0] = 17;
myArray[1] = "Nun";
myArray[2] = "Stop";


อาร์เรย์มิติเดียวเป็นแบบของการอ้างอิงหรือการเข้าถึงสมาชิกตัวใดตัวหนึ่ง จะใช้สับสคริปต์เพียงตัวเดียว เช่น กำหนด A เป็นอาร์เรย์ 1 มิติ มีสมาชิกตั้งแต่
1 ถึง N จะได้สมาชิกของ A เป็น A[1],A[2],A[3],…,A[N] นั่นคือสมาชิกในตำแหน่งที่ I คือ A[I] เมื่อ I คือตัวบอกลำดับหรือสับสคริปต์

การกำหนดแบบข้อมูลแบบอาร์เรย์ 1 มิติ มีรูปแบบการกำหนดดังตัวอย่างต่อไปนี้

Type A : ARRAY [L..U] OF DATA_TYPE;

A คือ ชื่อของอาร์เรย์
L คือ ค่าซับสคริปต์ต่ำสุดของอาร์เรย์
U คือ ค่าซับสคริปต์สูงสุดของอาร์เรย์
DATA_TYPE คือ ชนิดของข้อมูลที่จัดเก็บในอาร์เรย์

เช่น Type A = Array [1..10] Of Integer;

ซึ่งมีความหมายว่า A เป็นข้อมูลแบบอาร์เรย์ใช้สับสคริปต์ตั้งแต่ เบอร์ 1 - 10และกำหนดไว้สำหรับรับข้อมูลแบบ Integer โดยเฉพาะ
ถ้าต้องการให้ตัวแปร S เป็นตัวแปรของข้อมูลแบบ A สามารถประกาศตัวแปร S ได้ดังนี้

Var S : A;

ซึ่งหมายความว่า ต่อไปนี้มีตัวแปร S เป็นตัวแปรอาร์เรย์มีสับสคริปต์ตั้งแต่เบอร์ 1 - 10 เก็บข้อมูลแบบ Integer และสามารถอ้างถึงตัวแปร S ได้ดังนี้ S[1], S[2], S[3],...,S[10]


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

รูปแบบของการกำหนดอาร์เรย์ 2 มิติ เป็นดังนี้

VAR A : ARRAY [L1..U1,L2..U2] OF DATA_TYPE;

A คือ ชื่อของอาร์เรย์
L1 คือ ค่าซับสคริปต์ต่ำสุดของแถวนอน
U1 คือ ค่าซับสคริปต์สูงสุดของแถวนอน
L2 คือ ค่าซับสคริปต์ต่ำสุดของแถวตั้ง (คอลัมน์)
U2 คือ ค่าซับสคริปต์สูงสุดของแถวตั้ง (คอลัมน์)
DATA_TYPE คือ ชนิดของข้อมูลที่จัดเก็บในอาร์เรย์

การกำหนดอาร์เรย์อาจจะกำหนดในหัวข้อ VAR หรือ TYPE เหมือนกับอาร์เรย์ 1 มิติ ตัวอย่างเช่น

VAR Student : ARRAY [1..4,1..6] OF INTEGER;

ในที่นี้เป็นการกำหนดอาร์เรย์ 2 มิติ ชื่อ STUDENT ซึ่งมีขนาดเท่ากับ 4 X 6นั้นคือจะมีจำนวนแถวในแนวนอน 4 แถว แถวในแนวตั้ง 6 แถว มีจำนวนตัวแปรอาร์เรย์ 24 ตัว

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

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