последовательности и т. д. В настоящей работе подробно рассматриваются типы
данных: перечислимые на основе булевого и символьного типов; числовые на основе
целого и вещественного типов; массивы и записи как объекты структурных типов.
Другие типы, представленные в теории структурной организации данных,
являются менее распространенными в ЯП и рассматриваются без подробного
анализа.
3.5.1. ПРОСТЫЕ ТИПЫ ДАННЫХ
К простым типам относятся перечислимые и числовые. Общее обозначение
перечислимого типа имеет вид type T = {х
1
, х
2
, .... х
п
). Здесь Т – имя типа, а х
1
, х
2
, ....,
х
п
– имена всех значений типа Т, образующих множество значений X. Операции над
перечислимыми типами включают бинарные операции отношения и унарные
операции pred и succ, определяющие соответственно предыдущий и последующий
элементы во множестве X. Все операции отношения (<, ≤, >, ≥, = , ≠) при
построении алгебраических систем будут заменены одной (≤), определяющей
линейную упорядоченность множества X.
Примерами перечислимых типов могут служить булевый и символьный типы.
Множество значений булевого типа состоит из двух элементов – false и true.
Множество операций Ω кроме перечисленных выше, включают операции булевой
алгебры &, V, ¬. Запишем алгебраическую систему, соответствующую булевому
типу:
U
b
= <X
b
, Ω
b
>,
Х
b
= {false, true}, (3.7)
Ω = {&, V, ¬, pred, succ, ≤},
U
b
имеет тип (2, 2, 1, 1, 1;2) согласно арности соответствующих операций и
предикатов.
Булевый тип в ЯП записывается в виде type T
b
= (false, true). Если он
стандартный (Boolean), то это описание в текстах модулей может опускаться.
Множество значений X символьного типа состоит из букв, цифр и специальных
символов (знаков арифметических операций, знаков препинания и т. д.). Множество
операций совпадает со множеством операций для любого перечисленного типа.
Алгебраическая система U
c
, соответствующая символьному типу, имеет вид
U
c
= <X
c
, Ω
c
>,
Х
с
= {... , ’А’ ... , ’Х ’ .. . , ’0’, ’1’, . .. , ’9’}, (3.8)
Ω
c
={pred, succ, ≤}.
Множество X упорядочено согласно внутреннему представлению символов для
ОС ЕС.
Алгебраическая система U
c
имеет тип <1,1;2> согласно арности соответствующих
операций и предикатов.
Символьный тип средствами ЯП записывается следующим образом: type Т
c
= (...,
'А', ..., 'Х' ...., '0', ..., '9'). Если он стандартный (CHAR), то это описание в модулях
может быть опущено. Операция ord, присваивающая каждому символу его
порядковый номер во множестве X
c
, и chаr, определяющая по порядковому номеру
символа его значение, являются по существу операциями преобразования типов и
поэтому во множество Ω
c
не включены.
Для перечисленных типов характерны следующие аксиомы [201], которые в
дальнейшем будут использоваться для анализа операций преобразования типов