Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на ПАСКАЛЕ.doc
Скачиваний:
12
Добавлен:
04.09.2019
Размер:
2.98 Mб
Скачать

10. Файловый тип

До сих пор все рассмотренные типы переменных отличались тем, что в них заранее известно число компонент и тип этих компонент. Например, массив ARRAY[1..N] OF REAL состоит из N вещественных чисел, а запись состоит из N полей, каждое из которых имеет свой тип. Кроме того, характерной особенностью всех рассмотренных ранее типов данных является то обстоятельство, что все эти данные неразрывно связаны с самим текстом программы и «живут» вместе с ней. Это означает, что все данные, присущие некоторой программе, не могут быть отделены от нее и не могут использоваться в другой программе.

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

Итак, файл (FILE) представляет собой совокупность (объединение) данных одинаковых или разных типов. В этом файлы напоминают массивы или записи. Однако у массива (записи) с помощью индекса (имени поля) можно указать любой его элемент, например: A [7] – седьмой элемент массива. У файла же вызывать данные таким образом нельзя.

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

F

F1

F2

F3

F4

Здесь F – имя файла, F1, F2 – элементы (компоненты) файла.

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

Чтобы в файле последовательного доступа выйти, например, на его пятый элемент, надо пройти первый, второй, третий, четвертый. Если прочитан седьмой элемент файла, то, чтобы прочитать пятый элемент, надо выйти на начало файла.

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

10.1. Определение и описание типизированного файла

Файл представляет собой последовательность однотипных компонент произвольной длины. Каждый файл имеет свое имя, являющееся именем соответствующей файловой переменной, которая должна быть заявлена либо с помощью слова TYPE, либо VAR. Для обозначения этого типа данных используется служебное слово FILE (см. рис. 40).

Рис. 40. Синтаксическая диаграмма типизированного файла