Иллюстрированный самоучитель по Turbo Pascal

Типизированные константы

Константы-записи

Определение константы-записи имеет следующий вид:

<идентификатор>: <тип> = (<сп.знач.полей>)

Здесь:

  • <идентификатор> – идентификатор константы;
  • <тип> – тип записи;
  • <сп.знач.полей> – список значений полей.

Список значений полей представляет собой список из последовательностей вида: имя поля, двоеточие и константа. Элементы списка отделяются друг от друга двоеточиями, например:

type
point = record
х, у: Real
end;
vect = array [0..1] of point;
month = (Jan, Feb, Mar, Apr, May, Jun,
Jly, Aug, Sep, Oct, Nov, Dec);
date = record
d: 1..31;
m: month;
у: 1900..1999
end;
const
origon:point = (x:0; у: -1);
line:vector = ((x:-3.1; у: 1.5), (x: 5.9; у: 3.0));
SomeDay: date = (d: 16; m: Mar; у: 1989);

Поля должны указываться в той последовательности, в какой они перечислены в объявлении типа. Если в записи используется хотя бы одно поле файлового типа, такую запись нельзя объявить типизированной константой. Для записей с вариантными полями указывается только один из возможных вариантов констант. Например:

type
forma = record
case Boolean of
true: (Birthplace: String [40]);
false: (Country: String [20]; EntryPort: String [20];
EntryDate: array [1..3] of Word; count: Word)
end;
const
Perconl: forma = (Country: 'Норвегия'; EntryPort:
'Мурманск'; EntryDate: (16, 3, 89); count: 12);
Percon2: forma = (Birthplace: 'Москва');

Константы-множества

Значение типизированной константы-множества задается в виде правильного конструктора множества, например:

type
days = set of 1..31;
digc = set of ' 0 '.. ' 9 ';
error = set of 1..24;
const
WorkDays: days = [1..5, 8.. 12, 15.. 19, 22.. 26, 29, 30];
EvenDigits: digc = ['0', '2', '4', '6', '8'];
ErrorFlag: error= [];

Константы-указатели

Единственным значением типизированной константы-указателя может быть только NIL, например:

const
pr: Real= NIL;
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.