- •Глава 6
- •6.1. Понятие структурного типа
- •6.2. Регулярные типы (массивы)
- •6.3. Строковый тип
- •6.4. Комбинированные типы (записи)
- •6.4.1. Определение типа "запись"
- •6.4.2. Записи с вариантами
- •6.4.3. Оператор присоединения
- •6.5. Множественные типы
- •6.6. Файловые типы
- •6.7. Текстовые файлы
- •6.7.1. Определение текстового файла
- •6.7.2. Ввод числовых данных из текстовых файлов
- •6.7.3. Вывод числовых данных в текстовый файл
- •6.8. Ссылочные типы
- •6.8.1. Динамические переменные
- •6.8.2. Линейные списки
- •6.9. Типизированные константы
6.9. Типизированные константы
Типизированная константа - это суть переменная, которой в начале работы программы присваивается значение. Локальные константы подпро-грамм получают значения единожды, и при повторном входе в подпрограмму их переинициализация не производится. В программе типизированные кон-станты используются исключительно как переменные.
Объявление типизированной константы имеет вид:
CONST nam : typnam = val ,
где nam - имя типизированной константы, typnam - тип, val - значение константы. Компонентами значений типизированных констант могут быть данные любых типов кроме файлового.
Примеры объявлений констант простых типов:
CONST a : integer=-15;
b : real=1.5;
c : char='A';
d : Boolean=TRUE;
e : 0..200=12;
описание константы-строки содержит длину строки и ее начальное значение: CONST filnam : STRING[10]='Out.dat';
nl : STRING[2]=#13#10;
В описании констант типа "массив" каждый структурный элемент (константы каждой размерности) заключается в отдельные скобки:
TYPE vect = ARRAY[1..4] OF real;
matr = ARRAY[1..2,1..3] OF integer;
CONST a : vect=(1.5, 2.7, 3.4, -16.22);
b : matr=((5,3,2),(6,12,24));
Во втором примере задана матрица .
В описании константы типа "запись" значения заключаются в скобки и разделяются символом "точка с запятой". Каждая компонента - это имя поля и через двоеточие - его значение, например:
TYPE two = RECORD
x,y:real
END;
mas = ARRAY[1..2] OF two;
CONST a : two=(x:1.5; y:2.7);
b : mas = ((x:0.2;y:5.1),(x:1.5;y:0.2));
Элементами констант множественного типа являются константы и диа-пазоны, заключенные в квадратные скобки и разделенные запятыми: TYPE mnog = SET OF 0..100;
sym = SET OF char;
CONST chis : mnog = [2, 3, 5..70];
pus : mnog = [];
ssm : sym = ['A', '+', '-'];
Описание константы типа "указатель" может содержать только значение NIL :
TYPE list = ^stud;
stud = RECORD
fam : STRING[20];
next : list
END;
CONST first : list = NIL;
one : stud = (fam:'Иванов'; next:NIL);
Типизированные константы применяются, как правило, для инициа-лизации значений структурных типов данных.