18
3.1. Прости типове данни
по-малко или равно (<=), по-голямо (>) и по-голямо или равно (>=). При отношенията
типът на резултата е логически (BOOLEAN).
3.1.1. Изброим тип
Изброимият тип се дефинира чрез изброяване на всички възможни стойности,
които му принадлежат.
Enumerated =
'(' IdentList ')'.
По този начин се въвеждат идентификатори за всички константи, принадлежащи
на типа. За всеки изброим тип T = (W
0
, W
1
, ..., W
n
), където W
i
 са идентификатори на
константите на типа, е в сила:
*
W
i
 <> W
j
, ако i <> j (различимост);
*
W
i
 < W
j
, ако i < j (нареденост);
*
на типа T принадлежат само константите W
0
, W
1
, ..., W
n
;
*
съществува взаимно еднозначно съответствие между множеството от
стойностите на типа T и целите числа в интервала [0, n], като на W
0
съответствува 0, на W
1
 - 1, ..., на W
n
 - n.
Преди да опишем операциите над данните от изброим тип ще дадем пример за
два изброими типа (тези два типа ще считаме за валидни до края на главата, за да не ги
даваме всеки път, когато е необходимо):
type Color = (Black, Red, Green, Blue, White);
 DayOfWeek = (Sunday, Monday, Tuesday, Wednesday,
      Thursday, Friday, Saturday);
var CarColor: Color;
yesterday, today, tomorrow: DayOfWeek;
Операции над изброим тип данни:
*
даване на стойност (:=). Например: today:= Monday;
*
отношение. Шестте вида сравнения (=, <>, <, <=, >, >=) са дефинирани
за всеки два обекта от изброим тип. Наредбата на константите от изброимия
тип е в реда, в които те са изброени;
*
получаване на пореден номер. В Pascal е дефинирана стандартната функция
ORD над всеки изброим тип и даваща в резултат цяло неотрицателно число,
което е и поредния номер в типа. Обърнете внимание на факта, че първата
константа има пореден номер 0. Например: ORD(Black) = 0;
*
получаване на стойност от изброим тип по пореден номер. В UniPascal всеки
изброим тип автоматично дефинира функция над целите неотрицателни
числа в изброимия тип. Името на тази функция съвпада с името на
изброимия тип. Например: Color(1) = Red;
*
получаване на минималната и максималната стойност на изброим тип. В
UniPascal са дефинирани две стандартни функции MIN и MAX над всеки
изброим тип, даващи съответно минималната и максималната стойност на
типа. Например: MIN(color) = Black; Max(DayOfWeek) = Saturday;
*
получаване на следващата и предишната стойност. В Pascal са дефинирани
стандартните функции Succ и Pred над всеки изброим тип:
Succ(W
i
) = W
i+1
, за всяко i = 0, 1, ..., n-1;
Pred(Wi) = Wi-1, за всяко i = 1, 2, ..., n;
<<  <  GO  >  >>

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