Problem

2/10

배열 요소에 액세스

Theory Click to read/hide

배열 요소 참조

배열의 유용성 대부분은 해당 요소에 개별적으로 액세스할 수 있다는 사실에서 비롯됩니다.
이를 수행하는 방법은 인덱스를 사용하여 요소에 번호를 지정하는 것입니다.
인덱스 는 특정 배열 요소를 가리키는 값입니다.

기억하세요!
파스칼의 배열 번호 매기기는 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은 잘못된 것으로 간주됩니다.