20
3.1. Простые типы данных
3.1.1. Перечисляемый тип
Перечисляемый тип (Enumerated) определяется перечислением всех возможных
его значений. Описание состоит из списка констант.
Enumerated =
'(' IdentList ')'.
Пример (приведенные определения остаются в силе до конца главы, чтобы не
писать их перед каждым примером):
type Color =     (Black, Red, Green, Blue, White);
 DayOfWeek = (Sunday, Monday, Tuesday, Wednesday,
  Thursday, Friday, Saturday);
var CarColor: Color;
yesterday, today, tomorrow: DayOfWeek;
Для любого перечисляемого типа T = (W
0
, W
1
, ..., W
n
), где T - идентификатор
типа, а W
0
, W
1
, ..., W
n
 - константные идентификаторы, в силе следующие отношения
и правила:
*
W
i
 <> W
j
, если i <> j (различимость);
*
W
i
 < W
j
, если i < j (упорядоченность);
*
значениями типа T могут быть только W
0
, W
1
, ..., W
n
;
*
существует взаимно-однозначное соответствие между значениями типа и
положительными целыми числами в интервале [0,n]. При том W
0
сопоставляется 0, W
1
 - 1 и т.д.
Рассмотрим операции, применяемые для перечисляемого типа:
*
присваивание значения. Переменной типа T можно присваивать новое
значение. Например: CarColor:= Red; today:= Tuesday;
*
отношение. Операции отношения (<, >, <=, >=, =, <>) определены для
любых двух объектов одного и того же перечисляемого типа. Константы
перечисляемого типа считаются упорядоченными в том порядке, в котором
они появились в его описании;
*
получение порядкового номера осуществляется стандартной функцией
ORD, которая определена для любого перечисляемого типа и как результат
дает неотрицательное число, представляющее собою порядковый номер
константы в описании типа. Например: ORD(Black) = 0;
*
получение значения перечисляемого типа по заданному порядковому
номеру. июбой перечисляемый тип определяет функцию над целыми
неотрицательными числами в перечисляемом типе с тем-же самым именем.
Например: Color(1) = Red, DayOfWeek(6) = Saturday;
*
получение минимального и максимального значения. Определены
стандартные функции MIN и MAX над каждым перечисляемым типом,
которые дают минимальное и максимальное значение зтого типа,
соответственно. Например: Min(Color) = Black, Max(DayOfWeek) = Satur-
day;
*
получение следующего и предыдущего элемента. Определены стандартные
функции Succ и Pred над любым перечисляемым типом и дающие результат
того-же самого типа:
Succ(W
i
) = W
i+1
, для i = 0, 1, ..., n-1
Pred(W
i
) = W
i-1
, для i = 1, 2, ..., n
<<  <  GO  >  >>

Вернуться к началу сайта