Файлы. Текстовые файлы. Типизированные и нетипизированные файлы

Страницы работы

Фрагмент текста работы

Файл

Тип-файл представляет собой последовательность компонент одного типа, расположенных на внешнем устройстве. Компоненты могут быть любого типа, за исключением типа-файла. Число компонент в файле не объявляется и может быть произвольным.

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

1)  программы могут быть связаны с окружающей средой только с помощью файлов;

2)  программы составляются, как правило, с целью изменения или получения данных, содержащихся в файлах;

3)  файлы являются средством хранения большого объема информации.

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

Файловый тип определяется в программе с помощью соответствующего описания:

ТУРЕ

(ИМЯ-ФАЙЛА) = FILE OF (ТИП-ЭЛЕМЕНТОВ);

Например,

TYPE

F:file of real;

Или определение типов

CONST

МАХ = 8O;

TYPE

М=1..МАХ;

F=ARRAY [M] OF CHAR;

FF=FILE OF F;

задаст файл FF, элементами которого могут быть массивы символов длиной М (1 < M < 80).

Переменная, имеющая смысл файла, описывается в разделе переменных:

VAR

SPISOK: FF;

A, B, C: f ;

Тип-файл можно определять и непосредственно при введении файловых переменных:

var

F1, F2: file of Integer;

Структурно файл организован как последовательность элементов, идущих друг за другом. Располагается (хранится) файл на внешних носителях информации. Однако при написании программы физическая природа файлов не учитывается. Привязка реальных файлов к программе осуществляется операционной системой.

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

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

ASSIGN (F, ‘C:\ n’), где F – имя файловой переменной.

Процедура Аssign связывает имя внешнего файла (того файла, с которым мы будем работать) с файловой переменной F:

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

ЗАПИСЬ В ФАЙЛ.

Операция установки маркера на начало файла и приготовления его для записи информации выполняется с помощью вызова стандартной процедуры REWRITE (SPISOK)

Эта операция одновременно уничтожает всю имеющуюся в данный момент в файле SPISOK информацию.

Для записи компоненты в файл используется процедура WRITE.

WRITE(SPISOK, A[i]).

ЧТЕНИЕ ФАЙЛА.

Перед чтением информации из файла необходимо предварительно выполнить процедуру

RESET (‘ИМЯ-ФАЙЛА’),

которая переместит маркер файла, не изменяя файл, на его начало.

Для чтения компоненты файла можно использовать процедуру READ: READ (SPISOK, BUF)

Для определения этого состояния можно использовать стандартную булеву функцию EOF (‘ИМЯ-ФАЙЛА’). Функция EOF имеет два значения в зависимости от одной из следующих ситуаций:

В случае, когда файл оказывается пустым, значение функции EOF (SPISOK) будет равно TRUE непосредственно после вызова процедуры RESET (SPISOK).

Пример  Имеется два отсортированных файла целых чисел:

f1, f2, …, fm и g, g2  ... gn,

Осуществить слияние файлов f и g в отсортированный файл h.

Решение этой задачи может быть получено простым сравнением следующих друг за другом элементов f и g. Меньший из них передается в h и происходит сдвиг по файлу, из которого был взят этот элемент, а также

Похожие материалы

Информация о работе