Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Паскаль-конспект ИНФОРМАТИКА.doc
Скачиваний:
59
Добавлен:
09.04.2015
Размер:
639.49 Кб
Скачать

8. Типизированная константа

Типизированную константу можно использовать как переменную. Её следует рассматривать как инициализированную переменную, значение которой задано с самого начала. Применение типизированных констант экономит машинное время, т.к. начальное присвоение значений уже выполняется компилятором.

Типизированные константы задаются, как обычные, но дополнительно они получают и свой тип. Заданные значения имеются в распоряжении программы только при новом ее пуске, а затем могут изменять свое значение. Повторный пуск программы не с самого начала может дать уже другие значения.

Преимущество применения типизированных констант заключается в простоте присвоения начальных значений для переменных.

Синтаксис (вид описания):

Constимя: тип = значение;

8.1. Простая типизированная константа

Задается как простая переменная.

Пример: Const A:Integer=1267;

Kol:Real=12,32;

Sim:Char =’Z’

B:Char=Ord(65);

Типизированные константы разрешается использовать вместо переменной в виде параметров в подпрограммах.

Типизированная константа представляет собой переменную с заданным значением. Её нельзя использовать в описании других констант или типов.

Пример: Const X:Integer=0;

Y:Integer=50;

Type Mas: Array [X..Y] of Integer; это недопустимо.

8.2. Структурированная (сложная) типизированная константа

8.2.1. Типизированная константа массива

Пример:

Type Sost = (cold, warm, hot);

Massiv = Array [Sost] of string[5];

Const S: Mas = (‘cold’, ‘warm’, ‘hot’);

В примере описывается константа Sost, которую можно использовать для преобразования значений типа перечисления в их соответствующие строковые представления:

Sost[cold]=’cold’

Sost[warm]=’warm’

Sost[hot]=’hot’

Каждый тип, кроме типа массива и указателя, представляет собой допустимый тип компонентов константы массива. При типах массива Characterразрешены отдельные символы и символьные цепочки.

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

Пример:

Type Massiv = Array [0..1,0..1,0..1] of Integer;

Const chislo: Massiv = (((0,1),(2,3)),((4,5),(6,7)));

Begin

Writeln(chislo[0,0,0],’=0’);

Writeln(chislo[0,0,1],’=1’);

Writeln(chislo[0,1,0],’=2’);

Writeln(chislo[0,1,1],’=3’);

Writeln(chislo[1,0,0],’=4’);

Writeln(chislo[1,0,1],’=5’);

Writeln(chislo[1,1,0],’=6’);

Writeln(chislo[1,1,1],’=7’);

End.

8.2.2. Типизированная константа записи

Пример:

Typechislo=Record

a,b,c: Integer

end;

Zvet = (Krasn, Gelt, Zelen, sin);

Tkan = (Sherst, Shelk, Hlopok);

Platye = Record

Dizain : Array [1..4] of Zvet;

Material : Tcan

end;

Const Nomer : chislo = (a:0, b:0, c:0);

Model:Platye=(dizain: (krasn, gelt, zelen, sin); Material: Hlopok);

Matrica: Array[1..3] of

chislo = ((a:1, b:4,c:5), (a:13,b:8,c:55), (a:200,b:16,c:-65));

Константы массива должны задаваться в той же последовательности, в какой они появляются в описании записи. В том случае, если блок данных содержит массивы типа файла или указателя, типизированными. Константы для этого типа записи задавать невозможно.

Если константа записи содержит варианты, то программист сам отвечает за то, чтобы специфицировались лишь блоки данных достоверной переменной.

Если переменная содержит массив метки, то нужно специфицировать и значение переменной.