Problem

1/10

배열(목록). 소개

Theory Click to read/hide

데이터 저장

플레이어가 복잡하고 친근하지 않은 컴퓨터 인터페이스와 경쟁하는 "User Hostile"이라는 컴퓨터 게임을 개발했다고 가정해 보겠습니다. 이제 5년 동안 이 게임의 월별 판매를 추적하는 프로그램을 작성해야 합니다. 또는 Hacker Hero 트레이딩 카드의 인벤토리가 필요하다고 가정해 보겠습니다.
곧 정보를 저장하고 처리하기 위해 단순한 기본 데이터 유형 이상이 필요하다는 결론에 도달하게 될 것입니다.
 

배열(목록). 소개

많은 양의 데이터로 작업하기 편리하도록 셀 그룹에 공통 이름이 지정됩니다. 이러한 셀 그룹을 배열이라고 합니다.
배열 – 나란히 위치하고 공통 이름을 갖는 동일한 유형의 메모리 셀 그룹입니다. 그룹의 각 셀에는 고유 번호가 있습니다.

배열로 작업할 때 세 가지 작업을 해결하는 방법을 배워야 합니다.
엑스 배열에 필요한 크기의 메모리 할당
엑스 원하는 셀에 데이터 쓰기
엑스 셀에서 데이터 읽기


Pascal의 배열


전통적으로 Pascal은

와 같은 정적 배열을 사용합니다. <예비> var a: 정수 배열 [1..10];

배열의 경계는 상수로 설정해야 하며 프로그램 실행 중에는 배열의 크기를 변경할 수 없습니다. 그러나 정수뿐만 아니라 문자나 열거 유형의 인덱스도 만들 수 있습니다. 예를 들어 각 문자의 발생 횟수를 계산하려면 배열을 사용할 수 있습니다.

<예비> var LettersCount: 정수 배열 ['a'..'z'];

열심히 작업하세요.

<예비> LettersCount['z'] := 1; LettersCount['d'] := LettersCount['d'] + 1;

이러한 배열의 단점은 알려져 있습니다. 얼마나 많은 요소를 사용해야 하는지 미리 알 수 없는 경우 최대 크기의 메모리가 배열에 할당됩니다. 결과적으로, 대부분의 경우 우리는 "미래를 위해 비축"하고 때로는 이 "비축" 충분하지 않은 것으로 밝혀졌습니다. 이것이 이러한 배열을  정적이라고 부르는 이유입니다. 크기는 정적이며 프로그램 컴파일 단계에서 설정해야 합니다. 그러나 파스칼에는    크기를 설정할 수 있을 뿐만 아니라 프로그램 과정에서 변경할 수도 있는 동적 배열이 있습니다. 이러한 배열과 이를 사용할 때의 이점에 대해 자세히 설명하겠습니다.

배열 만들기

배열 생성 시 메모리에 공간 할당(일정 개수의 셀) <예비> 1) 배열은 다음과 같을 수 있습니다. 단순히 요소를 나열하여 생성됨: <예비> var a: 정수 배열; SetLength(a, 3); a[0] := 1; a[1] := 2; a[2] := 3;
2) 배열은 정수 또는 실수, 문자열 등 모든 유형의 데이터로 구성될 수 있습니다. <예비> var a: 문자 배열; SetLength(a, 3); a[0] := 'a';; a[1] := 'b';; a[2] := 'c';; 3) 배열은 항상 "인식" 너의 사이즈.  length 함수는 배열의 크기를 결정하는 데 사용됩니다. 종종 배열의 크기는 별도의 변수에 저장되므로 다른 배열 크기로 작업하도록 프로그램을 쉽게 변경할 수 있습니다. 예: <예비> 엔 := 10; // 변수 N에 배열의 크기를 저장합니다. SetLength(a, N); // 배열 및 크기 N 설정 writeln(길이(a)); //배열의 크기 표시 배열의 크기는 키보드에서 설정할 수 있습니다.

Problem

다섯 번째 줄에 변수 N의 값이 키보드에서 입력되고 여섯 번째 줄에 N 크기의 배열이 생성되도록 프로그램을 수정하십시오 (배열 요소의 값은 무엇이든 될 수 있음)