24
3.2. Составные типы данных
3.1.7. Стандартные типы BYTE, WORD, LONGWORD
В UniPascal-е дефинированы еще следующуе стандартные типы данных: BYTE,
WORD, LONGWORD. Они не являются целыми типами. Их аналоги можно найти в языке
Modula-2. Эти три типа данных вполне совместимы с другими типами, представление
принадлежащих им значений которых занимает 1, 2 и 4 байта, соответственно. Над
этими типами данных дефинированы следующие операции:
*
AND - побитовая (byte($c3) and byte($66) = byte($42));
*
OR - побитовая (byte($a5) or byte($5a) = byte($ff));
*
XOR - побитовая (byte($c3) xor byte($66) = byte($a5));
*
= - равенство;
*
<> - неравенство;
*
:= - присваивание значения.
Другие операции над этими типами данных не определены и при попытке
использовать такие, индицируется ошибка в процессе компиляции. Если эти типы данных
используются в стандартной процедуре WRITE (для текстового файла), такие значения
выводятся в шестнадцатеричной системе. Их использование в стандартной процедуре
READ запрещается.
3.2. Составные типы данных
Простые типы - это типы, значения которых не имеют выраженной структуры. В
Pascal-е предусмотрены и другие типы: составные (структурированные, сложные) и
указатели (ссылки).
Составной тип характеризируется своим методом структурирования и типом
своих компонент. Если компоненты составного типа тоже структурированные, тогда
говорим, что тип имеет больше одного уровня структурирования. Над всеми
составными типами, кроме файлового типа, можно применять операцию присваивания.
StructuredType =
['packed'] (ArrayType  |
            StringType |
            RecordType |
            SetType    |
            FileType   ).
Перед определением типа можно поставить префикс "packed" (упакованный),
указывающий транслятору на необходимость экономить память даже за счет
неэффективного доступа к его компонентам.
3.2.1. Массивовый тип
ArrayType =
'array' '[' IndexType {','
            IndexType } ']' 'of' Type.
IndexType =
OrdinalType.
Массив является регулярной (гомогенной) структурой. июбой объект типа
массива (ArrayType) состоит из фиксированного числа компонент. Все компоненты
относятся к одному типу, называемому базовым типом компонент (Type). Число
компонент определяется при описании этого типа. Каждая компонента может быть явно
обозначена с помощью имени переменной-массива, за которым в квадратных скобках
<<  <  GO  >  >>

Вернуться к началу сайта