заканчивается ключевым словом end . Между ними заключён список компонентов,
называемых полями, с указанием идентификаторов (имён) полей и типа каждого поля.
Формат описания типа запись:
Type
<имя типа> = Record
<идентификатор поля>:<тип компонента>;
.......
<идентификатор поля>:<тип компонента>;
end;
Var
<идентификатор, ...> : <имя типа>;
Например, описание записи, содержащей регистрационный номер автомобиля, его марку,
год выпуска, цвет, фамилию и адрес владельца, может выглядеть так:
Type
avto = record
Nomer:string[6]; { Регистрационный номер }
Marka:string[15]; { марка автомобиля }
God:integer; { год выпуска }
Color: string[20]; { цвет }
Fam:string[20]; { фамилия владельца }
Adress:string[40]; { адрес владельца }
end;
Var
m,v:avto;
В данном примере запись avto содержит 6 компонентов: номер, марка машины, год
выпуска, цвет, фамилия владельца, его адрес. Доступ к полям записи осуществляется
через переменные m и v типа record.
Имя поля должно быть уникальным в пределах записи. Объём памяти, необходимый для
хранения записи, складывается из длин полей.
Значения полей записи могут быть использованы в выражениях. Обращение к значению
поля осуществляется с помощью составного имени, включающего идентификатор
переменной и идентификатор поля, разделённые точкой. Например, чтобы получить
доступ к полям записи m типа avto, надо записать:
m.nomer, m.marka, m.god, m.color, m.fam, m.adress .
Для присваивания полям записей значений используются оператор присваивания.
m.nomer:=’ав345х’;
m.marka:=’ВАЗ 2110’;
m.god:=1995;
Составные имена можно использовать, в частности, в операторах ввода-вывода, например:
Write(’Введите фамилию владельца автомобиля ’,m.nomer, ’ ’);
Readln(m.fam);
Допускается применение оператора присваивания к записям в целом, если они имеют
один и тот же тип, например, m:=v. После этого значения полей записи m станут равны
значениям соответствующих полей записи v.
В ряде задач удобно пользоваться массивами из записей. Их можно описать, например,
следующим образом:
Type