Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Урок из серии Pas ABC.doc
Скачиваний:
10
Добавлен:
17.08.2019
Размер:
694.78 Кб
Скачать

Описание массива

Прежде чем использовать массив в программе, его необходимо предварительно описать. Описать массив — значит выделить в памяти место, достаточное для хранения всех его элементов. Для этого надо указать длину массива — количество элементов в нем. В большинстве случаев при задании размеров массива используются диапазоны изменения значений индекса.

При описании массива используется зарезервированное слово array (массив), указываются тип индекса и тип компонентов массива.

Способ 1. Описание массива с определением типа.

type

<имя типа> = array [тип индекса] of <тип компонента>;

var

<идентификатор, ... > : <имя типа>;

Способ 2. Описание массива без определения типа.

var

<идентификатор, ... > : array [тип индекса] of <тип компонента>;

Двумерный массив описывается так же, как и одномерный. Различие состоит в том, что вы должны указать диапазон для двух индексов массива - положение каждого элемента массива A[i, j] определяется значением строки и столбца. Например, описание двумерного массива натуральных чисел размера N x М может быть задано следующей строкой:

var myarray : array [1..n, 1..m] of intrger ;

Вернемся к нашей задаче. У нас 30 целых чисел, выделим для них 30 ячеек, объединим их общим именем А.

A

Имя А - это общее имя для всех элементов.Элементы массива - это числа, их 30

1

25

2

64

3

27

...

...

29

53

30

89

Опишем одномерный массив из 30 целых чисел для этой задачи следующим образом:

type myarray = array[1..30] of integer

var m1: mas;

Напомним, что раздел типов, начинается со служебного слова type, после этого идет имя нового типа и его описание. Между именем типа и его описанием ставится знак "равно" (в разделе переменных между именем переменной и её описанием ставится двоеточие). Тогда:

myarray - это имя нового типа;

array - служебное слово (в переводе с английского означает "массив", "набор");

[1..30] - в квадратных скобках указывается номер первого элемента, затем, после двух точек, номер последнего элемента массива, в этом примере первый элемент имеет номер 1, а последний - номер 30;

Of - служебное слово (в переводе с английского - "из");

Integer - тип всех элементов массива.

Так как каждый элемент имеет свой номер, то к каждому элементу можно обращаться непосредственно. Для того чтобы получить доступ к iэлементу этого массива, необходимо записать:

A[i] - сначала имя массива, а в квадратных скобках указывается номер элемента, к которому обращаемся, - i. Например, обращаемся к первому элементу массива А - А1[1], а к пятому - А[5].

Тот же самый тип массива может быть задан и при определении соответствующей переменной:

var m1: array[1..30] of integer;

Особенность языка Паскаль

Особенностью языка Паскаль является то, что число элементов массива фиксируется при описании и в процессе выполнения программы не меняется. Это считается недостатком языка, так как не во всех программах можно заранее предсказать необходимый размер массива (который может определяться в зависимости от тех или иных условий, возникающих в процессе исполнения).

Для решения этой проблемы используют прием, позволяющий имитировать работу с массивами переменной длины, который заключается в следующем: в разделе описания предварительно определяют возможное максимальное значение размера массива, а затем в программе запрашивают текущее значение размера и используют это значение далее при заполнении и обработке массива.

На следующих уроках мы составим процедуры для заполнения массива и вывода на экран.

Урок 21 из серии: "Язык программирования Паскаль"

После объявления массива с ним можно работать. Например, присваивать значения элементам массива и вообще обращаться с ними как с обычными переменными. Для обращения к конкретному элементу необходимо указать идентификатор (имя) массива и индекс элемента в квадратных скобках.

Например, запись Mas[2], A[10] позволяет обратиться ко второму элементу массива MAS и десятому элементу массива A. При работе с двумерным массивом указывается два индекса, с n-мерным массивом - n индексов.

Например, запись Matr[4, 4] делает доступным для обработки значение элемента, находящегося в четвертой строке четвертого столбца массива M.

Индексированные элементы массива называются индексированными переменными. За границы массива выходить нельзя. То есть, если в массиве Mas пять элементов, то обращение к шестому или восьмому элементу приведет к ошибке.

Рассмотрим типичные операции, возникающие при работе с одномерными массивами.