Комбинированные типы. Записи (Record)

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

Записи удобны при обработке взаимосвязанных однородных данных.

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

Объявить запись можно в разделе var и в разделе type. Для описания переменных типа «запись» используется зарезервированное слово record.


Полный формат объявления переменной типа «запись»:

Type

<имя_типа> = record

имя_поля1: тип;

имя_поля2: тип;

имя_поляN: тип;

end;

Var

< имя_записи>: <имя_типа>;

Краткий формат объявления переменной типа «запись»:

Var

<имя_записи>: record

имя_поля1: тип;

имя_поля 2: тип;

имя_поля N: тип;

end;

Здесь, <имя_типа>, <имя_записи> и имя_поляN - правильные идентификаторы. В описании указывается идентификатор каждого поля и его тип.

Например, переменная "Клиенты" типа записи "Клиент":

{полный формат объявления переменной}

Type

CLIENT = record // Клиент

family: string[20]; // Фамилия

name: string[10]; // Имя

patronymic: string[15]; // Отчество

year_birthday: integer; // Год рождения

address: string[30]; // Адрес

telephone: integer; // Телефон

end;

Var

clients: CLIENT;

или {краткий формат объявления переменной}

Var

CLIENT: record // Клиент

family: string[20]; // Фамилия

name: string[10]; // Имя

patronymic: string[15]; // Отчество

year_birthday: integer; // Год рождения

address: string[30]; // Адрес

telephone: integer; // Телефон

end;

Запись, описанная через var, называется «анонимной».

В Паскале различают:

· записи с фиксированными частями и

· записи с вариантами (с переменными частями).

Записи с фиксированными частями

Записи с фиксированными частями называются так, потому, что в различных ситуациях имеют одинаковую структуру.

Например, запись "Личная карточка студента" может быть описана с помощью записи с фиксированными частями:

Type

student = record

family: string[20];

name: string[10];

patronymic: string[15];

year_birthday: integer;

number_of_group: integer; // Номер группы

Predmet1: byte; // МатАнализ

Predmet2: byte; // ИнжГрафика

Predmet3: byte; // Химия

Predmet4: byte; // Информатика

end;

Если поля несут одинаковую смысловую нагрузку, то их целесообразно объединить в отдельную структуру типа record.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: