Студопедия — КОНСТАНТЫ ПРОСТЫХ ТИПОВ И ТИПА STRING
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

КОНСТАНТЫ ПРОСТЫХ ТИПОВ И ТИПА STRING






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

Примеры объявлений:

Type

colors = (white, red, black);

{ ----- Правильные объявления: ----- } const

CurrCol colors = red;

Name String = 'Вирт H.';

Year Word = 1989;

X Real = 0.1;

Min Integer =0;

Max Integer = 10;

Days 1..31 = 1;

Answer Char = 'Y';

{----- Неправильные объявления: ----- }

Mass: array [Min..Max] of Real;

{Нельзя использовать типизированные константы в качестве границ диапазона} a,b,c: Byte =0;

{Нельзя использовать список идентификаторов}

КОНСТАНТЫ-МАССИВЫ

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

Type

colors = (white, red, black);

Const

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

Vector: array [1..5] of Byte = (0,0,0,0,0);

При объявлении массива символов можно использовать то обстоятельство, что все символьные массивы и строки в Object Pascal хранятся в упакованном формате, поэтому в качестве значения массива-константы типа 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';

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

Следующая программа выведет в компонент mmoutput три строки с монотонно увеличивающимися целыми числами:

Procedure TfmExample.bbRunClick(Sender: TObject);

Var

i, j, k, 1: Byte;

S: String;

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 =

(((О,1,2),(3,4,5)), ((6,7,8),(9,10,11)));

Mas4: array [0..1, 0..1, 0..1, 0..1] of Word =

((((О,1),(2,3)),

((4,5), (6,7))), (((8,9), (10,11)), ((12,13), (14,15))));

Begin

S:=' ';

for i:= I to 3 do for j:= 1 to 5 do

S:= S + IntToStr(Matr[i,j]) +' ';

mmOutput.Lines.Add(S);

S: = '';

for i:= 0 to 1 do for j:= 0 to 1 do

for k:= 0 to 2 do

S:= S + IntToStr(Matr[i,j,k]) +' ';

mmOutput.Lines.Add(S);

S:=''; for i:= 0 to 1 do

for j:= 0 to 1 do

for k:= 0 to 1 do

for l:= 0 to 1 do

S:= S + IntToStr(mas4[i,j,k,l]:3);

mmOutput.Lines.Add(S);

End;

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

КОНСТАНТЫ-ЗАПИСИ

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

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

Здесь <идентификатор> - идентификатор константы; <тип> - тип записи; <сп. знач. полей> - список значений полей.

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

Type

Point = record

X, Y: 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;

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: May; Y: 1997);

Поля должны указываться в той последовательности, в какой они перечислены в объявлении типа. Если в записи используется хотя бы

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

Type

Forma = record

case Boolean 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, 89);

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

КОНСТАНТЫ-УКАЗАТЕЛИ

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

const pR: ^Real = NIL;







Дата добавления: 2015-10-18; просмотров: 334. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Патристика и схоластика как этап в средневековой философии Основной задачей теологии является толкование Священного писания, доказательство существования Бога и формулировка догматов Церкви...

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

Вопрос 1. Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации К коллективным средствам защиты относятся: вентиляция, отопление, освещение, защита от шума и вибрации...

Алгоритм выполнения манипуляции Приемы наружного акушерского исследования. Приемы Леопольда – Левицкого. Цель...

ИГРЫ НА ТАКТИЛЬНОЕ ВЗАИМОДЕЙСТВИЕ Методические рекомендации по проведению игр на тактильное взаимодействие...

Реформы П.А.Столыпина Сегодня уже никто не сомневается в том, что экономическая политика П...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия