Выбор (Select)
Простые типы данных
INTEGER - целое число
REAL - вещественное число
При определении переменных этого типа допускается указывать максимальное число десятичных знаков в мантиссе числа допустимых для этой переменной.
Пример:
a : REAL(3) := 1.23E0;
b : REAL(5) := 1.2300E0;
LOGICAL - логический тип данных
Переменная этого типа может принимать одно из трех возможных значений - [FALSE < UNKNOWN < TRUE] ( ложь < неизвестно <
истина). Для данных этого типа определены следующие операции:
NOT, AND, OR
A
B
NOT A
A AND B
A OR B
TRUE
TRUE
FALSE
TRUE
TRUE
TRUE
UNKNOWN
UNKNOWN
TRUE
TRUE
FALSE
FALSE
TRUE
UNKNOWN
TRUE
UNKNOWN
UNKNOWN
TRUE
UNKNOWN
UNKNOWN
UNKNOWN
UNKNOWN
UNKNOWN
FALSE
FALSE
UNKNOWN
FALSE
TRUE
FALSE
FALSE
TRUE
FALSE
UNKNOWN
FALSE
UNKNOWN
FALSE
FALSE
FALSE
FALSE
BOOLEAN - Булев тип данных
Переменная этого типа может принимать одно из двух возможных значений - [FALSE < TRUE] (< истина). Для данных этого типа определены те - же операции, что и для LOGICAL.
BINARY - двоичные данные
Переменная этого типа содержит последовательность бит. Количество бит может быть ограничено сверху и быть фиксированным.
Формат:
binary_type = BINARY [ (width) [ FIXED ] ]
где
width - максимальное число бит в переменной (необязат.)
FIXED - флаг фиксированной длинны равной width.
STRING - строка
Переменная этого типа содержит последовательность символов. Количество символов может быть ограничено сверху и быть фиксированным.
Формат:
string_type = STRING [ (width) [ FIXED ] ]
где
width - максимальное число символов в переменной (необязат.)
FIXED - флаг фиксированной длинны равной width.
Агрегатные (Aggregation) типы данных
Переменные этих типов содержат коллекции элементов любых других типов. На элементы, содержащиеся в коллекциях, могут быть наложены следующие ограничения:
Ограничение на количество хранящихся элементов
Запрет на наличие повторяющихся элементов
Запрет на наличие необязательных элементов
В зависимости от комбинаций этих ограничений выделяется четыре агрегатных типа данных: ARRAY, BAG, LIST и SET.
ARRAY - массив элементов
Содержит строго фиксированное количество элементов, могут разрешаться пустые (необязательные) элементы и запрещаться повторяющиеся.
Формат:
array_var = ARRAY ‘[‘ low : high ‘]’ OF [OPTIONAL] [UNIQUE] type
где
low - нижняя границ индекса массива
high - верхняя граница индекса массива
type - тип элементов массива
OPTIONAL - допускаются пустые (необязательные) значения
UNIQUE - не допускаются повторяющиеся элементы
Примеры:
sectors : ARRAY [0:5] OF REAL;
a : ARRAY [0:3] OF ARRAY [1:17] OF OPTIONAL INTEGER
BAG - набор элементов
Может сожержать как строго фиксированное, так и произвольное число элементов среди которых допускаются повторы.
Формат:
bag_var = BAG ‘[‘ low : high ‘]’ OF base_type где
low - нижняя границ индекса массива
high - верхняя граница индекса массива (если знак ‘ ? ’ то может быть любое число элементов
base_type - тип элементов массива
Примеры:
a : BAG [0:?] OF REAL;
b : ARRAY [0:3] OF BAG [1:17] OF INTEGER
LIST - список элементов
Может содержать как строго фиксированное, так и произвольное число элементов. Имеется возможность запретить наличие повторяющихся элементов.
Формат:
list_var = LIST ‘[‘ low : high ‘]’ OF [UNIQUE] base_type где
low - нижняя границ индекса массива
high - верхняя граница индекса массива (если знак ‘ ? ’ то может быть любое число элементов
base_type - тип элементов массива
UNIQUE - не допускаются повторяющиеся элементы
Примеры:
a : LIST [0:?] OF REAL;
b : LIST [0:3] OF UNIQUE BAG [1:17] OF INTEGER
SET - множество элементов
Может содержать как строго фиксированное, так и произвольное число элементов. Повторяющиеся элементы не допускаются.
Формат:
set_var = SET ‘[‘ low : high ‘]’ OF base_type где
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.