Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Перечислимый тип

Составной и пустой операторы | Типизированные константы | Структура программы | LABEL 1, 4.00, M1, EPS; | Определение процедур и функций | Вложенные подпрограммы | PROGRAM PROS; | И параметров-строк | Типы в Турбо Паскале | Служебные символы |


Перечислимый тип - это тип данных, в котором количество всех воз­можных значений конечно и определяется набором идентификаторов.

К предопределенным перечислимым типам относятся: 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 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Строковый тип| Ограниченный тип (диапазон)

mybiblioteka.su - 2015-2024 год. (0.005 сек.)