
- •1. Понятие файла
- •2. Типизированные файлы
- •3. Процедуры и функции обработки файлов.
- •3.1. Процедуры.
- •3.2. Функции
- •4. Файлы последовательного доступа
- •5. Текстовые файлы
- •5.1. Процедуры и функции обработки текстовых файлов
- •6. Нетипизированные файлы
- •Индивидуальные задания.
- •Порядок выполнения работы:
- •Содержание отчета:
Тема: Работа с файлами последовательного доступа.
Цель: научиться составлять программы с использованием файлов последовательного доступа.
Теоретическая часть.
1. Понятие файла
Входная и выходная информация по отношению к программе на языке Паскаль представляется в виде файлов. Например, ввод и вывод данных в предыдущих работах осуществлялись с помощью стандартных файлов, имена которых определяются идентификаторами InPut и QutPut. Файл в общем случае состоит из нескольких однотипных компонент (элементов) и представляется файловой переменной. Файл может существовать как до, так и после выполнения программы и занимать память намного больше, чем сама программа. Программу пользователя также можно рассматривать в виде совокупности данных, допускающей представление файловой переменной.
Файл - это поименованная область памяти на внешнем носителе, предназначенная для хранения информации. Файл с точки зрения языка Паскаль - это структурированный тип данных, состоящий из последовательности компонентов в большинстве случаев одного типа и одной длины. Число компонентов, называемое длиной файла, определением типа файла не фиксируется.
В зависимости от способа объявления в Турбо Паскале можно выделить 3 вида файлов:
типизированные, которые задаются предложением File of «тип»;
текстовые, которые задаются предложением Text;
нетипизированные, которые задаются предложением File.
Существует два способа доступа к компонентам файла: последовательный и произвольный (прямой). При последовательном способе доступа поиск требуемого элемента начинается с начала файла и проверяется по очереди каждый элемент, пока не будет найден нужный. Произвольный способ доступа позволяет обращаться к элементу файла по его порядковому номеру.
2. Типизированные файлы
Определение файлового типа
Файловый тип определяется в программе с помощью соответствующего описания:
Туре
<имя типа> = file of <тип компонентов>;
где <тип компонентов> - любой базовый тип, кроме файлового.
Переменная файлового типа описывается в разделе определения переменных:
Var
<идентификатор> : <имя типа>;
Например, определение типов
Const
Мах = 80;
Туре
Line = string[Max];
Fl = file of Line;
задаёт файловый тип Fl, элементами которого могут быть строки длиною до 80 символов. Файловая переменная описывается в следующем виде:
Var
List: FL;
Возможно описание файловой переменной непосредственно в разделе определения переменных без определения файлового типа. Однако базовый тип компонентов файла должен быть предварительно определен или же являться стандартным:
Const
Мах = 80;
Туре
Line = string[Max];
Var
List: file of Line;
При работе с файлами очень часто в качестве их компонентов используются записи. Например, для хранения результатов сдачи сессии группой студентов, можно представить не в виде массива записей, а как файл записей:
Туре
stud = record
fam : string[15];
b1, b2, bЗ, b4, b5:2..5;
sb : real;
end ;
Var
tbl: file of stud;
student: stud;
Доступ к компонентам файла осуществляется через указатель файла (скрытую переменную, неявно описанную вместе с файловой переменной tbl). При чтении или записи этот указатель перемещается к следующему компоненту и делает его доступным для обработки. Файловая переменная имеет отличие ото всех других переменных: она не может использоваться в выражениях и операторах присваивания. Для возможности обработки компонента файла должна быть введена переменная того же типа, что и элементы файла (в примере - это переменная student).