Студопедия Главная Случайная страница Обратная связь

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

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




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


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


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

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

Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...

Вопрос. Отличие деятельности человека от поведения животных главные отличия деятельности человека от активности животных сводятся к следующему: 1...

Плейотропное действие генов. Примеры. Плейотропное действие генов - это зависимость нескольких признаков от одного гена, то есть множественное действие одного гена...

Методика обучения письму и письменной речи на иностранном языке в средней школе. Различают письмо и письменную речь. Письмо – объект овладения графической и орфографической системами иностранного языка для фиксации языкового и речевого материала...

Классификация холодных блюд и закусок. Урок №2 Тема: Холодные блюда и закуски. Значение холодных блюд и закусок. Классификация холодных блюд и закусок. Кулинарная обработка продуктов...

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