Записи (PascalABC.NET)
Pascal ABC.NET выбор школьника - Часть 3
Записи
Записью (record) называется набор элементов, в котором каждый элемент имеет имя и называется полем записи.
Пусть требуется написать программу для работы с простыми дробями. Дробь состоит из числителя и знаменателя, причем оба они имеют целочисленный тип. В этом случае можно описать пользовательский тип fraction, представляющий собой запись с полями Числитель и Знаменатель, имеющими тип integer.
1 type
2 fraction = record
3 Numerator, Denominator: integer
4 end;
5 begin
6 var a, b, c: fraction; // три дроби
7 var ma: array of fraction; // динамический массив дробей
8 // ...
9 end.
Запись имеет заголовок record, в котором указывается имя записи. Далее следуют описания полей записи без иcпользования ключевого слова var. Заголовок не отделяется от описания полей привычной точкой с запятой. Описание записи завершается ключевым словом end, перед которым можно не указывать точку с запятой.
Для обращения к полям записи используется точечная нотация. Указывается имя переменной, идентифицирующее запись, а затем через точку – имя поля. Если поле, в свою очередь, имеет собственные поля, после имени поля ставится еще одна точка и т.д. Например, для приведенного выше фрагмента кода можно указать a.Numerator или ma[3].Denominator.
Записи можно присваивать (при этом выполняется копирование содержимого каждого поля) и сравнивать.