1. Массивы содержат фиксированное число элементов одного типа.
2. Каждый элемент имеет свой номер (индекс).
3. Обращение к элементам массива осуществляется по его индексу.
4. Количество элементов массива определяется один раз при описании массива и в дальнейшем не может быть превышено. Обращение к элементам массива с несуществующим номером вызовет ошибки.
5. Два массива считаются равными, если они имеют одинаковые размерность, тип элемента, тип индексов, количество и значение элементов.
6. С элементами массива можно выполнять те же операции, что и с переменными, имеющими тот же тип.
1. “Массив – переменная”
Общий вид:
Var имя массива: array [тип индекса] of <тип элемента>;
где [тип элемента] – любой простой или структурированный тип, кроме файлового;
[тип индекса] - любой порядковый , кроме longint.
Если тип элемента массива так же является массивом, то говорят о вложенных или многомерных массивах. Вложенность массивов ограничена только размером сегмента данных (64 кбайт ). При объявлении многомерных массивов можно указывать типы индексов для каждой размерности через запятую.
2. “Тип – массив”
Общий вид:
Type имя массива = array [тип индекса ] of <тип элемента>.
В этом случае происходит только объявление соответствующей структуры без физического создания переменных.
Замечание: если в качестве параметра процедуры или функции необходимо указать массив, то следует использовать тип-массив, для указания типа данных.
Если для решения некоторой задачи используются несколько одинаковых массивов (по структуре), то следует описать тип-массив и затем необходимое количество переменных данного типа.
3. “Массивы-константы”
В некоторых случаях необходимо иметь набор констант, имеющих одинаковый тип. Для этого существуют массивы констант.
Общий вид:
Const имя массива: array [тип индекса] of <тип- элемента>=(значение элемента1, значение элемента2, … , значение элемента n)
Примеры: при указании типа индексов чаще всего используют диапазон значений некоторого типа. В этом случае записывают cледующим образом:
<начальное значение>..<конечное значение>
1) var a: array[1..10] of integer;
2) var a: array[integer] of byte ;
начальное – наименьшее, конечное – наибольшее.
3) var a: array[-10 .. 10] of Real;
4) const n=15;
5) var a: array[1 .. n] of integer;
6) var b: array[a .. z] of char;
Type Tvec=array[1 .. n] of Real;
var a,b,с:Tvec
var Matr: array[1..m] of Tvec;
Матрица m элементов, каждый из которых состоит из n элементов.
Данную конструкцию можно объявить по-другому:
Var Matr: array[1..m] of array[1..n] of Real;
Можно объявить третьим способом:
* Var Matr: array[1..m, 1..n] of Real;
Матрица из m строк, n столбцов.
Допустим, у нас на курсе есть 4 группы (1 – 4), тогда объявляем структуру:
Const Graups: array[1..4] of byte=(25, 17, 28, 9 );