Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
46
Добавлен:
18.03.2015
Размер:
77.31 Кб
Скачать

Прз на эвм(2) Файлы

Файл - структурированный тип данных, состоящий из последовательности компонентов одного типа, записанных под определенным именем.

Характеристические особенности:

  1. Каждый файл имеет свое имя (до 8 символов), что дает возможность программе работать сразу с несколькими файлами.

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

  3. Длина вновь создаваемого файла никак не оговаривается при его объявлении, а ограничивается только объемом внешней памяти.

Задание файлового типа или переменной файлового типа

<имя>= FILE OF <тип >; <имя>= TEXT<тип >; <имя>= FILE <тип >;

<имя> - имя файлового типа (правильный идентификатор).

FILE OF – зарезервированные слова (файл из).

<тип > - любой тип TP, кроме файлов.

В зависимости от способа объявления выделяют три вида файлов:

1. Типизированные (задаются предложением FILE OF…). (длина компонента строго постоянна)

2. Текстовые (определяются типом TEXT).(совокупность символов, разделенные на строки, в конце которой стоит признак конца строки. Для работы с файлом его необходимо открыть, а по окончании работы- закрыть).

3. Нетипизированные (определяются типом FILE).(для них не указан тип компонентов)

Описание файловой переменной задаётся обычным способом в разделе описаний: var f: file of integer;

Доступ к файлам осуществляется следующим образом: файловую переменную связывают с именем файла стандартной процедурой Assign <файловая переменная> <имя>.

Основные операции: создание, просмотр, копирование, перемещение и удаление.

Любой программе доступны два предварительно объявленных файла со стандартными файловыми переменными: INPUT – для чтения данных с клавиатуры и OUTPUT – для вывода на экран.

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

Процедуры и функции для всех файлов:

Процедуры:

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

Rewrite – создает новый файл для записи, старый файл уничтожается и никаких сообщений при этом не выдается.

Append – записывает информацию в конец файла в ранее существующий текстовый файл.

Reset – открывает файл для чтения, указатель устанавливается в начало файла.

Seek – устанавливает указатель на компоненту с порядковым номером N.

Close – закрывает файл, но связь файловой переменной с именем файла сохраняется.

Rename – переименовывает файл, перед переименованием данный файл нужно закрыть.

Erase – уничтожает файл, перед уничтожением данный файл нужно закрыть.

Truncate – усекает размер файла связанной с файловой переменной до текущей позиции. (для текстового файла не используется)

Для текстового:

WRITE(f, <список>) – запись в файл

WRITELN(f, <список>) – запись строки в файл.

READ (f, <список>) – чтение из файла.

READLN (f, <список>) – чтение строки из файла.

Функциия:

EOF– проверяет конец файла, возвращает истину, если указатель достиг конца файла.

EOLNвозвращает истину, если во входном текстовом файле достигнут конец строки.

File Size определяет длину файла, не для текстовых файлов.

FileРоs возвращает значение longint, содержащий порядковый номер компонента файлов, который будет обрабатывать операцию ввода – вывода. Не для текстовых файлов.

IORESULTпроверяет результат выполнения последней операции на наличие ошибок.

Организация файла:

1. Объявить файловую переменную

2. Имя файла связать с файловой переменной

3. Открыть файл для записи

4. Записать данные в файл

5. Закрыть файл

Пример описания файлов:

Type text80=file of string [80];

Var f1:file of integer;(типиз-ный)

f2: text;(текс-ый)

f3: file;(нетипиз-ый)

f4: text80;(типиз-ый)

Пример применения файлов:

var f:text;

m:array[1..100] of integer;

i,k:integer;

begin k:=0;

assign (f,'xxx.txt'); reset(f); i:=1;

while not eof(f)do

begin

readln(f,m[i]);

if m[i]<>0 then k:=k+1;

inc(i);

end;

writeln (k);

close (f);

end.

Соседние файлы в папке ТЕОРИЯ наша!!!