Реферат: Типы данных в Object Pascal
Для корректного определения регулярного типа необходимо задать две характеристики: тип элементов массива, а также количество и «способ нумерования» элементов. Последние характеристики задаются посредством указания типа индекса.
Определение массива имеет следующий общий вид:
Type
A = array [T1] of T2;
Здесь:
Array, of – служебные слова;
Т1 – тип индекса массива;
Т2 – тип компонент массива.
В дальнейшем идентификатор этого типа может быть использован в описании переменных.
В качестве типа индекса может выступать любой дискретный тип, кроме LongInt и ограниченных типов, построенных из типа LongInt, в частности, допустимы ограниченные и перечислимые типы. Элементами массива могут быть переменные любого типа.
Ниже приведены описания различных массивов:
Type
M1 = array [1..100] of real;
M2 = array [char] of boolean;
Matrix = array [ 1..10 ] of array[1..20] of integer;
Database = array [1..MaxF] of file of Person;
Var
Vector: M1;
Sym_Table: M2;
Arr1, Arr2: Matrix;
S: array [Red, Yellow, Green] of boolean;
Примечания
1. Число элементов в массиве всегда должно быть фиксировано.
2. Для задания количества элементов массива используется тип; число элементов определяется количеством возможных значений указанного типа, что отличает язык Паскаль от многих других языков, в которых размер массива задается либо целым числом (или выражением целого типа), либо диапазоном целых чисел. Это придает Паскалю дополнительную гибкость, позволяя «нумеровать» элементы массива не только целыми числами, но и значениями произвольного целого типа.
3. В качестве элементов массива могут выступать значения любого типа; в частности, ими могут быть значения любых составных типов, например, массивы:
Var
V2: array[1..10] of array [1..20] of byte;
Такую переменную можно трактовать двояко: как массив, состоящий из нескольких массивов, либо как один двумерный массив (матрицу). Для сокращения записи в подобных случаях можно использовать эквивалентную форму определения регулярных типов, где в квадратных скобках указывается список типов индексов, разделенных запятыми, тот же массив можно описать:
Var