Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 семестр.pdf
Скачиваний:
74
Добавлен:
29.05.2015
Размер:
1.12 Mб
Скачать

7. РАБОТА С ФАЙЛАМИ ДАННЫХ

Очень важным моментом в программировании инженерных задач является работа с файлами данных. Особенно часто ввод данных из файла используется для ввода массивов и матриц.

Файловый тип данных (или файл) определяет упорядоченную совокупность произвольного числа однотипных компонент.

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

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

'A:\LAB1.DAT'

'c:\ABC150\pr.pas'

'dat.pas'.

Для работы с файлами в программе необходимо определить файловую переменную. Турбо Паскаль поддерживает три файловых типа: текстовые файлы, типизированные файлы, нетипизированные файлы.

Описание типизированных файлов имеет вид var f1: File of T;

Здесь T – тип компоненты файла. Примеры описания файловой переменной компонентного типа:

type M=array[1..500] of Longint; var fLi: File of M;

f1: File of Real; f2: File of Integer;

Бестиповые файлы описываются с помощью служебного слова File: var f1: File;

Особое место в языке Паскаль занимают текстовые файлы, компоненты которых имеют символьный тип. Для описания текстовых файлов в языке определен стандартный тип Тext:

var TF1,TF2: Text;

Текстовые файлы представляют собой последовательность строк, а строки – последовательность символов. Строки имеют переменную длину, каждая строка завершается признаком конца строки. Иначе говоря, описанные выше файловые переменные можно было описать так:

56

var TF1,TF2: File of Char;

Будем использовать первый вариант описания.

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

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

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

Assign (var f; FileName: String);

Процедура связывает логический файл f с физическим файлом, полное имя которого задано в строке FileName.

Reset (var f);

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

Rewrite (var f);

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

Append (var f: Text);

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

Close (var f);

Процедура закрывает открытый до этого логический файл. Вызов процедуры Close необходим при завершении работы с файлом. Если по какой-то причине процедура Close не будет выполнена, файл все

57

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]