Единственная операция, которую можно произвести над однотипными записями Паскаля – это присваивание.
Поля
Заметим, что индивидуальные поля для каждого из типов фигур занимают тем не менее одно адресное пространство памяти, а это означает, что одновременное их использование невозможно.
В любой записи может быть только одна вариантная часть. После окончания вариантной части в записи не могут появляться никакие другие поля. Имена полей должны быть уникальными в пределах той записи, где они объявлены.
Такая организация данных позволит, например, делать выборки по году рождения или по городу, где живут студенты. В этом случае описание соответствующей записи в Паскале будет выглядеть так:
Пример фрагмента программы описания записи Паскаля
Type anketa1=record
fio: string[45];
pol: char;
dat_r: record;
god: integer;
mes: string[10];
den: 1..31;
end;
adres: record
gorod: string[25];
ulica: string [20];
dom, kv: integer;
end;
curs: 1..5;
grupp: string[3];
end;
После того, как определен тип записи Паскаля, можно определять переменную этого типа. Переменная определяется путем задания ее идентификатора и указания типа.
var
student: anketa;
student 1: anketa 1;
Теперь нам нужно узнать, как правильно получать доступ к элементам записи Паскаля. Элементы записи называются полями, а обращение к ним производится через использование их имен – идентификаторов полей. Практически, поля записи обрабатываются точно так же, как и любые другие переменные. Но в отличие от обычной переменной имена полей должны предваряться ссылкой на идентификатор записи Паскаля и отделяться от него точкой. Такая запись называется уточняющий идентификатор:
<имя_записи>.<имя_поля>
Например, чтобы обратиться к полю curs переменной student , необходимо указать следующее составное имя:
student.curs :=3;
Для того чтобы обратиться к полю god в записи student 1, необходимо записать уточняющий идентификатор, состоящий из трех имен:
student1.dat_r.god:=1982;
Использование полей записи Паскаля в выражениях и условиях идентично использованию обычных переменных.
Операции над записями Паскаля (это важно!)
Все другие операции производятся над отдельными полями записи.
Рассмотрим для начала простейший пример заполнения записи Паскаля и вывода ее на экран.
Пусть нам необходимо заполнить сведения о студенте (Ф.И.О., дата рождения, адрес, курс и группа), а затем вывести эти сведения на экран.