Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы по Информатике 2011.doc
Скачиваний:
6
Добавлен:
04.11.2018
Размер:
557.06 Кб
Скачать

3.1.2. Обращение к полям записи.

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

  1. Прямой доступ.

Обращение к значению поля осуществляется с помощью идентификатора переменной и идентификатора поля, разделенных точкой. Такая комбинация называется составным именем. Например, чтобы получить доступ к полям записи Klient, надо записать: Kl1.Number, Kl1.Marka, Kl1.FIO, Kl1.Adres.

Составное имя можно использовать везде, где допустимо приме­нение типа поля. Для присваивания полям значений используется оператор присваивания. Пример.

M.Number :=1678;

M.Marka :=’Volvo';

M.FIO := 'Орлов A.Г. ';

M.adres := 'ул. Пушкина 11-41';

Cocтавные имена можно использовать, в частности, в операторах ввода-вывода:

Read(M Number, H Marka, M FIO, M.Adres);

Write(M. Number:4, M.Marka:7, M FIO:12, M.adres: 25);

Допускается применение оператора присваивания и к записям в целом, если они имеют один и тот же тип. Например, Kl2 := М;. Пос­ле выполнения этого оператора значения полей записи Kl1 станут равны значениям соответствующих полей записи М.

В ряде задач удобно пользоваться массивами из записей.Их можно описать следующим образом:

Type

Person = record

FIO : string[28];

Age : 1..99;

Prof : string[30]

end;

Var List : аггау[1 .. 50] of Person;

  1. Коллективный доступ к полям записи.

Обращение к полям записи имеет несколько громоздкий вид, что особенно неудобно при использовании идентификато­ров длиной более 5 символов. Для решения этой проблемы в языке Паскаль предназначен оператор with, который имеет следующий фор­мат:

with <переменная типа запись> do <оператор>;

Один раз указав переменную типа запись в операторе with, мож­но работать с именами полей как с обычными переменными, т.е без указания перед идентификатором поля имени переменной, опре­деляющей запись.

Пример. Присвоить значения полям записи Klient с помощью оператора with.

With M do begin Number :=43;

Marka :=’Запорожец’;

FIO := ‘Ильин М.И.';

Adres :=’ул. Болтунов, 5' end;

Паскаль допускает вложение записей друг в друга (т.е. поле в записи может быть в свою очередь тоже записью), соответственно оператор with тоже может быть вложенным:

With V1 do

with V2 do

with V3 do .. что эквивалентно записи with V1,V2,V3 do. Уровень вложения не должен превышать 9.

Записи используются обычно при работе с динамическими струк­турами и для организации файлов на магнитных дисках.Записи могут служить также для описания комплексных чисел,так как в языке Па­скаль нет для этого специальных средств. В этом случае действи­тельная и мнимая части комплексного числа являются полями записи:

Type Complex = record

Deistv : real; { действительная часть }

Mnim :real; { мнимая часть}

end;

Var

A, В, С : Complex; { A,B,C - переменные типа Complex } Begin

A.Deistv := 6.3;

A.Mnim := 1.9;

end;