파스칼-배열
파스칼 프로그래밍 언어는 배열이라고하는 데이터 구조를 제공하며, 이는 동일한 유형의 요소의 고정 크기 순차 컬렉션을 저장할 수 있습니다. 배열은 데이터 모음을 저장하는 데 사용되지만 배열을 동일한 유형의 변수 모음으로 생각하는 것이 더 유용합니다.
number1, number2, ... 및 number100과 같은 개별 변수를 선언하는 대신 숫자와 같은 하나의 배열 변수를 선언하고 numbers [1], numbers [2] 및 ..., numbers [100]을 사용하여 개별 변수. 배열의 특정 요소는 인덱스로 액세스됩니다.
모든 어레이는 연속적인 메모리 위치로 구성됩니다. 가장 낮은 주소는 첫 번째 요소에 해당하고 가장 높은 주소는 마지막 요소에 해당합니다.
인덱스 0에서 시작하는 C 스타일 배열을 원하는 경우 인덱스를 1이 아닌 0에서 시작하면됩니다.
배열 선언
파스칼에서 배열을 선언하기 위해 프로그래머는 유형을 선언 한 다음 해당 배열의 변수를 생성하거나 배열 변수를 직접 선언 할 수 있습니다.
1 차원 배열 유형 선언의 일반적인 형식은 다음과 같습니다.
type
array-identifier = array[index-type] of element-type;
어디,
array-identifier − 배열 유형의 이름을 나타냅니다.
index-type− 배열의 첨자를 지정합니다. 실수를 제외한 모든 스칼라 데이터 유형이 될 수 있습니다.
element-type − 저장 될 값의 유형을 지정합니다.
예를 들면
type
vector = array [ 1..25] of real;
var
velocity: vector;
이제 속도는 최대 25 개의 실수를 수용하기에 충분한 벡터 유형의 가변 배열입니다.
0 인덱스에서 배열을 시작하려면 선언은 다음과 같습니다.
type
vector = array [ 0..24] of real;
var
velocity: vector;
배열 첨자의 유형
Pascal에서 배열 첨자는 실수를 제외하고 정수, 부울, 열거 형 또는 하위 범위와 같은 스칼라 유형일 수 있습니다. 배열 첨자도 음수 값을 가질 수 있습니다.
예를 들면
type
temperature = array [-10 .. 50] of real;
var
day_temp, night_temp: temperature;
아래 첨자가 문자 유형 인 또 다른 예를 들어 보겠습니다.
type
ch_array = array[char] of 1..26;
var
alphabet: ch_array;
아래 첨자는 열거 유형이 될 수 있습니다-
type
color = ( red, black, blue, silver, beige);
car_color = array of [color] of boolean;
var
car_body: car_color;
배열 초기화
Pascal에서 배열은 특정 첨자를 지정하거나 for-do 루프를 사용하여 할당을 통해 초기화됩니다.
예를 들면-
type
ch_array = array[char] of 1..26;
var
alphabet: ch_array;
c: char;
begin
...
for c:= 'A' to 'Z' do
alphabet[c] := ord[m];
(* the ord() function returns the ordinal values *)
배열 요소에 액세스
배열 이름을 인덱싱하여 요소에 액세스합니다. 이는 배열 이름 뒤에 대괄호 안에 요소의 인덱스를 배치하여 수행됩니다. 예를 들면-
a: integer;
a: = alphabet['A'];
위의 문은 alphabet이라는 배열에서 첫 번째 요소를 가져와 변수 a에 값을 할당합니다.
다음은 위에서 언급 한 세 가지 개념을 모두 사용하는 예입니다. 선언, 할당 및 액세스 배열-
program exArrays;
var
n: array [1..10] of integer; (* n is an array of 10 integers *)
i, j: integer;
begin
(* initialize elements of array n to 0 *)
for i := 1 to 10 do
n[ i ] := i + 100; (* set element at location i to i + 100 *)
(* output each array element's value *)
for j:= 1 to 10 do
writeln('Element[', j, '] = ', n[j] );
end.
위의 코드가 컴파일되고 실행되면 다음과 같은 결과가 생성됩니다.
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109
Element[10] = 110
세부 파스칼 배열
배열은 Pascal에 중요하며 더 많은 세부 정보가 필요합니다. Pascal 프로그래머에게 명확해야 할 배열과 관련된 몇 가지 중요한 개념이 있습니다.
Sr. 아니요 | 개념 및 설명 |
---|---|
1 | 다차원 배열 Pascal은 다차원 배열을 지원합니다. 다차원 배열의 가장 간단한 형태는 2 차원 배열입니다. |
2 | 동적 배열 이 유형의 배열에서 초기 길이는 0입니다. 어레이의 실제 길이는 표준으로 설정되어야합니다.SetLength 함수. |
삼 | 패킹 된 어레이 이러한 배열은 비트로 압축됩니다. 즉, 각 문자 또는 진리 값은 하나의 저장 장치, 일반적으로 단어 (4 바이트 이상)를 사용하는 대신 연속 바이트로 저장됩니다. |
4 | 서브 프로그램에 배열 전달 인덱스없이 배열의 이름을 지정하여 서브 프로그램에 배열에 대한 포인터를 전달할 수 있습니다. |