Similar presentations:
Файловый тип данных в Паскале
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) doBegin
k:=0;
While not EOLN(f) do
Begin Read(F,N);
k:=k+1;
End;
Writeln(k);
Readln(F); {переход на новую строку в файле}
End;
Close(F);
End.
14.
ЗАДАЧА ДЛЯ ПРАКТИЧЕСКОЙ РАБОТЫВ заданном файле записаны целые числа по
строкам.
В новый файл записать все четные числа, а во
второй все нечетные, сохраняя порядок
следования и разбиение на строки.