Файловый тип данных⇐ ПредыдущаяСтр 14 из 14
Общий вид описания файлового типа - type T = file of Tk; Здесь Т - идентификатор типа; Тк - тип компонента (любой кроме типа file). Каждую переменную-файл надо описать в разделе var. Например, файл F целых чисел: type AA = file of integer; var f:AA; Файл может быть описан и непосредственно при описании переменной, например: var f:file of real;. Часто компонентами файла являются записи. В этом случае файловую переменную можно описать так: type zap = record N : integer; Fio : array[1..3] of string; ok : real end; var fa:file of zap; ra:zap;
Процедуры обработки файлов Работа с файлами (в дальнейшем рассмотрим файл с именем F) проводится посредством следующих стандартных процедур. 1 assign(F,ST) - присвоение имени файлу. Имя файла, которое является значением строкового выражения ST, присваивается переменной файлового типа F. Например assign(F,’ a : fil.dat ’); 2 rewrite(F) - подготовка к записи информации в начало файла F; создание нового файла. 3 write(F,A) - запись значения переменной A в файл F. 4 reset(F) - подготовка к чтению информации с начала файла F. 5 read(F,A) - чтение компонентов файла в переменную A. 6 close(F) - закрытие файла, назначенного переменной F. Если файл был открыт, никогда не следует выходить из программы, предварительно не закрыв его. Для того, чтобы определить готовность файла к чтению либо к записи информации, существует стандартная функция eof(F). Если указатель файла продвинулся на конец файла (готовность к записи), то эта функция принимает значение true, в остальных случаях - false. В частности, процедура rewrite очищает файл и устанавливает указатель на признак конца файла. Функции eof(F) присваивается значение true. Напротив, процедура reset устанавливает указатель файла на первую компоненту, а функции eof(F) присваивается значение false. Функцию eof(F) можно использовать в условном операторе после if или в операторе цикла while. Если нужно после if или после while поместить не условие конца, а условие того, что файл не закончен, то применяется следующая конструкция, например: while not eof(f) do read(f,a);.
Организация нового файла
При выполнении задания предлагается организовать запись в файл исходной информации при помощи цикла с предусловием до тех пор, пока не будет введен признак конца ввода (например, символ *). При подготовке исходных данных необходимо учесть, что выходная информация программы обработки файла должна составлять не менее половины от входной. Для удаления записей необходимо использовать рабочий файл, в который сначала последовательно переписать из исходного файла все оставляемые записи, затем исходный файл открыть на запись, рабочий файл - на чтение и все содержимое рабочего файла переписать в исходный файл.
Файлы с типом
Файл с типом состоит из однотипных компонентов, причем их количество при определении файла не определяется. Доступ ведется через указатель файла (файловая переменная). При чтении (записи) этот указатель перемещается к следующего компоненту. Поскольку все компоненты файла имеют одинаковую длину, то возможен произвольный (прямой) доступ к компонентам файла.
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|