Записи и десигнаторы полей

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
Содержимое      
  запись Zap1
Название поля No Name Phone
Содержимое      
  запись Zap2
 
Название поля No Name Phone
  индексы      
Содержимое        
     
     
...      
     
     
  массив Tab

 

Рисунок 22 – Структура записей и массива записей

 

 

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

 

 

Синтаксис конструкции доступа к полю записи: