Разделы презентаций


Файловый тип

Доступ к файлам Любой программе доступны два стандартных файла: INPUT - для чтения данных с клавиатуры, OUTPUT- для вывода на экран. Program Name (input, output);Связывание выполняется стандартной

Слайды и текст этой презентации

Слайд 1Файловый тип
Файл - именованная область внешней памяти ПК.

Файлом может называться логическое устройство, потенциальный источник или приемник информации.

Структура задания файлового типа
Type
<имя>=FILE OF <тип>; {типизированный}
<имя>=TEXT; {текстовый}
<имя>=FILE; {не типизированный}
Пример.
Type
text60=file of string [60];
File1 = text;
Filef = file;
Var
f1: FILE OF CHAR; {типизированный файл символов}
f2: TEXT; f4:File1; {текстовый файл}
f3: FILE; f5:Filef; {не типизированный}
f6: TEXT60; {ФАЙЛ СТРОК}
Т.е. возможно объявление переменных, минуя объявление типов,
Var
<переменная1>: TEXT;
<переменная2>: FILE OF <тип>;
<переменная3>: FILE;
_____
Файловый тип  Файл - именованная область внешней памяти ПК. Файлом может называться логическое устройство, потенциальный источник

Слайд 2Доступ к файлам
Любой программе доступны два стандартных файла:

INPUT - для чтения данных с клавиатуры,
OUTPUT-

для вывода на экран.

Program Name (input, output);
Связывание выполняется стандартной процедурой ASSIGN:
ASSIGN (<файловая_переменная>, <имя_файла_или_л.у.>);
<файловая_переменная> - правильный идентификатор, объявленный как переменная файлового типа;
<имя_файла_или_л.у.> - текстовое выражение, содержащее имя файла или логического устройства (заключается в апострофы).

Пример.
VAR f, f1, f2: text; {объявление файловых переменных f, f1, f2}
Begin
ASSIGN(f, 'nameF.txt'); {связывание с файлом ‘nameF.txt’}
ASSIGN(f1, 'PRN'); {связывание с принтером}
ASSIGN(f2, ' '); {связывание со стандартным файлом (в\в)}
переменная связывается со стандартным файлом INPUT или OUTPUT.
____
Доступ к файлам  Любой программе доступны два стандартных файла: INPUT  - для чтения данных с

Слайд 3
- это любое выражение строкового типа, которое строится по

правилам определения имен в MS DOS:
- содержит до 8 разрешенных

символов: прописные и строчные латинские буквы, цифры и следующие символы ! @ # $ % ^ & ( ) ' ~ - _
- начинается с любого разрешенного символа,
- за именем может следовать расширение - последовательность до трех разрешенных символов.
Например: Lab11.pas
date.txt
Нельзя вставлять символы шаблонов '*' и '?' в имя файла
Перед именем путь к файлу или имя диска е:\
Максимальная длина имени вместе с путем - 79 символов
VAR
F1: text;
F2: file of string;
Const name= ‘d: \IVT- 134\ lr11.pas’ ;
...
Assign(f1, 'date.txt'); {текущий каталог}
Assign(f2, name); {имя переменной, заданное в разделе CONST}
___
- это любое выражение строкового типа, которое строится по правилам определения имен в MS DOS:- содержит

Слайд 4Логические устройства в Турбо Паскале
Assign (f, ‘’);
Пример: Assign

(f, ‘CON‘);
CON - (консоль) клавиатура (для чтения) или экран дисплея

(для записи);
PRN - логическое имя принтера; LPT1 (синоним PRN), LPT2, LPT3;
AUX - логическое имя коммуникационного канала, два канала COM1 (AUX) и COM2;
NUL - логическое имя пустого устройства, используется в отладочном режиме и трактуется как устройство-приемник информации неограниченной емкости. При обращении к NUL как к источнику информации выдается признак конца файла (EOF);
Модуль Printer
объявляет имя файлов переменной LST и связывает с LPT1
Uses Printer;
Begin
Writeln (LST, ‘печатаемый текст’);

End.
_____
Логические устройства в Турбо Паскале  Assign (f, ‘’);Пример: Assign (f, ‘CON‘);CON - (консоль) клавиатура (для чтения)

Слайд 5Общие процедуры для работы с файлами
Процедуры и функции

Выполняемые действия

Assign(Var f, Name:String); Cвязывание ф.п. f с файлом Name
RESET(Var f); Открыть файл с логическим именем f для чтения
REWRITE(Var f) ; Открыть файл с логическим именем f для записи
CLOSE(f); Закрыть файл с логическим именем f
Erase(Var f); Удаление файла (стирание) с диска
ReName(f, NewName:String); Переименование физического файла в файл с именем NewName.
EOF(f): boolean Функция тестирования конца файла

FLUSH(<ф.п.>); Очищает внутренний буфер файла.
(Игнорируется, если файл инициирован процедурой
RESET)
____
Общие процедуры для работы с файламиПроцедуры и функции

Слайд 6Открытие файлов (инициализация)
RESET(); - для чтения,
REWRITE(); - для записи

данных
Только после открытия файла становится возможным чтение и запись
повторное обращение

в REWRITE сотрет текущее содержимое файла

Закрытие файлов CLOSE(<ф.п.>); Пр. CLOSE(f);

Переименование файлов
RENAME (<Ф.п.>, <новое имя>);
Пример. RENAME ( f, NewName);

Уничтожение файла
ERASE(<ф.п.>);

Функция тестирования конца файла
EOF(<ф.п.>)
Если достигнут признак конца файла – признак TRUE, иначе FALSE
___
Открытие файлов (инициализация)RESET(); - для чтения, REWRITE(); - для записи данныхТолько после открытия файла становится возможным чтение

Слайд 7Текстовые файлы
Файлы последовательного доступа
Var : TEXT;
В конце строки -

EOLN (End Of LiNe - конец строки)
(код 13)+(код 10) –

Enter {13(ВК)+10(ПС)}
В конце файла - EOF (End Of File - конец файла) c кодом 26 (Ctrl+Z)

Доступ к записям текстового файла
READ, READLN, WRITE, WRITELN
ASSIGN
Процедура READ обеспечивает ввод чисел, символов, одной строки
READ (<ф.п.>,<список_ввода>);
или READ (<список_ввода>);
где <список_ввода> - последовательность из одной или более переменных, типа CHAR, STRING или любого целого или вещественного типов,
например:
READ (Х); READ (f,x1,x2,x3); READ (f,x);
CHAR чтение одного символа
CR (13) EOF (код 26)
_____
Текстовые файлыФайлы последовательного доступаVar	: TEXT;В конце строки  -  EOLN (End Of LiNe - конец строки)(код

Слайд 8
Для STRING в строке читается только одна строка числовых

данных

При чтение числовых данных выделяется подстрока.
Пример: _ _ _

2.42_ _ _

Процедура READLN
READLN ([f], x1[, x2, … xN]); обеспечивает ввод чисел, символов, строк
READLN (f, x); READLN (f, x1,x2,...,xN); READLN (f); READLN;
READ
Процедура WRITE
WRITE (<ф.п.>,<список_вывода>]); WRITE (<список_вывода>]);
WRITE ([f], x1[, x2, … xN]);
Пример: WRITE(f,x); WRITE(f,x1,x2,xN); WRITE(x1,x2,xN);

TEXT ASSIGN OUTPUT
Элемент списка вывода - X[:w[:d]]
X - имя переменной или выражение;
w, d - выражения целого типа WORD (0..65535);
w - если параметр w присутствует, указывает минимальную ширину поля
(по умолчанию w=23);
______
Для STRING  	в строке читается только одна строка числовых данных		При чтение числовых данных выделяется подстрока. Пример:

Слайд 9
Пр. Write (X:6:2, Y:6:2) – 3.22 5.56
Write (X:2:2, Y:2:2)

– 3.225.56


d - количество десятичных знаков в дробной части.
Если

d=0, выводится только целая часть числа

При выводе логических выражений
TRUE и FALSE
Ввод логических констант не предусмотрен.

Процедура WRITELN
WRITELN([f], x1[, x2, … xN]);

Пример: WRITELN (f, x); WRITELN(f,x1,x2,x3);

WRITELN (f); WRITELN;

________
Пр. Write (X:6:2, Y:6:2) –  3.22 5.56					Write (X:2:2, Y:2:2) – 3.225.56		d - количество десятичных знаков в

Слайд 10
Пример1:
RPOGRAM FileFD;
VAR y,x1,x2,x3:real;
Ft:TEXT;
BEGIN

ASSIGN (Ft,'FXD.DAT');
READ(x1,x2,x3);

{ввод трех чисел с клавиатуры}
REWRITE (Ft); {открыть файл для записи}
y:=x1+x2+x3;
WRITELN (Ft,'x1=',x1,' x2=',x2,' x3=',x3); {вывод в файл x1,x2,x3}
WRITELN (Ft,'сумма =',y); {вывод в файл суммы}
CLOSE (Ft); {закрыть файл}
END.
1 2 3 - вводим с клавиатуры
Результат:
X1=1 X2=2 X3 =3
Сумма=6

Пример2. Разработать программу, считывающую числовые данные из исходного файла и записывающего четные числа в один файл, нечетные – в другой. _____
Пример1:RPOGRAM FileFD;   VAR y,x1,x2,x3:real;   Ft:TEXT; BEGIN  ASSIGN (Ft,'FXD.DAT');    READ(x1,x2,x3);

Слайд 11
Program File11; {Заранее (до компиляции прг.)}
uses crt; {необходимо создать файл date.txt }
Var

f1, f2, f3: text; {например, в другом окне }
a:

array[1..10] of byte;
i: byte;
BEGIN clrscr;
ASSIGN(f1, 'date.txt');
ASSIGN(f2, 'res1.txt');
ASSIGN(f3, 'res2.txt');
RESET(f1);
for i:=1 to 10 do READ(f1, a[i]);
close(f1);
Rewrite(f3); writeln (f3, 'нечетные');
Rewrite(f2); writeln (f2, 'четные');
for i:=1 to 10 do
if ODD(a[i]) then write (f3, a[i]:4) {нечетные}
else write (f2, a[i]:4); {четные}
close(f2);
close(f3);
writeln('Просмотри файлы RES1.txt, RES2.txt ');
READKEY
END.
Program File11;		{Заранее (до компиляции прг.)}uses crt;			{необходимо создать файл date.txt }Var f1, f2, f3: text;		{например, в другом окне

Слайд 12Текст-ориентированные процедуры и функции
Процедуры и функции

Выполняемые

действия
Append(<ф.п.>) ; Процедура открывает уже существующий файл f для до записи в его конец (для расширения);
пр. Append(f) ;

EOLN(<ф.п.>) Функция возвращает значение TRUE, если во входном файле f достигнуты маркеры конца строки EOLN или конца файла EOF, и FALSE – в противном случае; пр.if EOLN(f)

SeekEOLN(<ф.п.>) Функция пропускает все пробелы и знаки табуляции до первого признака EOLN или первого значащего символа. Возвращает значение TRUE, если обнаружен маркер конца файла или конца строки. Если <ф.п.> опущена, функция проверяет стандартный файл INPUT;
пр. If SeekEOLN(f)
SeekEOF(<ф.п.>) Функция пропускает все пробелы, знаки табуляции и маркеры конца строк до маркера конца файла или первого значащего символа. Если маркер обнаружен, возвращает значение TRUE.
пр. If SeekEOF(f)
______
Текст-ориентированные процедуры и функции  Процедуры и функции

Слайд 13Типизированные файлы
Прямой доступ Var : file

of ;
Процедуры и функции для работы с типизированными

файлами
Процедуры и функции Выполняемые действия
READ(<ф.п.>, <список ввода>); Процедура обеспечивает чтение очередных компонентов файла;
WRITE(<ф.п.>,<список вывода>); Процедура используется для записи новых компонентов в файл, в качестве элементов вывода может быть выражение;
SEEK(<ф.п.>, <номер_компоненты>); Процедура смещает указатель файла к компоненте с указанным номером; <номер_компоненты> - выражение типа LONGINT. (К текстовым файлам применять нельзя);
FILESIZE(<ф.п.>); Функция возвращает количество компонент, содержащихся в файле. (Типа LongInt);
FILEPOS(<ф.п.>); Функция возвращает порядковый номер компоненты файла, доступной для чтения или записи;
CLOSE(<ф.п.>); Функция закрытия файла.
<ф.п.> - файловая переменная д.б. объявленная предложением FILE OF связана с именем файла процедурой ASSIGN
Открыть процедурой RESET для чтения, REWRITE для записи.

Переместить указатель в конец файла
Пр.: Seek (f, FileSize(f)); где f – файловая переменная
Пример. Сформировать файл (Files.dat) из символов. Вывести текст на экран
по 20 символов в строке (каждое предложение - с новой строки) ____
Типизированные файлыПрямой доступ     Var : file of ; Процедуры и функции для работы

Слайд 14PROGRAM file3;
Var s:char; k: byte;
fs: file of char; {строки

не читаются}
Begin
Assign(fs,'Files.dat');
writeln('Введи 0 для записи текста; 1 -

для чтения'); READ(k);
IF k=0 then Begin
Rewrite(fs); {нельзя другим способом создать типизированный файл}
writeln('Введи текст');
While not EOF do {CTRL+Z}
Begin
READ(s); write (fs, s);
end;
close(fs); end
else Begin Reset(fs);
Repeat
READ(fs, s); write(s);
{if s='.' then write(#10#13) для предложения }
if FILePOS(fs) mod 20 =1 then write(#10#13); {по 20 симв }
Until EOF(fs);
close(fs); end
END. _
PROGRAM file3;Var s:char;  k: byte;	fs: file of char; 			{строки не читаются}  	Begin	Assign(fs,'Files.dat');	writeln('Введи 0 для записи

Слайд 15Процедуры и функции для работы с каталогами
MkDir() Создает

новый каталог с именем k на диске
RmDir() Удаляет

пустой каталог

Не типизированные файлы
VAR fn: FILE; TYPE FF = FILE;
RESET и REWRITE
Например:
VAR fn: file; ...
ASSIGN (fn, 'a.dat');
RESET (fn, 512);
(512 байт) длина записи WORD (65535)
кластер
READ и WRITE не применимы
Надо BlockREAD и BlockWRITE

BlockREAD(<ф.п.>,<буфер>,,[,Var]);
BlockWRITE(<ф.п.>,<буфер>,,[,Var]);
одно обращение N*r байт
Процедурами SEEK, FilePos и FileSize можно обеспечить доступ к любой записи нетипизированного файла.
______
Процедуры и функции для работы с каталогамиMkDir()   Создает новый каталог с именем k на дискеRmDir()

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика