Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекционный материал по Аи ЯП.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
686.59 Кб
Скачать

Лекция № 7 Тема: Типизированные константы.

План:

7.1 Константы простых типов и типа String.

7.2 Константы - массивы.

7.3 Константы – записи.

В Турбо Паскале допускается использование типизированных констант. Они задаются в разделе объявления констант следующим образом:

<идентификатор> : <тип> = <значение>

Здесь <идентификатор> - идентификатор константы;

<тип> - тип константы;

<значение> - значение константы.

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

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

Поскольку типизированная константа фактически не отличается от переменной, ее нельзя использовать в качестве значения при объявлении других констант или границ типа-диапазона.

7.1 Константы простых типов и типа String

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

type

colors = (white, red, black);

7.2 Константы - массивы

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

type

colors:=(white,red,black);

const

ColStr:array[colors] of String[5]=('white','red','blaсk');

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

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

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

Здесь <идентификатор> - идентификатор константы;

<тип> - тип записи;

<сп.знач.полей> - список значений полей.

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

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);

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

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

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= [];