Файлы
В практике программирования встречаются задачи, которые решаются регулярно (множество раз) – начисление зарплаты 2 раза в месяц
До сих пор мы рассматривали данные, которые хранились в ОП ЭВМ, и, как только программа заканчивала свою работу, эти данные
Файл – поименованная (т.е. имеющая имя) область внешней памяти ЭВМ (винчестер (жесткий диск), флеш-память), состоящая из
Каждый файл имеет имя, состоящее из двух частей: - собственное имя файла; - расширение имени файла. primer.odt Cобственное имя
На диске есть каталог файлов, т.е. список всех файлов и их адресов, где они находятся. Иногда к имени файла приписывают имя
На диске есть дорожки. Каждый файл имеет метку начала файла и метку конца файла.
Проблема: как работать с файлами, размещенными на дисках? Программа работает в ОП, имеющей гораздо меньший объем, чем диск. Для
Файл состоит из отдельных компонент. Длина файла – число компонент в этом файле. Файл, не содержащий ни одной компоненты,
Выделяют три типа файлов: 1) текстовые; 2) типизированные; 3) нетипизированные.
Объявление файлов
Объявление файлов
Объявление файлов
Стандартные процедуры для работы с файлами
Стандартные процедуры для работы с файлами
Стандартные процедуры для работы с файлами
Стандартные процедуры для работы с файлами
Стандартные процедуры для работы с файлами
Стандартные процедуры для работы с файлами
Стандартные процедуры для работы с файлами
Стандартные функции для работы с файлами
Особенности работы с файлами
83.86K
Category: programmingprogramming

16_Файлы

1. Файлы

1

2. В практике программирования встречаются задачи, которые решаются регулярно (множество раз) – начисление зарплаты 2 раза в месяц

- и
требуют обработки большого
количества малоизменяемых
данных (список работающих
сотрудников и их оклады).
2

3. До сих пор мы рассматривали данные, которые хранились в ОП ЭВМ, и, как только программа заканчивала свою работу, эти данные

удалялись из
памяти. Поэтому при новом запуске
такой программы данные вводились
повторно (т.к. ОП предназначена для
кратковременного хранения данных).
Для
долговременного
хранения
данных был разработан файловый тип
данных.
3

4. Файл – поименованная (т.е. имеющая имя) область внешней памяти ЭВМ (винчестер (жесткий диск), флеш-память), состоящая из

компонент
одинакового
типа.
Максимальное количество памяти,
выделяемое под файл, определяется
емкостью диска (в тысячи раз
больше, чем объем ОП).
4

5. Каждый файл имеет имя, состоящее из двух частей: - собственное имя файла; - расширение имени файла. primer.odt Cобственное имя

файла –
строка.
Расширение имени файла –
строка из 3 символов.
5

6. На диске есть каталог файлов, т.е. список всех файлов и их адресов, где они находятся. Иногда к имени файла приписывают имя

диска и папки, где он
находится.
d:\tp\primer.odt
6

7. На диске есть дорожки. Каждый файл имеет метку начала файла и метку конца файла.

Метка начала файла
Компоненты
Дорожка
Метка конца файла
Диск
7

8. Проблема: как работать с файлами, размещенными на дисках? Программа работает в ОП, имеющей гораздо меньший объем, чем диск. Для

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

9.

ОП
Метка начала файла
Компоненты
Метка конца файла
Файловая
переменная
9

10. Файл состоит из отдельных компонент. Длина файла – число компонент в этом файле. Файл, не содержащий ни одной компоненты,

называется
пустым.
При создании файла не оговаривается количество
компонент в нем (в отличии от массива array [1..10] of
integer). Оно ограничивается объемом диска, где
размещается
этот
файл.
Над файлами можно выполнять два вида
действий:
1.
Просмотр
(чтение
файла).
Он
выполняется
путем
последовательного
продвижения по файлу, начиная с его начала. При
этом как указывалось, в каждый данный момент
времени
доступна
одна
компонента
файла.
2.
Запись
в
файл.
Она выполняется путем добавления новых компонент
в конец первоначально пустого файла.
10

11. Выделяют три типа файлов: 1) текстовые; 2) типизированные; 3) нетипизированные.

11

12. Объявление файлов

Текстовые
Var
t: textfile;
Типизированные
Var
f: file of <тип компонент файла>;
Var
f: file of integer;
или
Type
ff= file of integer;
Var
f: ff;
12

13. Объявление файлов

Типизированные
Var
f1: file of string;
f2: file of char;
Type
anketa= record
fam, imy:string[20];
end;
ff=file of anketa;
Var
f: ff;
13

14. Объявление файлов

Нетипизированные
Var
m: file;
14

15. Стандартные процедуры для работы с файлами

Процедура assignfile (имя файловой переменной,
имя файла на диске);
var
f: file of real;
begin
assignfile(f, ‘f.dat’);
Процедура assignfile связывает файловую
переменную с именем вновь создаваемого или
уже существующего файла.
15

16. Стандартные процедуры для работы с файлами

Процедура assignfile
Если файл размещен (или будет размещен) на
том же диске и в той же папке, где и файл с
программой, то имя диска и папки не
указывается, а если – на разных дисках (папках),
то - указывается.
var
f: file of real;
begin
assignfile(f, ‘d:\tp\f.dat’);
16

17. Стандартные процедуры для работы с файлами

Процедура closefile (имя файловой переменной);
Закрывает ранее открытый файл. Ранее
должна быть выполнена процедура assignfile.
var
f: file of real;
begin
assignfile(f, ‘f.dat’);

closefile(f);
17

18. Стандартные процедуры для работы с файлами

Процедура reset (имя файловой переменной);
Открывает файл для чтения, устанавливает
указатель на начало файла. Ранее должна быть
выполнена процедура assignfile.
var
f: file of real;
begin
assignfile(f, ‘f.dat’);
reset(f);

closefile(f);
18

19. Стандартные процедуры для работы с файлами

Процедура rewrite (имя файловой переменной);
Открывает файл для записи, устанавливает
указатель на начало файла. Если в файле что-либо
было записано, то информация уничтожается. Ранее
должна быть выполнена процедура assignfile.
var
f: file of real;
begin
assignfile(f, ‘f.dat’);
rewrite(f);

closefile(f);
19

20. Стандартные процедуры для работы с файлами

Процедура rename (имя файловой переменной,
новое имя файла);
Переименовывает файл. Перед ее выполнением
необходимо закрыть файл.
var
f: file of real;
begin
assignfile(f, ‘f.dat’);

rename(f, ‘newname.dat’);

20

21. Стандартные процедуры для работы с файлами

Процедура erase (имя файловой переменной);
Уничтожает (стирает) файл. Ранее должна быть
выполнена
процедура
assignfile.
Перед
ее
выполнением необходимо закрыть файл.
var
f: file of real;
begin
assignfile(f, ‘f.dat’);

erase (f);
21

22. Стандартные функции для работы с файлами

Функция eof (имя файловой переменной);
Логическая функция. Возвращает значение true, если
указатель стоит в конце файла, и false – иначе. Ранее
должна быть выполнена процедура assignfile.
eof (f)
end of file – конец файла
Это не полный перечень стандартных процедур и
функций для работы с файлами.
22

23. Особенности работы с файлами

Если файловая переменная любого типа
является параметром подпрограммы, то она всегда
является
формальным
параметром-переменной
(перед ней ставится var), так как в процессе работы
программы она может менять свои значения (адреса
компонент файла).
procedure pl(var t:textfile);
23
English     Русский Rules