Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Новая_методичка паскаль.doc
Скачиваний:
5
Добавлен:
13.11.2019
Размер:
1.5 Mб
Скачать

3.2. Понятие файла данных

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

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

По методу доступа к элементам файлы разделяются на файлы последовательного и прямого доступа.

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

Кроме того, файлы делятся в зависимости от типа на текстовые, которые содержат некоторый текст, и типизированные, которые содержат данные, например, real, integer.

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

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

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

Имя файловой переменной выбирается по правилу задания имен для переменных.

Пусть F – файловая переменная. Тогда описание файловой переменно типа REAL будет иметь вид:

F: file of REAL,

В программе или в процедуре имя файловой переменной F должно быть связано с именем внешнего файла на диске. Если пользователем задано имя внешнего файла Fd.dat, то процедура имеет вид:

ASSIGN(F, ‘Fd.dat’),

где 'Fd.dat – строковая константа, при этом имеется в виду текущий диск и текущий каталог. Эту процедуру необходимо использовать до открытия файла для записи и чтения.

Открытие файла для записи или чтения осуществляется следующими процедурами соответственно:

REWRITE(F);

RESET(F).

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

При записи в файл или чтении массива ai служат следующие процедуры:

WRITE(F, A[i]);

READ(F, A[i]).

Использовав файл для записи или чтения, его следует закрыть с помощью процедуры:

CLOSE(F).

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

EOF(F).

При достижении конца файла EOF принимает значение TRUE, а в противном случае FALSE. При использовании этой функции при чтении файла можно использовать цикл

WHILEDO:

WHILE NOT EOF(F) DO.

Однако можно обходиться как при записи, так и при чтении циклом FORDO. Для этого перед чтением в цикле надо с помощью стандартной процедуры определить количество элементов К в файле без учета a[i] = Ø:

K: = FILESIZE(F) - 1.

3.4. Запись в файл

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

Общая структура программы записи в файл:

PROGRAM WRITEFILE;

USES CRT;

. ……………….…..

описание переменных

……………………

F: FILE OF REAL;

BEGIN

ASSIGN(F, ‘Fd.DAT’);

REWRITE(F);

Ввод с клавиатуры значения К;

FOR………………

Напоминание о вводе ai

Ввод ai

WRITE(F, a[i]);

END;

CLOSE(F);

END.

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