Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
16.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
88.06 Кб
Скачать

16.3. Записи.

Когда в программе должен быть использован сложный объект данных, удобно иметь общее имя для данных, которые его описывают и объявлять его без явного перечисления имен его частей. Записи Паскаля позволяют дать однажды описание объекта и использовать его далее по общему имени или по именам частей.

Записи позволяют группировать некоторое количество связанных данных, возможно разных типов, в один объект. Каждый элемент данных, называемых полем, состоит из имени, двоеточия и типа.

В следующем примере описано два типа записей, Date и WorkerInfo, каждый из которых содержит три поля. Некоторые из полей WorkerInfo таже являются записями. Таким образом, для описания сложных объектов, записи могут быть вложенными.

TYPE

Month = (NoMonth, Jan, Feb, Mar, Apr, May, Jun,

Jul, Aug, Sep, Oct, Nov, Dec);

DayNum = 1 .. 31;

ValidYear = 1850 .. 2050;

Date = RECORD

Mo: Month;

Day: DayNum;

Year: ValidYear;

END;

WorkerInfo = RECORD

SSNumber: INTEGER;

BirthDay: Date;

FirstHired: Date;

END;

Когда переменная объявляется с типом записи, ее имя ссылается на всю запись. Как общее имя переменная полезна, например при передаче параметров в процедуру. Однако для манипулирования частями записи нужны другие имена. Поля могут именоваться добавлением их имен из определения типа с именем переменной через точку. Например, переменная

VAR

Worker: WorkerInfo;

описывает Worker как запись с тремя полями SSNumber, BirthDay и FirstHired. Имена частей этой переменной будут

Worker.SSNumber

Worker.BirthDay

Worker.FirstHired

Первый элемент является атомарным и ему может быть присвоено значение

Worker.SSNumber = 123456789;

Две другие части являются записями и мы должны обращаться к их частям.

Worker.BirthDay.Mo = Feb;

Worker.FirstHired.Day = 22;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]