Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Рассмотренные выше типы данных являются предопределенными. В языке Паскаль пользователь может определить новые типы переменных в виде упорядоченного множества значений – так называемые перечисляемый (перечислимый) и ограниченный (диапазонный) типы.
Определение перечисляемого типа заключается в непосредственном перечислении всех значений, которые может принимать переменная такого типа. Список возможных значений переменной заключают в круглые скобки, а сами значения разделяют символом «запятая». Нельзя одно и то же имя включать в определения разных перечисляемых типов. Введение нового типа осуществляется в разделе определения типов.
П р и м е р
Type
operators=(plus, minus, divide);
sim=(a, c, d, e);
metall=(fe, na, cu, co);
Var m1, m2: metall;
op1, op2, op3: operators;
В рассмотренном примере переменные с именами M1, M2 могут принимать только значения Fe, Na, Cu или Co, переменные Op1, Op2, Op3 – только значения Plus, Minus, Divide и т. д. Других значений этим переменным присваивать нельзя. Указываемые в круглых скобках имена являются константами, порядковый номер первой из них равен нулю, следующей – единице и т. д. В перечисляемом типе частные значения упорядочены, это означает, к примеру, что для рассмотренных выше значений Fe < Na, Minus < Divide, A < E и т. д. При этом старшинство связано с местом слова при перечислении. Не допускается применять операцию сравнения к операндам разного типа, например, сравнивать Minus и Fe и т. п.
К перечисляемым типам можно применять операции отношения (оба операнда должны иметь один тип), а также использовать их в качестве аргументов стандартных функций Succ(X), Pred(X), Ord(X).
Рассмотренный ранее тип Boolean может быть определен как перечисляемый следующим образом:
Type Boolean = (False, True);
Определение предполагает, что для имен констант False и True выполняется отношение False < True.
Дата публикования: 2014-10-25; Прочитано: 492 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!