Как организованы записи Паскаль? Записи в Паскале — это совокупность ограниченного количества компонент, связанных логически и принадлежащих к различным типам. Полями называют компоненты записи. Каждое поле определяется определенным именем. Поле записи включает имя поля, за которым через символ «:» указывают тип данного поля. Поля записи могут быть любого типа в языке Паскаль (исключение составляет файловый тип).
Записи Паскаль описывают при помощи зарезервированного слова record, за которым указывают описание компонент записи, которая завершается зарезервированным словом end.
Примеры записи Паскаль:
Например, кулинарный справочник содержит название рецептов и ингредиентов к ним, вследствие этого отдельную строку в данном справочнике удобнее представить в виде последующей записи:
Tspr = record
RECEPT: string[30];
INGRD: string[10];
end;
var spr: Tspr;
Записи можно представить, не используя имя типа:
RECEPT: string[30];
INGRD: string[10];
end;
Обращение к записи в общем допускается лишь в операторах присваивания, где слева и справа от знака «:=» применяются имена записей одно и того же типа. В остальных случаях операции проводят с отдельными полями записей. Для обращения к отдельной компоненте записи нужно задать имя записи, а далее через символ «.» задать имя необходимого поля:
Пример:
Такое имя носит название составного имени. В качестве компоненты записи может выступать и сама запись. Тогда составное имя будет состоять не из двух, а из большего числа имен.
Оператор обращения к записи Паскаль:
Осуществить обращение к определенным компонентам записи можно проще, используя оператор присоединения with:
где rec выступает в качестве имени записи, а оператор — простой или составной оператор. Оператор есть область действия оператора with, в границах которой можно не пользоваться составными именами. В нашем случае:
begin
RECEPT:=’Napoleon’;
INGRD:=’Saharnaya pudra’;
end;
что идентично следующей конструкции:
rec.INGRD:=’Saharnaya pudra’;
Инициализировать записи можно, используя типизированные константы:
Записи с вариантами Паскаль:
Одна из разновидностей записей — это записи с вариантами, объявляющиеся при помощи ключевого слова case. Используя записи с вариантами, у вас появится возможность сохранять разнообразные структуры данных, имеющие огромную, одинаковую во всех структурах общую часть, а также некоторые небольшие различающиеся части.
Для примера создадим запись, в которой будут храниться данные о некой геометрической фигуре (отрезок, треугольник и окружность):
То есть в переменной figure могут храниться данные сразу о трех наших геометрических фигурах: отрезке, треугольнике и окружности. Нам лишь остается в зависимости от типа геометрической фигуры делать обращение к соответственным полям записи.
Заметка. Отдельные поля для каждого типа фигур располагаются в одном адресном пространстве памяти, поэтому невозможно их одновременное использование. Любая запись может содержать только одну вариантную часть, после окончания которой в записи не могут присутствовать какие-нибудь другие поля. Рекомендуется, чтобы имена полей были уникальны в рамках той записи, в которой их объявили.