Записи и десигнаторы полей
Record
Записи
End.
Begin
Begin
Begin
for i:=1 to n do
for j:=1 to m do
write('A[' , i , ' , ' , j , ' ] = ' );
read(a[i, j]);
end;
for j:=1 to m do
s:=0;
for i:=1 to n do
s:=s+a[i,j];
s:=s/n;
writeln('среднеарифметическое в строке №',j,' = ', s);
end;
Запись – конечное множество поименованных элементов произвольного типа.
Элементы, из которых состоит запись, называют полями.
Синтаксис описания типа запись:
Ид_поля1, Ид_поля2...: описание_типа|ид_типа;
...
End;
Запись удобно представлять в виде строки в таблице. Таким образом, множество записей представляет собой непосредственно таблицу. Средствами языка Pascal таблица может быть организована как одномерный массив с элементом типа запись.
Пример описаний структур данных типа запись:
type
{описание нового пользовательского типа PhRec}
PhRec = record
No: integer;
Name : string [20];
Phone : string [18];
end;
var
{описание двух переменных типа PhRec}
Zap1, Zap2: PhRec;
{описание массива из 20-ти элементов типа PhRec}
Tab: array [1..20] of PhRec;
В данном примере переменные Zap1 и Zap2 представляются отдельными строками, а переменная Tab – таблицей, состоящей из 20-ти строк (рис. 22).
Название поля | No | Name | Phone | |
Содержимое | ||||
![]() ![]() | ||||
Название поля | No | Name | Phone | |
Содержимое | ||||
![]() ![]() | ||||
Название поля | No | Name | Phone | |
индексы | ||||
Содержимое | ||||
... | ||||
![]() ![]() |
Рисунок 22 – Структура записей и массива записей
Конкретное поле переменной-записи обозначается с помощью ссылки на переменную-запись, после которой указывается идентификатор поля.
Синтаксис конструкции доступа к полю записи: