Читайте также:
|
|
Массив описывается в разделе переменных посредством указания типа его элементов и максимального их количества. Тип элементов может быть любым. При задании максимального числа элементов массива (числа ячеек таблицы) обычно употребляют диапазон целых чисел. Общий вид описания массива следующий:
Возможны два способа описания массивов:
Type имя типа = Array[t,t1,...,tn ] Of тип элементов;
Var имя массива: имя типа;
или
Var имя массива:Array[t,t1,...,tn ] Of тип элементов;
здесь t, t1,...,tn - типы индексов массива (любой скалярный тип, кроме real) или размерность.
К имени массива предъявляются те же требования, что и к имени переменной.
Размерность - это диапазон целых чисел, каждое из которых является порядковым номером (индексом) одной из ячеек массива. Обычно диапазон индексов задают, начиная от единицы: [1..100]. Это удобно, но не обязательно. Важно лишь, чтобы правая граница диапазона была больше или равна левой границе.
Program Primer; | |
Const Max=100; | |
Var A:Array[1..50] of Real; | {массив "А" состоит из 50-ти вещественных чисел} |
B:Array[1..Max] of integer; | {массив "В" состоит из ста целых чисел} |
Mas:Array[1999..2000] of integer; | {массив "Mas" состоит из 2-х целых чисел} |
Mas2:Array[-700..-1] of Real; | {массив "Mas2" состоит из 700 вещественных чисел} |
................................... |
При описании массивов, задавая числовые пределы изменения индексов, обычно указывают максимально возможное число элементов, которое может быть востребовано в данной программе; при этом допускается, что фактическое количество элементов может оказаться меньше, чем затребовано. Но если значение индекса элемента массива не входит в указанный при описании диапазон, это приведет к ошибке.
Если в описании массива задан один индекс, массив называется одномерным, если два индекса - двумерным, если n индексов — n-мерным массивом. Одномерный массив соответствует понятию линейной таблицы (вектора), двумерный - понятию прямоугольной таблицы (матрицы, набору векторов). Размерность ограничена только объемом памяти конкретного компьютера.
Одномерные массивы обычно используются для представления векторов, а двумерные - для представления матриц.
Например, одномерные массивы:
Type
Klass = (К1, К2, КЗ, К4);
Znak = array [1..255] of char;
Var
Ml: Znak; {Тип Znak предварительно описан в разделе типов}
М2: array[1..60] of integer; {Прямое описание массива М2}
МЗ: array[1..4] of Klass;
Mas: array[1..4] of integer;
Если в качестве базового типа взят другой массив, образуется структура, которую принято называть многомерным массивом.
Двумерные массивы:
Type
Vector = array[1..4] of integer;
Massiv = array[1..4] of Vector;
Var
Matrix: Massiv;
Ту же структуру можно получить, используя другую форму записи:
Var
Matrix: array[1..4,1..4] of integer;
Для описания массива можно использовать предварительно определенные константы:
Const
G1 = 4; G2 = 6;
Var
MasY: array[1..Gl, l..G2] of real;
Элементы массива располагаются в памяти последовательно.
Например, если имеется массив: A:array[1..5,1..5] of integer;
то в памяти элементы массива будут размещены по возрастанию адресов:
А[1,1] А[1,2] … А[1,5] А[2,1] А[2,2] … А[5,5]
Контроль правильности значений индексов массива может проводиться с помощью директивы компилятора R. По умолчанию директива R находится в пассивном состоянии {$R-}. Перевод в активное состояние вызывает проверку всех индексных выражений на соответствие их значений диапазону типа индекса. Действия над массивами
Для работы с массивом как единым целым используется идентификатор массива без указания индекса в квадратных скобках. Массив может участвовать только в операциях отношения "равно", "не равно" и в операторе присваивания. Массивы, участвующие в этих действиях, должны быть идентичны по структуре, т. е. иметь одинаковые типы индексов и одинаковые типы компонентов.
Например, если массивы А и В описаны как
Var
А, В: array[1..20] of real;
то применение к ним допустимых операций даст следующий результат:
Выражение Результат
А=В True, если значение каждого элемента массива А равно соответствующему значению элемента массива В
А<>В True, если хотя бы одно значение элемента массива А не равно значению соответствующего элемента массива В
А:=В Все значения элементов массива В присваиваются соответствующим элементам массива А. Значения элементов массива В остаются неизменны.
Дата добавления: 2014-12-18; просмотров: 32 | Поможем написать вашу работу | Нарушение авторских прав |