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


Файлы презентация, доклад

Содержание

ФАЙЛЫ 1. ОПИСАНИЕ ФАЙЛОВПод файлом понимают любой набор элементов одного и того же типа Число элементов, называемое длиной файла, не фиксировано. В этом основное отличие файла от массива Файл, не содержащий

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

Слайд 1Лекция 7 (часть 3) Файлы

Лекция 7 (часть 3)  Файлы

Слайд 2ФАЙЛЫ
1. ОПИСАНИЕ ФАЙЛОВ
Под файлом понимают любой набор элементов одного

и того же типа Число элементов, называемое длиной файла, не

фиксировано. В этом основное отличие файла от массива Файл, не содержащий ни одного элемента, называется пустым: его длина равна нулю.    
ФАЙЛЫ 1. ОПИСАНИЕ ФАЙЛОВПод файлом понимают любой набор элементов одного и того же типа Число элементов, называемое

Слайд 3 Любой файл имеет три характерные особенности. Во-первых, у него

есть имя, что дает возможность программе работать одновременно с несколькими

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

Слайд 4 Файлы по методу доступа к их элементам подразделяются на файлы

последовательного и прямого доступа В стандарте языка Паскаль определены только

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

Слайд 5По отношению к программе файлы могут быть внешними и внутренними.


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

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

Слайд 6Файлы, которые существуют вне программы, называют внешними файлами. В качестве

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

описаны в разделе описаний программы. Описание файлов имеет следующий вид:
type имя_типа=file of базовый_тип;
var имя_файла:имя_типа;
или
var имя_файла:file of базовый_тип;
В качестве базового типа элементов файла можно использовать любой тип данных (как простой, так и сложный) за исключением типа file.
Файлы, которые существуют вне программы, называют внешними файлами. В качестве носителей внешних файлов обычно используют магнитные диски.Внешние

Слайд 7Пример.
type Mas=arrayCl.. 10] of real;
Mno=set of 1. .10;
Zap=record
Re, Im: integer


end;
var Fl:file of integer;
F2: file of real;
F3: file

of char;
F4:file of Mas; {Каждый элемент файла - массив}
F5:file of Mno; {Каждый элемент файла- множество}
F6:file of Zap; -{Каждый элемент файла - запись}
Пример.type Mas=arrayCl.. 10] of real;Mno=set of 1. .10;Zap=recordRe, Im: integer end;  var Fl:file of integer;F2: file

Слайд 8 Доступ к элементам файла осуществляется через указатель файла (буферная переменная).

При чтении или записи этот указатель перемещается к следующему элементу

и делает его доступным для обработки. В каждый момент доступен для записи (чтения) только тот элемент файла, на который установлен указатель. В отличие от стандарта языка Паскаль в Турбо-Паскале отсутствует возможность работы с буферной переменной.
Так как, по определению, число элементов файла не задается, то в Турбо-Паскале для нахождения конца файла введена стандартная функция
Eof(var F:file):boolean;
Когда достигнут конец файла, Eof принимает значение True, в противном случае — False.
Замечание. В дальнейшем при описании формата процедур и функций приводится их заголовок, содержащий имя процедуры или функции, перечень формальных параметров с указанием их типа и тип результата (для функций).
Доступ к элементам файла осуществляется через указатель файла (буферная переменная). При чтении или записи этот указатель перемещается

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

строится по правилам определения имен в MS-DOS (операционной системе ПК):


имя содержит до восьми разрешенных символов; разрешенные символы - это прописные и строчные латинские буквы, цифры и символы: ! @ # $ % ^ & ( ) ' ~ - _
имя начинается с любого разрешенного символа;
за именем может следовать расширение - последовательность до трех разрешенных символов; расширение, если оно есть, отделяется от имени точкой.
Имена файловИмя файла - это любое выражение строкового типа, которое строится по правилам определения имен в MS-DOS

Слайд 10 Перед именем может указываться так называемый путь к файлу:
имя

диска и/или имя текущего каталога и имена каталогов вышестоящих уровней.

Имя диска - это один из символов A...Z , после которого ставится двоеточие. Имена А: и В: относятся к дисковым накопителям на гибких дискетах, имена С:, D: и т.д. - к жестким дискам.
За именем диска может указываться имя каталога, содержащего файл. Если имени каталога предшествует обратная косая черта, то путь к файлу начинается из корневого каталога, если черты нет - из текущего каталога, установленного в системе по умолчанию. За именем каталога может следовать одно или несколько имен каталогов нижнего уровня. Каждому из них должна предшествовать обратная косая черта. Весь путь к файлу отделяется от имени файла обратной косой чертой.

Перед именем может указываться так называемый путь к файлу: имя диска и/или имя текущего каталога и имена

Слайд 11Максимальная длина имени вместе с путем - 79 символов, например:


var finp: text;
fout: file of string;
const name = 'c:\dir\subdir\out.txt';
begin


assign (finp,'123.dat');
assign (fout, name);
end.
Максимальная длина имени вместе с путем - 79 символов, например: var finp: text; fout: file of string;const

Слайд 122. СТАНДАРТНЫЕ ПРОЦЕДУРЫ ДЛЯ РАБОТЫ С ФАЙЛАМИ
Работа с файлами производится

посредством следующих стандартных процедур:
Assign (var F;file; Name:string); - связывает имя

файловой переменной F в программе с именем внешнего файла на диске Name. Здесь Name — выражение строкового типа вида
' диск: \имя_каталога\имя_подкаталога\... \имя_файла'
Если в параметре Name имена диска и подкаталога не указаны, то выбирается текущий диск и текущий каталог. Если вместо Name указать “ (без пробела), то файл F оказывается связанным со стандартным файлом ввода Input или со стандартным файлом вывода Output (в зависимости от того, как он будет открыт — для чтения или для записи). После выполнения процедуры Assign все действия над переменной F будут эквивалентны действиям над файлом, определяемым спецификацией Name. Процедуру Assign необходимо использовать до начала работы с файлом (до его открытия процедурой Reset или Rewrite);
2. СТАНДАРТНЫЕ ПРОЦЕДУРЫ ДЛЯ РАБОТЫ С ФАЙЛАМИРабота с файлами производится посредством следующих стандартных процедур:Assign (var F;file; Name:string);

Слайд 13Reset(var F:file); — открывает файл F для чтения. При этом

указатель файла устанавливается на первый элемент файла и Eof(F) =

False. Если файл пустой, то Eof(F) = True; •
Rewrite(var F:file); — открывает новый файл F для записи. При этом уничтожается вся предыдущая информация в F и Eof(F) = True;
Read (var F:fiie; var X1,X2,..,Xn);— считывает в переменную X1 один элемент файла F (или несколько элементов в переменные X1, ..., Xn), начиная чтение с элемента, на который указывает текущий указатель. Если F опущено, то подразумевается стандартный файл Input. Read выполним только в случае, если Eof(F) = False;
Write (var F:file; var X1,X2,..,Xn);— записывает одно (X1) или более (X1… Хn) значений переменных в файл F, начиная с той позиции, на которую установлен указатель. Если F опущено, то подразумевается стандартный файл Output. Write выполним только в случае, если Eof(F) = True;
Reset(var F:file); — открывает файл F для чтения. При этом указатель файла устанавливается на первый элемент файла

Слайд 14Сlose (var F:file); - закрывает файл F;
Seek(var F:file; N:longint);— позволяет

осуществить прямой
доступ к элементам файла F. Здесь N — целая

положительная константа, соответствующая порядковому номеру элемента в файле. Процедура Seek не выполняет операцию чтения или записи элемента файла. Она лишь перемещает указатель файла к элементу с номером N. При этом первый элемент файла имеет номер N=0, второй — N=1 и т. д.;
Erase(var F:file); - удаляет внешний файл, связанный с файловой переменной F;
Rename(var F:file; NewName:string);— присваивает внешнему файлу, связанному с файловой переменной F, новое имя NewName.
Стандартные функции FilePos(var F:file):longint и FileSize(var F: file):longint позволяют определить соответственно текущее положение указателя (номер элемента) и размер (число элементов) файла F.
Сlose (var F:file); - закрывает файл F;Seek(var F:file; N:longint);— позволяет осуществить прямой	доступ к элементам файла F. Здесь

Слайд 15Рассмотрим пять основных операций с внешними файлами:
чтение файла;
запись в файл;
добавление

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

случае предполагается, что файл F в программе уже связан процедурой Assign с внешним файлом на диске.
Рассмотрим пять основных операций с внешними файлами:чтение файла;запись в файл;добавление данных к файлу;запись и чтение файла;прямая выборка

Слайд 16ЧТЕНИЕ ФАЙЛА
Под чтением файла понимается ввод данных из внешнего файла,

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

которого читаются данные, называют входным файлом.
Для чтения файла в программе необходимо выполнить следующие действия:
открыть файл для чтения (Reset);
ввести данные файла в программу (Read);
закрыть файл для чтения (Close).
Общая структура фрагмента программы, составленной для чтения файла, имеет вид:
Reset(F);
……………
Read( F, X1, Х2,..., XN);
……………..
Close(F);
ЧТЕНИЕ ФАЙЛАПод чтением файла понимается ввод данных из внешнего файла, находящегося на диске, в оперативную память ПЭВМ.

Слайд 17 Тип переменных XI, Х2…..XN должен соответствовать базовому типу элементов файла

(это условие не обязательно для текстовых файлов.
Процедура Reset осуществляет подготовку

к чтению из файла F (открывает файл и устанавливает указатель на первый элемент файла).
Оператор Read последовательно присваивает переменным X1, Х2, ..., XN значения из файла F. Количество этих переменных не должно превышать количества данных, которые могут быть введены из файла. В противном случае выполнение программы прекращается. Вместо Read (F,X1,X2,... ,Хn) можно использовать несколько операторов Read:
Read(F,X1); Read(F,X2); Read(F,Xn);
После чтения очередного элемента указатель файла устанавливается на следующий за прочитанным элемент файла.
Процедура Close выполняет закрытие файла F.
Замечание. В Турбо-Паскале версии 7.0 повторный вызов процедуры Close для уже закрытых файлов приводит к ошибке ввода-вывода
Пример.
while not Eof(Fl) do
begin
………
Read(Fl,Xl);
………….
end;
Пока не достигнут конец файла Fl, осуществляется считывание из него данных в переменную X1.
Тип переменных XI, Х2…..XN должен соответствовать базовому типу элементов файла (это условие не обязательно для текстовых файлов.	Процедура

Слайд 18ЗАПИСЬ В ФАЙЛ
Под записью в файл понимается вывод результатов программы

из оперативной памяти ЭВМ на диск, т. е. создание нового

файла на внешнем устройстве. Внешний файл, в который записываются данные из программы, называют выходным*
Для записи файла в программе необходимо выполнить следующие действия:
открыть файл для записи (Rewrite);
вывести данные из программы в файл (Write);
закрыть файл для записи (Close);
Общая форма записи в файл имеет следующий вид:
Rewrite(F);
…………….
Write(F,Al,A2,... ,Аn);
……………………….
Close(F);
Здесь F — имя файла; Al, А2, ,.., An — выражения (в том числе константы и переменные) того же типа, что и элементы файла
ЗАПИСЬ В ФАЙЛПод записью в файл понимается вывод результатов программы из оперативной памяти ЭВМ на диск, т.

Слайд 19 Процедура Rewrite осуществляет подготовку к записи информации в файл F

(очищает файл и устанавливает указатель в начало файла). Оператор Write

записывает значения выражений Al,A2, .An по одному в конец файла F (после имеющейся в нем информации).
Пример. Составим программу формирования файла F, состоящего из целых чисел 1, 2, 3, 4, 5.
program Prl;
var F:fiie of integer;
I: integer;
begin
Assign(F,'F'); Rewrite(F);
for I:=1 to 5 do Write(F, I);
Close(F);
end.
Мы рассмотрели два основных действия над последовательными файлами: их чтение и запись. Все остальные действия представляют собой сочетание записи и чтения файла.
Процедура Rewrite осуществляет подготовку к записи информации в файл F (очищает файл и устанавливает указатель в начало

Слайд 20ДОБАВЛЕНИЕ ДАННЫХ К ФАЙЛУ
Пусть необходимо к уже существующему файлу добавить

ряд элементов. Для этого надо выполнить следующие действия:
открыть уже существующий

файл F процедурой Reset;
установить указатель файла за последним его компонентом
процедурой Seek следующим образом: Seek(F,FileSize(F));
записать дополнительные данные (Write);
закрыть файл (Close).
Пример. Пусть уже создан файл F, состоящий из целых чисел 1, 2, 3, 4, 5 (см. раздел «Запись в файл»). Необходимо добавить к этому файлу числа 10, 20, 30.
program Рг2;
var F: file of integer;
I,X: integer;
begin Assign(F,’F'); Reset(F); Seek(F,FileSize(F));
for I:=1 to 3 do
begin
X:=10*I;
Write(F,X)
end;
Close(F);
end.
В результате выполнения программы получим файл F, состоящий из чисел 1, 2, 3, 4, 5, 10, 20, 30.
ДОБАВЛЕНИЕ ДАННЫХ К ФАЙЛУ	Пусть необходимо к уже существующему файлу добавить ряд элементов. Для этого надо выполнить следующие

Слайд 21ЗАПИСЬ И ЧТЕНИЕ ФАЙЛА
Пусть необходимо сначала создать некоторый файл, а

потом найти в нем определенный элемент. Для этого надо выполнить

следующие действия:
открыть файл для записи (Rewrite);
записать данные в файл (Write);
закрыть файл (Close);
открыть файл для чтения (Reset);
читать файл, пока не будет найден нужный элемент (Read);
закрыть файл (Close);
Замечание. П.3 выполнять не обязательно.
ЗАПИСЬ И ЧТЕНИЕ ФАЙЛАПусть необходимо сначала создать некоторый файл, а потом найти в нем определенный элемент. Для

Слайд 22ПРЯМАЯ ВЫБОРКА ЭЛЕМЕНТОВ ФАЙЛА
Турбо-Паскаль позволяет осуществить прямой выбор элементов файла.

Для этого используется процедура Seek:
Seek(F,N);
где F — имя файла, который

был ранее открыт процедурой Reset; N — целое положительное число или выражение, соответствующее порядковому номеру элемента в файле.
После выполнения процедуры Seek первое обращение к операторам Read или Write будет связано с N-м элементом файла. Каждое повторное использование этих операторов будет осуществлять последовательное чтение или запись элементов файла, начиная с (N+l)-ro элемента.
Используя процедуру Seek, можно корректировать отдельные элементы файла непосредственно. Для этого необходимо выполнить следующие действия:
открыть корректируемый файл (Reset);
подвести указатель файла к корректируемому элементу (с помощью Seek);
считать корректируемый элемент (Read);
откорректировать элемент файла;
повторить процедуру подвода указателя файла (Seek);
записать откорректированный элемент (Write);
закрыть файл (Close).
ПРЯМАЯ ВЫБОРКА ЭЛЕМЕНТОВ ФАЙЛА	Турбо-Паскаль позволяет осуществить прямой выбор элементов файла. Для этого используется процедура Seek:Seek(F,N);	где F —

Слайд 23Пример, Пусть с помощью программы Prl (см. выше) был создан

файл F, содержащий числа 1, 2, 3, 4, 5. Необходимо

вместо последних трех элементов файла F записать числа 30, 40, 50.
program РгЗ;
var F: file of integer;
X, I: integer;
begin Assign(F,'F'); Reset(F);
for I: =3 to 5 do begin
Seek(F, I-1); Read(F,X); X:=10*I; Seek(F, I-1);
Write(F,X) end;
Reset(F);
while not Eof(F) do begin Read(F,X); Writeln(X)
end;
Close(F);
end.
В результате выполнения программы PR3 на печать будет выведено:
1
2
30
40
50
Пример, Пусть с помощью программы Prl (см. выше) был создан файл F, содержащий числа 1, 2, 3,

Слайд 24ТЕКСТОВЫЕ ФАЙЛЫ
Особым типом файлов являются текстовые файлы. Эти файлы содержат

некоторый текст, который состоит из обычных символов (например, букв алфавита

и цифр). Символы текстового файла разбиты строки, подобно тому как они записываются на бумаге.
Описание текстового файла имеет следующий вид:
var имя_файла:text;
Здесь text — стандартный идентификатор, точно такой же, как real, char и т.д.
Отличие текстового файла (типа text) от файла типа char (или string) заключается в том, что текстовый файл состоит из последовательности строк различной длины, каждая из которых содержит величины типа char и заканчивается специальным символом конца строки. Для определения конца строки используется функция
Еoln(var F:text):boolean
Она принимает значение True, если достигнут конец строки, и значение False — в противном случае. Если в Eoln параметр F опущен, то подразумевается использование стандартного файла ввода Input.
ТЕКСТОВЫЕ ФАЙЛЫОсобым типом файлов являются текстовые файлы. Эти файлы содержат некоторый текст, который состоит из обычных символов

Слайд 25 Для работы с текстовыми файлами наряду с вышерассмотренными процедурами и

функциями (кроме Seek, FilePose, FileSize) используются следующие стандартные процедуры:
Append (var

F:text); — открытие уже существующего текстового файла F для добавления данных в конец файла;
Writeln(var F:file);— завершение текущей строки текстового файла F (при его записи);
Readln(var F:file); — переход к началу следующей строки текстового файла F (при его чтении);
Writeln(var F:fiie; var XI,X2,..,XN);— запись в текотовый файл F значений переменных XI, Х2, ..., XN с завершением текущей строки;
Readln(var F:file; var X1,X2,...,XN);-чтение N символов файла F с переходом к новой строке.
Для работы с текстовыми файлами наряду с вышерассмотренными процедурами и функциями (кроме Seek, FilePose, FileSize) используются следующие

Слайд 26СТАНДАРТНЫЕ ФАЙЛЫ
Стандартные файлы — это особый тип заранее определенных файлов,

поставленных в соответствие внешним устройствам ПЭВМ. Физически эти файлы являются

драйверами (специальными программами), поддерживающими операции ввода-вывода между процессором ПЭВМ и конкретными внешними устройствами. К числу таких стандартных файлов относятся следующие:
Input — доступный только для чтения текстовый файл, связанный о клавиатурой;
Output — доступный только для записи текстовый файл, связанный с дисплеем;
Lst — доступный только для записи (вывода) текстовый файл, связанный с устройством печати.
СТАНДАРТНЫЕ ФАЙЛЫСтандартные файлы — это особый тип заранее определенных файлов, поставленных в соответствие внешним устройствам ПЭВМ. Физически

Слайд 27 Когда начинается выполнение программы, файлы Input и Output открываются автоматически.

После завершения работы программы эти файлы автоматически закрываются. В связи

с этим к ним нельзя применять процедуры Append, Reset, Rewrite, Close. При использовании операторов ввода-вывода к файлам Input, Output имена этих файлов можно не указывать.
Файл Lst введен для облегчения использования в программе устройства печати. он описан в стандартном модуле Printer и связан с устройством Lptl (см. ниже). Поэтому нет необходимости описывать этот файл в программе, открывать и закрывать его. Достаточно лишь после заголовка программы указать оператор
uses Printer;
Тогда, если в программе встречается, например, оператор
Write(Lst,'текст',Х, Y);
вывод текста и значений переменных X, Y будет осуществлен на принтер.
Когда начинается выполнение программы, файлы Input и Output открываются автоматически. После завершения работы программы эти файлы автоматически

Слайд 28В Турбо-Паскале, так же как и в операционной системе MS-DOS,

вся внешняя аппаратура (клавиатура, принтер, дисплей и др.) рассматривается как

устройства. С точки зрения программиста устройство можно рассматривать как файл, для которого можно использовать стандартные процедуры и функции, рассмотренные выше.
Устройства MS-DOS реализованы с помощью зарезервированных имен, имеющих специальный смысл. Перечислим некоторые из них.
Con — консоль, посредством которой выводимая информация пересылается на экран дисплея, а вводимая информация воспринимается с клавиатуры. В процессе ввода допускается редактирование вводимой информации с отображением ее на экране дисплея. При нажатии клавиши генерируется символ конца файла.
Lptl, Lpt2, Lpt3 — устройства печати. Если к ПЭВМ присоединено только одно устройство печати, то на него ссылаются как на Lptl или Ргn.
Coml, Com2 — последовательные коммуникационные порта
В Турбо-Паскале, так же как и в операционной системе MS-DOS, вся внешняя аппаратура (клавиатура, принтер, дисплей и

Слайд 29ПРИМЕРЫ ПРОГРАММ С ИСПОЛЬЗОВАНИЕМ ФАЙЛОВ
Пример 1. Составим программу для решения

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

и FL2 необходимо получить новый файл FL, отсортированный в том же порядке.
program Sort;
var FL1,FL2,FL: file of real;
X1,X2,X: real; begin
Assign(FL,'FL'); Assign(FL1,'FL1'); Assign(FL2,'FL2');
Reset(FLl); Read( FL1, X1);
Reset(FL2); Read(FL2, X2);
Rewrite(FL);
while not(Eof(FLl) or Eof(FL2)) do
begin
if X1>X2 then begin
X:=X2;
Read( FL2,X2)
end
ПРИМЕРЫ ПРОГРАММ С ИСПОЛЬЗОВАНИЕМ ФАЙЛОВПример 1. Составим программу для решения следующей задачи: из двух отсортированных в возрастающем

Слайд 30else begin
X:=X1;
Read( FLl,Xl)
end;
Write(FL, X)
end;
if X1>X2 then

Write(FL,X2.Xl)
else Write(FL,Xl,X2);
while not Eof(FLl) do
begin
Read(FLl,Xl);
Write(FL,Xl)
end;
while

not Eof(FL2) do
begin
Read(FL2,X2);
Write(FL,,X2)
end;
Close(FL); Close(FLl); Close(FL2);
end.

else begin X:=X1;Read( FLl,Xl) end; Write(FL, X) end;if X1>X2 then Write(FL,X2.Xl) else Write(FL,Xl,X2); while not Eof(FLl) dobegin

Слайд 31Пример 2. Пусть задан файл F, каждый элемент которого представляет

собой запись, содержащую фамилию студента и его возраст. Необходимо обновить

данные этого файла путем увеличения возраста всех студентов на единицу.
program Cor;
type Zap=record
Fio: string[30];
Voz: 0.. 99;
end;
var F: file of Zap;
Z: Zap; I: integer;
begin
Assign(F,’A.File'); Reset(F); I:=0;
while not Eof(F) do
begin
Read(F,Z);
Z.Voz:=Z.Voz+l;
Seek(F,I);
Write(F.Z);
I:=1+1;
end;
Close(F);
end.
Пример 2. Пусть задан файл F, каждый элемент которого представляет собой запись, содержащую фамилию студента и его

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

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

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

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

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


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

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