Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metodichka_red._sent2 (2).doc
Скачиваний:
6
Добавлен:
02.09.2019
Размер:
1.07 Mб
Скачать

7.3 Записи

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

<имя типа> = RECORD <сп.полей> END,

где

<имя типа> - правильный идентификатор;

RECORD, END – зарезирвированные слова (запись, конец)

<сп. полей> - список полей представляет собой последовательность разделов записи, между которыми ставится точка с запятой.

Пример: Задание записи.

type

birthday = record

day, month: byte;

year : word

end;

var

a, b : Birthday;

. . . .

birthday – запись с полями day, month, year (день, месяц и год),

переменные a, b – содержат запись типа birthday

Пример: Задание записи – описывающей личную карточку успеваемости студента.

type

string7=string[7];

string20=string[20];

TstudentCard = record

Surname : string20; {фамилия}

Name : string20; {имя }

FatherName : string20; {отчество }

Year : Integer; {год рожд. }

HomeAddress: string; {Дом. адрес }

GroupCode : string7; {шифр группы}

MathAnal : Byte; {Мат. анализ}

Linal : Byte; {Лин.алгебра}

Prog : byte; {Программирование}

Phys : byte; {Физика }

End;

Как и в массиве значения переменных типа запись можно присваивать другим переменным того же типа, например: A: =b; и к каждому из компонентов записи можно получить доступ, если использовать составное имя, т.е. указать имя переменной, точку и имя поля: a.day :=27; b.year:=1987;

В записях могут существовать вложенные поля.

Пример: Уточнение задания вложенных полей.

type

birthday = record

day, month: byte;

year : word

end;

var

с: record

name: string;

bd: birthday

end;

begin

. . .

if c.bd.year=1970 then . . .

end.

Для упрощения работы с записями используют специальный оператор присоединения WITH.

With <переменная> do <оператор>,

где with, do – ключевые слова (с, делать)

<переменная> - имя переменной типа запись, за которой следует список вложенных полей.

<оператор> - любой оператор.

Паскаль разрешает использование записей с вариантными полями:

Пример. Задания записи с вариантными полями.

type

Forma = record

Name : string;

Case byte of

0: (BirthPlace : string [40]);

1: (Country : string [20];

Entryport : string [20];

EntryDate : 1. .31;

ExitDate : 1. . 31)

end;

В примере тип Forma определяет запись с одним фиксированным полем Name и вариантной частью, которая задается предложением Case . . of

Вариантная часть состоит в данном примере из двух вариантов: 0 и 1. Каждый вариант определяется константой выбора за которой следует двоеточие и список полей, заключенные в круглые скобки. В любой записи может быть только одна вариантная часть и располагается она за всеми фиксированными полями. В конце вриантной части не ставится END, как пара к Case . . of. END ставится как пара к record. Ключ выбора определяется, как некоторый стандартный или предварительно объявленный порядковый тип.

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