96.93K
Категория: ПрограммированиеПрограммирование

Файловый тип данных в Паскале

1.

ФАЙЛОВЫЙ ТИП ДАННЫХ В
ПАСКАЛЕ

2.

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

3.

ТИПЫ ФАЙЛОВ
Паскаль поддерживает три файловых типа:
• текстовые файлы;
• типизированные файлы;
• нетипизированные файлы.
При определении переменной файлового типа в
программе появляется скрытый текущий
указатель файла.
Его назначение – указывать на конкретный элемент
файла (обеспечивать доступ к нему).

4.

Типизированный файл в Паскале интерпретируется
как последовательность значений определенного
базового типа.
Файловый тип определяется служебными словами
File of < базовый тип >
Базовый тип может быть любым, кроме файлового.
var
f1: file of char;
f2: file of integer;
f3: file of real;

5.

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

6.

РАБОТА С ТЕКСТОВЫМИ ФАЙЛАМИ
Описание
var
f: text;
Текстовый файл - это совокупность строк. Каждая
строка завершается признаком конца строки, а сам
файл заканчивается меткой конца файла.
Доступ к каждой строке возможен лишь
последовательно, начиная с первой.
Одновременная запись и чтение запрещены.

7.

СТАНДАРТНЫЕ ПРОЦЕДУРЫ И
ФУНКЦИИ
Любые дисковые файлы становятся доступными
программе после связывания их с файловой
переменной, объявленной в программе.
Assign(f, ‘FileName’)
Эта процедура обеспечивает связь файловой
переменной программы с реальным файлом на диске.
Assign(F,‘D:\BP\USER\10A\familia\chisla.pas');
Все операции в программе производятся только с
помощью связанной с ним файловой переменной.

8.

СТАНДАРТНЫЕ ПРОЦЕДУРЫ И
ФУНКЦИИ
Reset(f)
открывает для чтения файл, с которым связана
файловая переменная f.
Rewrite(f)
открывает файл для записи.
Если указанный файл уже существовал, то все
данные из него уничтожаются.
Close(f)
закрывает открытый до этого файл. Вызов этой
процедуры необходим при завершении работы с
файлом.

9.

Чтение из текстового файла:
Read(f, <список переменных>);
ReadLn(f, <список переменных>);
Запись в текстовый файл:
Write(f, <список переменных>);
WriteLn(f, <список переменных>);

10.

Функция признак конца файла
EOF(f): boolean
возвращает значение TRUE, когда при чтении
достигнут конец файла.
Это означает, что уже прочитан последний элемент в
файле или файл после открытия оказался пуст.
Используется цикл
While not EOF (f) do
Чтение данных из файла продолжается до тех пор,
пока не будет достигнут конец файла.

11.

Функция признак конца cтроки
EOLN(f): boolean
возвращает значение TRUE, когда при чтении
достигнут конец строки, и значение FALSE, если
конец строки не достигнут.
Используется цикл
While not EOLN(f) do

12.

ПРИМЕР
ПРОГРАММЫ
В файле записаны целые числа по строкам. Для
каждой строки подсчитать количество чисел.
Program ex_1;
Var
N,K : Integer; F :Text;
Begin
Assign(F,‘D:\BP\USER\10A\familia\chisla.pas');
Reset(F);

13.

While not EOF(f) do
Begin
k:=0;
While not EOLN(f) do
Begin Read(F,N);
k:=k+1;
End;
Writeln(k);
Readln(F); {переход на новую строку в файле}
End;
Close(F);
End.

14.

ЗАДАЧА ДЛЯ ПРАКТИЧЕСКОЙ РАБОТЫ
В заданном файле записаны целые числа по
строкам.
В новый файл записать все четные числа, а во
второй все нечетные, сохраняя порядок
следования и разбиение на строки.

15.

СПАСИБО ЗА ВНИМАНИЕ!
English     Русский Правила