Например:
type
colors =(white, red, black);
const
CurrCol: colors =red;
name: string = ’Вася’;
year: word= 1998;
x: real = 0100036;
min: integer = 0;
max: integer = 10;
days: 1…31 = 1;
answer: char = ’Y’;
Нельзя использовать такие записи:
Mass: array [min.. max] of real;
Поскольку нельзя использовать типизированные константы в качестве границ диапазона.
a, b, c: byte =0; - недопустимо использовать список идентификаторов.
var
Name F: string [22]= 'prog.pas'- нельзя объявлять типизированную константу в разделе переменных.
Константы-массивы
В качестве начального значения типизированной константы-массива используется список констант, отделяемых друг от друга запятыми; список заключается в круглые скобки, например:
type
colors =(white, red, black);
const
ColSTR: array [colors] of string [5] = ('white', 'red', 'black');
Vector: array [1…5] of byte =(0,0,0,0,0);
При объявлении массива символов можно использовать то обстоятельство, что все символьные массивы и строки в Турбо Паскаль хранятся в упакованном формате, поэтому в качестве значения массива – константы типа CHAR допускается задание символьной строки соответствующей длины. Два следующих объявления идентичны:
|
|
const
digit,: array [0.. 9]of char = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
digchr: array [0.. 9] of char = ('0123456789');
При объявлении многомерных констант-массивов множество констант, соответствующих каждому измерению, заключается в дополнительные круглые скобки и отделяется от соседнего множества запятыми. В результате образуются вложенные структуры множеств, причем глубина вложения должна соответствовать количеству измерений (размерности) массива. Самые внутренние множества констант связываются с изменением самого правого индекса массива.
Следующая программа выведет на экран три строки с монотонно увеличивающимися целыми числами:
var
i, j, k, l: byte;
const
matr: array [1.. 3, 1.. 5] of byte=
((0, 1, 2, 3, 4),
(5, 6, 7, 8, 9),
(10, 11, 12, 13, 14));
cube: array [0.. 1, 0.. 1, 0.. 2] of integer=
(((0, 1, 2), (3, 4, 5)),
((6, 7, 8), (9, 10, 11)));
mas4: array [0.. 1, 0.. 1, 0.. 1, 0.. 1] of word =
((((0, 1), (2,3)),
((4, 5), (6,7))),
(((8, 9), (10, 11)),
((12, 13), (14, 15))));
begin
for i:= 1 to 3 do
for j:= 1 to 5 do
Write(matr[i,j]:3);
writeln;
for i:= 0 to 1 do
for j:= 0 to 1 do
for k:= 0 to 2 do
Write (cube[i,j,k]:3);
writeln;
for i:= 0 to 1 do
for j:= 0 to 1 do
for k:= 0 to 1 do
for l:= 0 to 1 do
write(mas 4[ i, j, k, l]:3);
writeln;
end.
Количество переменных в списке констант должно строго соответствовать объявленной длине массива по каждому измерению.