Студопедия — КОНСТАНТЫ ПРОСТЫХ ТИПОВ И ТИПА 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; просмотров: 337. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Ваготомия. Дренирующие операции Ваготомия – денервация зон желудка, секретирующих соляную кислоту, путем пересечения блуждающих нервов или их ветвей...

Билиодигестивные анастомозы Показания для наложения билиодигестивных анастомозов: 1. нарушения проходимости терминального отдела холедоха при доброкачественной патологии (стенозы и стриктуры холедоха) 2. опухоли большого дуоденального сосочка...

Сосудистый шов (ручной Карреля, механический шов). Операции при ранениях крупных сосудов 1912 г., Каррель – впервые предложил методику сосудистого шва. Сосудистый шов применяется для восстановления магистрального кровотока при лечении...

Тема: Изучение приспособленности организмов к среде обитания Цель:выяснить механизм образования приспособлений к среде обитания и их относительный характер, сделать вывод о том, что приспособленность – результат действия естественного отбора...

Тема: Изучение фенотипов местных сортов растений Цель: расширить знания о задачах современной селекции. Оборудование:пакетики семян различных сортов томатов...

Тема: Составление цепи питания Цель: расширить знания о биотических факторах среды. Оборудование:гербарные растения...

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