Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
1. Обращение к записи в целом возможно только в операторе присваивания, где слева и справа от знака присваивания используются имена записей одинакового типа, например: b:= a;
Естественно, что до выполнения этого оператора значения всех полей переменной – записи a должны быть определены. Во всех прочих случаях оперируют отдельными полями записи.
2. Реализуется прямой доступ к любому полю записи. Чтобы обратиться к отдельному полю записи, необходимо задать имя переменной типа запись и через точку указать имя нужного поля, например:
a. re:= 1.54; a. im:= – 2.45;
Такое имя называется составным.
Поскольку обращение к каждому полю записи идет по его имени, то при определении типа запись порядок указания ее полей не играет роли и может быть произвольным.
3. Допускается любая степень вложенности одной записи в другую. Любое поле записи может быть само записью, например:
type stud = record
name: string[15];
data: record
day: 1.. 31:
month: 1.. 12;
year: integer
end;
sex: (m, w)
end;
var cc: stud;
Значения переменной сс можно задать, определив значения всех полей, например, следующим образом:
cc. name:= 'Миронов А. В. ';
cc. data. day:= 15;
cc. data. month:= 11;
cc. data. year:= 1989;
cc. sex:= m;
4. Для упрощения работы с записями используется оператор присоединения with. Он позволяет заменить составные имена, характеризующие каждое поле, просто именами полей, а имена записи определить в операторе присоединения:
with M do S;
гдеМ – имя записи,
S – оператор, простой или составной.
Оператор S представляет собой область действия оператора присоединения, в пределах которой можно не использовать составные имена.
Иначе говоря, оператор присоединения позволяет работать с полями записи, как с простыми переменными.
Без оператора присоединения: | С оператором присоединения |
Пример 1 | |
a.re:= 1.54; a.im:= 2.45 | with a do begin re:= 1.54; im:= 2.45 end; |
Пример 2 | |
data.day:= 15; data.month:= 12; data. year:=1989 | with data do begin day:= 15; month:= 12; year:=1989 end; |
5. Допускается использование записей в качестве компонент других сложных типов, например, массивов. Массив комплексных чисел можно задать так:
var mascomp: array [1.. 10] of comp;
Оператор присваивания нового значения полю re во второй записи массива имеет вид:
mascomp [2]. re:= 1.54.
При вводе элементов массива из записей с клавиатуры обычно используют оператор присоединения:
write(‘Введи комплексное число’);
for i:= 1 to 10 do
with mascomp [ i ] do
begin writeln (‘действительная часть: ’);
readln(re);
write(‘мнимая часть: ’);
readln(im)
end;
Дата публикования: 2014-11-28; Прочитано: 168 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!