|
Перечислимый тип - это тип данных, в котором количество всех возможных значений конечно и определяется набором идентификаторов.
К предопределенным перечислимым типам относятся: Boolean, Byte, Char, Word (номера элементов в них 0,1,...), а также другие целые типы: ShortInt, Int, Integer, LongInt (нумерация которых начинается с отрицательного числа). Эти типы можно расписать в ряд по значениям. Например:
TYPE
Boolean=(False,True);
Byte=(0,1,2,...,255);
ShortInt=(-128,-127,...,128).
В любом целом типе порядковый номер элемента определяется значением числа.
В Турбо Паскале могут быть введены новые нестандартные типы. Для этого в разделе TYPE указывается имя типа и в круглых скобках, перечисляются значения, которые могут принимать элементы данного типа:
TYPE
<имя типа1>=(<значение1>,...,<значениеN>);
<имя типаK>=(<значение1>,...,<значениеM>);
Перечислимые данные должны иметь синтаксис идентификаторов, поэтому не могут перечисляться цифры и символы. Один и тот же идентификатор можно использовать только в определении одного перечислимого типа.
Пример: TYPE
TEST=(test1,test2,...,test5);
BOOLEAN3=(False_,Noinfo,True_);
в типе BOOLEAN3 для моделирования трехзначной логики видоизменены уже задействованные в BOOLEAN имена False и True.
Первый элемент всегда имеет номер 0. Максимальное количество элементов в одном перечислимом типе равно 65535.
После описания новых типов и их значений могут вводиться переменные данных типов. Например:
Var
T1,T2:TEST;
B1,B2:BOOLEAN3;
Begin...
for T1:=test1 to test5 do <оператор>;
...
End.
Для работы с перечислимыми типами определены общепринятые функции Ord, Pred и Succ:
Ord(test1)=0, Ord(test5)=4,
Ord(False_)=0, Ord(True_)=2,
Pred(True_)=Succ(False_)=Noinfo.
Обратной функции для извлечения значения по его порядковому номеру в языке нет, хотя выражение вида
X:=<ИмяПеречислимогоТипа>(номер значения)
запишет в Х значение, соответствующее порядковому номеру элемента перечисления. Например, запись T1:=TEST(2) эквивалентна Т1:=test3.
Поскольку перечислимые значения упорядочены, их можно сравнивать:
True_ > Noinfo; test2 > test1.
Элементы разных типов сравнивать нельзя.
Перечислимые типы обладают рядом преимуществ:
1) улучшается числовая читаемость программы;
2) более четко проводится контроль значений;
3) перечислимые типы имеют компактное машинное представление.
Недостатком применения перечислимых типов является то, что их значения не могут быть выведены на экран или принтер и не могут быть явно введены с клавиатуры.
Дата добавления: 2015-09-05; просмотров: 88 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Строковый тип | | | Ограниченный тип (диапазон) |