Работа с файлами (в дальнейшем рассмотрим файл с именем 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);.
Организация нового файла
При выполнении задания предлагается организовать запись в файл исходной информации при помощи цикла с предусловием до тех пор, пока не будет введен признак конца ввода (например, символ *).
При подготовке исходных данных необходимо учесть, что выходная информация программы обработки файла должна составлять не менее половины от входной.
Для удаления записей необходимо использовать рабочий файл, в который сначала последовательно переписать из исходного файла все оставляемые записи, затем исходный файл открыть на запись, рабочий файл - на чтение и все содержимое рабочего файла переписать в исходный файл.