Определение константы-записи имеет следующий вид:
(<идентификатор>: <тип> = <сп.знач.полей>), где:
<идентификатор> – идентификатор константы;
<тип> – тип записи;
<сп.знач.полей>) – список значений полей.
Список значений полей представляет собой список из последовательностей вида: имя поля, двоеточие и константа. Элементы списка отделяются друг от друга запятыми, например:
type
point= record
x,y:real
end;
vect = array [0.. 1]of point;
month = (Jan, Feb, Mar, Apr, May, Jun,
Hu, Aug, Sep, Oct, Nov, Dec);
date = record
d: 1.. 31;
m: month;
y: 1900.. 1999
end;
const
origon: point= (x: 0; y:-1);
line: vector=((x: -3.1;y: 1.5), (x: 5.9;y: 3.0));
SomeDay: date= (d: 16; m: Mar; y: 1989);
…
Поля должны указываться в той последовательности, в какой они перечислены в объявлении типа. Если в записи используется хотя бы одно поле файлового типа, такую запись нельзя объявлять типизированной константой. Для записи с вариативными полями указывается только один из возможных вариантов констант.
Например:
type
forma= record
caseBoolean of
true: (BirthPlace: string[40]);
false:(Country: string[20];
EntryPort: string[20];
EntryDate: array[1.. 3] of word;
|
|
count: word)
End;
const
Percon1: forma= (Country:’Россия’;
EntryPort:’Москва’;
EntryDate: (16, 3, 98);
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[];
Литература
1. Абрамов С.А., Зима Е.В. Начала информатики. - М.: Наука, 1989.
2. Алексеев В.Е., Ваулие А.С., Петрова Г.Б. Вычислительная техника и программирование. Практикум по программированию: Практическое пособие / Под ред. А.В. Петрова. М.: Высшая школа, 1991.
3. Вострокнутов И.Е. Турбо Паскаль. Теория, примеры, задания. Часть 1. Ядро. Арзамас. АГПИ 2000.
4. Гуденко Д., Петроченко Д. Сборник задач по программированию. СПб.: Питер, 2003.
5. Жидкова О.А., Кудрявцева Е.К. Алгоритмы и основы программирования. М.: Интеллект-Центр, 1999.
6. Жидкова О.А., Кудрявцева Е.К. Справочные материалы для программирования на языке Паскаль. М.: Интеллект-Центр, 2001
7. Жилин С.А., Жилина Н.Б. Информатика: Теория и практика решения задач. М.: РКНК, 2001.
8. Зеленяк О.П. Практикум программирования на Turbo Pascal: Задачи, алгоритмы и решения. К.: Диа Софт, 2001.
9. Культин Н.Б. Turbo Pascal в задачах и примерах. СПб.: БХВ – Петербург, 2000.
10. Культин Н. С/С++ в задачах и примерах. - СПб.: БХВ - Петербург, 2001.
11. Марченко А.И. Марченко А.А. Программирование в среде Турбо Паскаль 7.0. - М.: Бином Универсал, К.: ЮНИОР, 1997.
12. Милов А.В. Основы программирования в задачах и примерах: Учебный курс. Харьков: Фолио, 2002.
13. Семашко Г.А., Салтыков А.И. Программирование на языке Паскаль. М.: Наука, 1988.
14. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. Учебное пособие. - М.: Нолидж, 1997.
15. Федоренко А. Алгоритмы и программы на Turbo Pascal: Учебный курс. СПб.: Питер, 2001.