User Tools

Site Tools


Sidebar


Introduction


Basic Tutorials


Advance Tutorials


Useful Techniques


Examples

  • Simple Pipe Weight Calculator
  • Unit Convertor

Sidebar

tutorial:array

This is an old revision of the document!


Arrays

Arrays คือ ตัวแปรที่มีลักษณะเป็นโครงสร้างของตัวแปรที่มีชนิดเดียวกันทั้งหมด

Static/Dynamic Arrays

โดยทั่วไป Array จะสามารถแยกได้เป็น 2 ชนิด คือ Static Array และ Dynamic Array รายละเอียดของแต่ละชนิดสามารถสรุปได้ตามนี้

Array Type การประกาศ (Declaration)
Static Array
const //Constant static array
  ArrC1:array[1..2] of integer = (10,20);
  ArrC2:array[1..2,1..3] of integer = 
             ((10,20,30),(40,50,60));
  ArrC3:array[1..2] of array[1..3] of integer = 
             ((10,20,30),(40,50,60));
var
  ArrX1:array[3..10] of real;
  ArrX2:array[1..2,1..3] of integer;
  ArrX3:array[1..2] of array[1..3] of integer;
  
Dynamic Array
var 
   ArrY1:array of real;
   ArrY2:array of array of real;
    
begin
    setlength(ArrY1,3); //Set array[0..2]
    setlength(ArrY2,3,5); //Set array[0..2,0..4]
end.


Array As Arguments

การส่งผ่าน Array เป็นตัวแปร สามารถทำได้โดยการประกาศ Array ใน Argument นั้นให้รับค่า Dynamic Array ดังนี้

Type TArrR:array of real; 
 
Procedure ShowItemArray(Arr:array of real);
Procedure ShowItemArray(Arr:TArrR);

หมายเหตุ-index ของ Array ที่ส่งผ่านเข้ามาใน Procedure/Function จะเริ่มจาก 0 เสมอตามรูปแบบของ Dynamic Array


Array Functions

มี Function ที่ใช้งานโดยการรับค่า Array เข้ามาเป็น Argument มากมาย สำหรับ Function ที่เราจะได้ใช้บ่อยๆ มีดังนี้

กำหนดให้

const 
Arr1:array[1..2] of integer = (10,20);
Arr2:array[5..8] of integer = (5,6,7,8);
Function Details
Low() - หาค่า index ของ Array ตัวแรกสุด
writeln(Low(Arr1)) // = 1
writeln(Low(Arr2)) // = 5
High() - หาค่า index ของ Array ตัวสุดท้าย
writeln(High(Arr1)) // = 2
writeln(High(Arr2)) // = 8
Length() - หาจำนวนสมาชิกของ Array
writeln(Length(Arr1)) // = 2
writeln(Length(Arr2)) // = 4


tutorial/array.1545791590.txt.gz · Last modified: 2018/12/26 09:33 by admin