Pascal


09. Определение массива

В предыдущем разделе мы столкнулись с ситуацией, когда необходимо использовать "много" величин одного типа. Кроме того, обсуждалась проблема записи с помощью цикла повторяющихся команд присваивания, отличающихся друг от друга только именем величины в левой части команды.

Как выяснилось, для таких случаев языки программирования предоставляют возможность введения большого числа переменных одного и того же типа, имеющих одно общее имя. Средство, о котором идет речь, известно под именем табличная величина или  массив (array).

Массивом называется ряд (последовательность, набор) величин одного типа (например, real, integer или char), имеющих одно имя (один идентификатор).

С точки зрения компьютера речь идет о массиве однотипных ячеек его памяти:

Отдельные ячейки называются элементами массива. Номер ячейки называется индексом соответствующего элемента массива. В предыдущем примере 4-ая ячейка (на иллюстрации в нее записано число -2) обозначается m[4]. Базовый тип массива - это тип ячеек, из которых состоит массив (подчеркнем еще раз, что все элементы массива одного типа).

С точки зрения программиста массив удобнее представлять в виде таблицы (отсюда и другое название: табличная величина):
1
2
3
4
5
6
<-  индексы элементов
12
2
0
-2
12
-18
<-  значения элементов

Каждый элемент массива - отдельная величина (переменная). Чтобы "обратиться" к ней надо указать:

С элементами массивов можно оперировать так же, как и с переменными базового типа. Например (прежде чем выполнить первую команду, обратите внимание на последние),

Однако, использование элементов массива в качестве обычных переменных не дает никакой выгоды. Массивы ценны тем, что индексы в свою очередь могут быть переменными или выражениями, обеспечивая доступ к последовательным элементам. Достаточно вспомнить многострадальный цикл из предыдущего урока, присваивающий значение 5 всем элементам массива a:
for i := 1 to 100 do  a[i] := 5;  

Этот цикл не только заставляет ЭВМ выполнить большое количество действий (это нам уже встречалось), но и изменить при этом массу информации - содержимое 100 ячеек.


Итак, подведем итоги:

Массивом называется упорядоченный набор фиксированного количества перенумерованных величин. Сами эти величины называются его элементами, а их номера - индексами. Причем все элементы должны быть одного и того же типа, который называется базовым типом или типом компонент.

Как обычно, каждому используемому в программе массиву должно быть дано свое имя, которое является общим для всего набора величин. Элементы массива "отдельных" имен не имеют. Каждый элемент массива может быть явно обозначен путем указания имени массива, за которым следует взятый в квадратные скобки индекс. Для обозначения, например, 73-го элемента массива k используется запись k[73].

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