Элементы любого простого типа данных представляют собой упорядоченное множество. Следовательно, элементы простого типа могут быть связаны отношениями
=, <>, >, >=, <=, <.
Отношение между элементами простого типа является булевской величиной (относится к типу BOOLEAN).
Все простые типы данных, кроме вещественных, относятся к ординальным типам данных.
Для ординальных типов данных в языке TP определены операции, которые реализованы в функциях и процедурах:
PRED (predecessor -предшествующий),
SUCC (succeedent – последующий),
ORD (ordinal – порядковое числительное),
Dec (decrease – уменьшать),
Inc (increase – увеличивать),
SIZEOF (size of … - размер чего-либо)
Функции PRED и SUCC получают в качестве аргумента значение ординального типа и возвращают предыдущий или последующий элементы этого типа. Считается ошибкой применение функции PRED к первому элементу, а функции SUCC к последнему элементу множества значений данного ординального типа. Функция ORD возвращает порядковый номеp элемента данного ординального типа, пеpвый элемент имеет номер 0, втоpой - 1 и т.д. Исключение представляют данные целого типа, поскольку ORD с целочисленным аргументом возвращает сам аргумент. Функцию ORD можно считать функцией пpеобpазования типа, поскольку для любого ординального аргумента результат будет целочисленный.
Процедуры Dec (или Inc) позволяют увеличить (или уменьшить) аргумент на заданную величину. Например функция Dec(x,n) (или Inc (x,n)) увеличивает (или уменьшает) значение ординальной переменной x на n значений. Если параметр n опущен, то увеличение (уменьшение) происходит на 1.
Для любого типа данных (в том числе и для простого) определена функция SIZEOF(X), которая возвращает размер памяти под аргумент X в байтах. В этой функции в качестве аргумента можно использовать имя константы, имя переменной или типа данных.
Перечислимый ординальный тип описывается прямым перечислением константных значений этого типа в скобках через запятую. В качестве константных значений используются идентификаторы. Например:
type week_day=(Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday);
На множестве значений перечислимого типа определен естественный порядок Monday<Tuesday<Wednesday<…<Sunday. Если х и у – переменные var x,y:week_day; то можно переменным х и у присвоить значения, например: х:=Wednesday; y:=SUCC(x); применение функции ORD(Monday) – дает значение 0 целого типа, ORD(x) – 2 , ORD(y) – 3 ;