Лекции по паскаль, Записи.

Запись - это структурированный тип данных, состоящий из фикси­рованного числа компонент одного или нескольких типов. Такой тип удобен для компактного представления комбинаций разнотипных данных.

Определение типа начинается идентификатором record и заканчивается словом end. Между ними заключен список компонент, называемых полями. Каждое поле состоит из идентификатора и типа компоненты. Примеры определения типа:

Туре

PaletteType = record

Size : Byte;

Colors: Arrayt[0..MaxColors] of Shortint

end;

ViewPortType = record

xl,yl,x2,y2: Integer;

Clip : Boolean;

end;

Info = record

l: Word;

c: String[7];

m: String[13]; end;

 

После объявления в программе переменной типа запись, напри­мер,

Var Cube: PaletteType;

к каждому её полю обращаются, указывая сначала идентификатор переменной, а затем через точку - имя поля, т.е. ViewPortType.x1, ViewPortType.x2, ViewPortType.colors. Составные имена используются везде, где допустимы переменные того же типа, что и поле, но имя записи может участвовать только в операциях присваивания. Если несколько полей имеют одинако­вый тип, то имена полей обычно перечисляют.

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

Константы-записи. Новый тип можно использовать и для введения в программу типизи­рованных констант, например,

Type Point = record

x,y:Real;

end;

Vector = Array[0..1] of Point;

Const Origin:Point=(X:0.0;Y:0.0);

Line:Vector=((X:-1.9;Y:1.7),(X:2.0;Y:1.7));

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

Оператор присоединения. Для упрощения доступа к полям записей при их совместной обработке предназначен оператор with, имеющий формат:

with <имя переменной> do <оператор>.

Один раз указав имя переменной типа запись в операторе with, можно внутри оператора обращаться к полям записи без указания имени.

with cube do

begin l:=3; с:='синий' ; m:='деревянный' end;

или

cube.l:=3; cube.c:='синий'; cube.m:='деревянный';

Вариантные записи. Во многих задачах строго определённая структура записи ограничивает её применение. Поэтому предусмотрены записи, содержащие произволь­ное число компонент. Они называются записями с вариантами и состоят из фиксированной и вариантной частей. Последняя фор­мируется с помощью оператора Case. Он задаёт особое поле записи - по­ле признака, которое определяет, какой из вариантов в данный момент будет активизирован. Вариантные поля указываются после фиксирован­ных; компоненты каждого варианта заключаются в круглые скобки; у части Case нет отдельного слова end. Если в рассматриваемом выше примере потребуеся выбор единиц длины для измерения длины ребра а, то в запись можно ввести вариантную часть:

 

Info = record

с: String[7];

m: String[13];

Case L: Char of

'Л': (inches: Word); 'c’: (cantim: Longlnt); end;

 


<== предыдущая лекция | следующая лекция ==>
Операции над множествами. Описание типа множества. | Стандартные процедуры для работы с файлами.




Дата добавления: 2016-02-02; просмотров: 1494;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.