배열 요소 참조
배열의 유용성 대부분은 해당 요소에 개별적으로 액세스할 수 있다는 사실에서 비롯됩니다.
이를 수행하는 방법은 인덱스를 사용하여 요소에 번호를 지정하는 것입니다.
인덱스 는 특정 배열 요소를 가리키는 값입니다. 사업부>
기억하세요!
파스칼의 배열 번호 매기기는 0부터 시작합니다!
(필수 사항입니다. 처음부터 시작해야 합니다. 기억해야 할 특히 중요합니다.)
배열 A에 액세스하는 예:
<예비>
x := (A[3] + 5) * A[1] // A[3]과 A[1]의 값 읽기
A[0] := x + 6 // A[0]에 새 값 쓰기
배열 요소 작업을 위한 프로그램을 분석해 봅시다.
<예비>
변수 i: 정수;
a: 정수 배열;
시작하다
나는 := 1;
setlength(a, 5); //5개 요소의 배열 생성
a[0] := 23; // 배열의 5개 요소 각각에 대해(인덱스는 0에서 4까지)
a[1] := 12; // 특정 값 쓰기
a[2] := 7;
a[3] := 43;
a[4] := 51;
a[2] := a[i] + 2 * a[i - 1] + a[2 * i]; // 인덱스가 2인 요소의 값을 표현식의 결과로 변경
// i=1이므로 변수 i의 값을 우리가 얻는 표현식으로 대체합니다.
// 다음 표현식 a[2] := a[1] + 2*a[0] + a[2];
writeln(a[2] + a[4]);
끝.
실행한 결과 이 프로그램은 인덱스 2와 인덱스 4가 116인 배열 요소의 합계 값을 화면에 표시합니다. 예제에서 볼 수 있듯이 배열의 모든 요소에 액세스할 수 있습니다. . 또한 다양한 공식을 사용하여 필요한 요소 수를 계산합니다(예: 프로그램 A[i-1] 또는 A[2*i]에서와 같이 이러한 경우 요소의 인덱스가 계산되고 i의 가치.)
예제 프로그램을 살펴보겠습니다
<예비>
var a: 정수 배열;
시작하다
setlength(a, 5);
a[5] := 5;
a[-1] := 0;
끝.
왜냐하면 배열은 5개의 요소로 선언되므로 요소는 0에서 4까지 번호가 매겨집니다. 여섯 번째 줄의 프로그램이 존재하지 않는 요소를 참조하는 것을 볼 수 있습니다 а [5] 그리고 7번째 줄에도 존재하지 않는 a[-1].
프로그램이 배열의 범위를 넘어간 것으로 나타났습니다.
범위를 벗어난 배열이 배열에 존재하지 않는 인덱스를 가진 요소에 액세스하고 있습니다.
이러한 경우 프로그램은 일반적으로
런타임 오류와 함께 충돌합니다.
Problem
8~11행에서 인덱스 1~4의 배열 요소를 이전 배열 요소 값의 두 배로 설정합니다.
이 작업에서는 특정 번호를 할당할 수 없으며 이름과 인덱스로 배열의 이전 요소를 참조해야 합니다.
즉, 항목 a[1] = 46은 잘못된 것으로 간주됩니다.
Запрещенные операторы: 46