Понятие записи. Объявление записи в программе.


Тип записи используется для хранения под одним именем разнотипных (в отличие от массива) элементов. Эти элементы называются обычно полями записи.

Допустим необходимо представить в виде записи информацию о дне рождения: день, месяц и год. Соответствующая иерархическая структура будет иметь вид:

birthday

day month year

1..31 1..12 word

Описание такой записи на Паскале:

Тип полей записи
var

birthday : record

Поля записи
day : 1..31;

month : 1..12;

year : word;

end;

Имена полей записи

 


Замечание:

Тип записи, как и тип массива, можно описывать прямо в секции описания переменных. Но такую запись нельзя будет передать в подпрограмму.

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

Пусть таблица table имеет следующую структуру:

  A       B  
      C   D  
e f g h i j k
             

Соответствующее описание записи: var table : record A : record e : byte; f : word; g : real; end {A}; B : record C : record h : byte; i : char; end {C}; D : record j : real; k : byte; end{D}; end {B}; end {table};  
Такой структуре записи соответствует следующая иерархическая структура данных:

table


A B

i z4votyUapYuGEUKF5Xop3ij9t+IY2uhcdmP5jlkJrtFd+oDsNdP79STM0mTmZ9kk8dOkDP2H2Tr3 7/NoOs3Kh/yhfMO0dNHr9yE7ptKykntD1VNDekSY1T+ZzOPIgwU0u1UWPg9hvoNXqjLKQ0qaH8w0 rnZtrVmMK61nof0HrUf0cyIuGtrVqMIQ20uqQPOLvq4lbBec+2kryWmjLq0Cre2chmfIvh2v1zB/ /Viu/gAAAP//AwBQSwMEFAAGAAgAAAAhAN/FQQnfAAAACQEAAA8AAABkcnMvZG93bnJldi54bWxM j01Lw0AQhu9C/8MyBW92N8G2GrMp4gcIEkqrl96m2TEJZmdDdpvGf+/2pLcZ5uGd5803k+3ESINv HWtIFgoEceVMy7WGz4/XmzsQPiAb7ByThh/ysClmVzlmxp15R+M+1CKGsM9QQxNCn0npq4Ys+oXr iePtyw0WQ1yHWpoBzzHcdjJVaiUtthw/NNjTU0PV9/5kNYxJydu3l4N7fseyXialOVTroPX1fHp8 ABFoCn8wXPSjOhTR6ehObLzoNCzv03VENaQqARGBlbpNQRwvgwJZ5PJ/g+IXAAD//wMAUEsBAi0A FAAGAAgAAAAhALaDOJL+AAAA4QEAABMAAAAAAAAAAAAAAAAAAAAAAFtDb250ZW50X1R5cGVzXS54 bWxQSwECLQAUAAYACAAAACEAOP0h/9YAAACUAQAACwAAAAAAAAAAAAAAAAAvAQAAX3JlbHMvLnJl bHNQSwECLQAUAAYACAAAACEAoU+HeJcCAAB0BQAADgAAAAAAAAAAAAAAAAAuAgAAZHJzL2Uyb0Rv Yy54bWxQSwECLQAUAAYACAAAACEA38VBCd8AAAAJAQAADwAAAAAAAAAAAAAAAADxBAAAZHJzL2Rv d25yZXYueG1sUEsFBgAAAAAEAAQA8wAAAP0FAAAAAA== " o:allowincell="f" strokeweight="1pt"/> e f g C D

h i j k

 

 

То, что написано выше позволяет сохранить только одну строку в сложной таблице. Если необходимо представлять таблицу размерам, больше чем одна строка, то возможно два варианта:

1). Можно рассматривать сложную таблицу как бы состоящую из большого количестваоднострочных карточек: В этом случае иерархической структуре будет соответствовать массив записей, где каждая запись позволяет описать одну строку таблицы:

var

table : array [1..10] of record

A: record

e : byte;

f : word;

g : real; структура базы данных

end {A};

B : record совокупность полей и их свойств

C : record

n : byte;

i : char;

end {C};

D : record

j : real;

k : byte;

end {D};

end {B};

end {table};

10 записей в базе данных


  A       B  
      C   D  
e f g h i j k
             

 

 

поля базы данных база данных

2). Массивом будет являться поле записи:

var table : record

A: record

e : array[1..20] of byte;

f : array[1..20] of word;

g : array[1..20] of eal;

end;

B : record

C : record

n : array[1..20] of byte;

i : array[1..20] of char;

end;

D : record

j : array[1..20] of real;

k : array[1..20] of byte;

end;

end;

end;

 

  A       B  
      C   D  
s c1BLAQItABQABgAIAAAAIQCj03HlCAMAAHoGAAAOAAAAAAAAAAAAAAAAAC4CAABkcnMvZTJvRG9j LnhtbFBLAQItABQABgAIAAAAIQDMe0T23wAAAAoBAAAPAAAAAAAAAAAAAAAAAGIFAABkcnMvZG93 bnJldi54bWxQSwUGAAAAAAQABADzAAAAbgYAAAAA " adj="2936"/> e f g h i j k
             
             
             
             

 

20 строк в каждой строке колонки (поля) логически связаны друг с другом

 

Первый способ представить таблицу отличается от второго, например, удобством сортировки записей в целом. Если необходимо сортировать строки в таблице то по 2-му способу надо будет переупорядочивать для каждой строки все элементы массивов, а сам по 1-му способу – то можно будет «сдвигать» записи (строки) в целом, что удобнее.

 



Дата добавления: 2016-05-28; просмотров: 1748;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.011 сек.