Описание записей


Записи

Содержание

Записи. Бинарные файлы

Лекция 7

Прочие затраты.

Амортизация;

Отчисления на социальные нужды;

Затраты на оплату труда;

Материальные затраты;

 

 

 

 

Использование таблиц с разнотипными полями. Работа с бинарными файлами.

 

 

 

Записи. 1

Описание записей. 1

Задание записей константой. 3

Доступ к полям.. 3

Оперирование несколькими полями. 4

Вложенные операторы with. 5

Запись с вариантной частью.. 6

Описание записи с вариантной частью.. 6

Механизм использования записи с вариантной частью.. 7

Бинарные файлы.. 7

Типизированные файлы.. 8

Описание типизированных файлов. 8

Назначение типизированного файла. 9

Открытие и закрытие типизированного файла. 9

Считывание из типизированного файла. 9

Поиск в типизированном файле. 10

Запись в типизированный файл. 10

Нетипизированные файлы.. 11

Описание нетипизированных файлов. 11

Назначение нетипизированного файла. 11

Открытие и закрытие нетипизированного файла. 11

Поиск в нетипизированном файле. 12

Запись и чтение. 12

Подпрограммы обработки директорий. 12

Применимость подпрограмм обработки файлов. 13

 

 

Продолжая изучение структурированных типов данных, переходим к записям.

 

Как и массивы, записи являются структурами прямого доступа, однако, в отличие от массивов, могут хранить элементы, относящиеся к разным типам данных.

 

Таким образом, запись - это вектор, компоненты которого ( поля ) могут относиться к разным типам данных.

 

В разделе var переменную типа запись описывают так:

 

var <имя_записи>: record <имя_поля1>: <тип_поля1>;

[<имя_поля2>: <тип_поля2>;]

[...]

end;

 

Имена полей должны подчиняться общим правилам построения идентификаторов. Повторение имен полей внутри одной записи не допускается.

 

Замечание: Имена полей могут совпадать с именами других переменных, поскольку на самом деле являются составными:

 

<имя_записи>.<имя_поля>.

 

Поэтому можно записать:

var x: real;

r: record x: real;

y: real

end;

 

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

 

Если несколько подряд идущих полей принадлежат к одному типу данных, их описания можно объединить:

 

var <имя_записи>: record <имя_поля1>,_,<имя_поляN>: <тип_полей>;

<имя_поляS>: <тип_поляS>;

...

end;

 

Например:

 

var zap1: record x,y: real;

i,j,k: integer;

flag: boolean;

s: set of 'a'..'z';

a: array[1..100] of byte;

data: record day:1..31;

month: 1..12;

year: 1900..2100;

end;

end;

 

Эта запись содержит 9 полей, три из которых сами являются составными.

 

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

 

var tabl: array[1..100] of zap1;