Общие сведения о файлах

Описание записи (RECORD).

Записи представляют собой так называемые составные единицы информации. Аналог записи – документ, например, анкета.

Запись – это структура данных (структурированный тип данных), состоящая из фиксированного числа разнотипных компонентов, называемых полями.

В общем виде описание типа для записи можно представить:

TYPE

идентификатор типа = RECORD

идент1: тип 1;

идент2: тип 2;

идент3: тип 3;

...

END;

Например,

TYPE

TA= RECORD

P1: REAL;

P2: STRING;

P3: INTEGER;

END;

VAR

A: ARRAY[1..10] OF TA;

ZAP: TA;

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

При работе с переменной типа запись возможны варианты.

1. Работа с записью как с единым целым. При этом варианте запись может участвовать в операциях ввода/вывода. Обращение к записи по её идентификатору: ZAP

2. Работа с отдельными полями записи. Каждое поле имеет свой идентификатор и тип. Для обращения к отдельным полям записи указываются составные имена: имя записи, после которого ставится точка и записывается идентификатор поля. К компонентам записи возможен прямой доступ по их составным именам ZAP.P1, ZAP.P2, ZAP.P3, и они могут изменяться:

ZAP.P1:= 3.14;

ZAP.P2:=’Н’;

ZAP.P3:= 12345;

Запись можно передавать в качестве параметра процедуры или функции, но значением функции запись быть не может.

Запись может объявляться и непосредственно в разделе описания переменных, это менее удобно.

VAR

C: RECORD

P1: REAL;

P2: STRING;

P3: INTEGER;

END;

Записи могут существовать «индивидуально», как самостоятельные переменные, могут быть элементами массива, но наиболее рациональное применение их – в виде элементов (записей) типизированного файла.


Работа с файлами.

Общие сведения о файлах.

При обработке на компьютере информация может храниться на внешних носителях в виде файлов.

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

Физическая запись – это совокупность данных, передаваемых в прямом или обратном направлении при одном обращении к внешнему носителю (т.е. минимальная единица обмена данными между внешней и оперативной памятью. С физическими записями - блоками работает операционная система). Физическая запись состоит из логических записей.

Логическая запись – единица данных, используемая в операторах чтения и записи файлов, порция информации, обрабатываемая в программе «за один раз». Логические записи объединяются в физическую запись для уменьшения числа обращений к внешнему устройству.

Для обращения к записям файла на внешнем носителе используется понятие логического файла.

Логический файл или файл в программе – это совокупность данных, состоящая из логических записей, объединенных общим назначением.

Соотношение между логическим и физическим файлами: один логический файл в программе и один из нескольких разных физических файлов на разных (возможно) носителях, но с одним типом записи.

В каждый конкретный момент времени возможен доступ через данный логический файл только к одному физическому файлу.

Число записей в файле произвольно.

В каждый момент времени доступна только одна запись.

Длиной файла называют количество записанных компонентов. Файл, не содержащий записей, называется пустым.

Блокирование – объединение логических записей в физическую при выводе, выполняется ОС автоматически с использованием буфера (буферов) вывода.

Деблокирование – процесс, обратный блокированию, тоже осуществляется ОС автоматически.

Буферизация - работа ОС по обеспечению обмена записями между логическим и физическим файлами.

ОС обеспечивает взаимодействие между физическим и логическим файлами. Стандартные средства обеспечения этого взаимодействия:

2) установление связи между физическим и логическим файлами ASSIGN (…), где указывается имя файла в программе и имя файла на внешнем носителе (выполняется без контроля существованияфайла);

3) обеспечение физической возможности обмена информацией между файлами, открытие файла для чтения информации из него RESET (…) или для записи в него REWRITE (…). При этом осуществляется контроль наличия физического файла;

4) прекращение, отмена возможности физического обмена информацией между файлами, закрытие файла CLOSE (…). Связь между файлами при этом не разрывается (т.е. ASSIGN действует).

При работе с файлами необходимо придерживаться следующих общих правил:

v каждый файл в программе (переменная файлового типа) должен быть объявлен в разделе VAR. Не допускается использование таких переменных в выраженияхи операторах присваивания.

v Тип компонентов файла может быть любым, кроме файлового.

v каждый файл в программе должен быть закреплен за конкретным файлом на носителе процедурой ASSIGN;

v открытие существующего файла для чтения, корректировки или дозаписи производится процедурой RESET, открытие создаваемого файла для записи – процедурой REWRITE;

v по окончании работы с файлом он должен быть закрыт процедурой CLOSE.

***********************************************


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: