Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

-Информация представлена в текстовом представлении (ASCH-кодах).



Тектсовые файлы.

-Информация представлена в текстовом представлении (ASCH-кодах).

-Порции информации разделены на строки,каждая строка заканчивается совокупностью символов #13#10.Строки могут быть разной длины,могут быть пустыми.

-Весь файл заканчивается символом ^Z(#26)конец файла.

-при записи чисел,.строк и булевских величин они переводятся в символьный вид.

-при считывании числа автоматически переводятся в машинное представление.

В памяти:

_________#13#10___________#13#10____#13#10#26

Набор с клавиатуры:

_______________,|

____________,|

____________,|

*Z

 

Процедуры и функции для обработки файлов.

1.Assign(F,NameF);-Связывает логический файл F с именем физческого файла NameF.Если файл находится не в текущем каталоге,то надо указывать полное имя файла.

Где NameF –строковая константа или строковая переменная.

Var F:Text;

NameF:string[30];

Begin

Writeln(‘Ведите имя файла’);

Readln(NameF);

Assign(F,Namef);

2.Close(F);-закрытие файла.

3.Eof(F)= True,если конец файла,false,иначе.

4.ЫуулУща(F)=True,если конец файла виден через символы табуляции,пробелы,конец строки,false,иначе.

5.Eoln(F)=true,если конец строки,false,иначе.

6.Seek Eoin(F)-true,если конец строки или через символы табуляции,пробелы,false,иначе.

4 и 6 –функции для работы с числовыми текстовыми файлами.

ПАросмотр файла.

Пусть файл создан и надо считать его компоненты.

Reset(F)-открывает файл на считывание,указатель устанавливает на

Первый компонент.Один файл можно открывать несколько разю.

Read(F,c1,c2,…cn);- c1,c2,…cn-числа,строки,литеры.Считывает и указатель файла остается в текущей строке.

Readln(F);-переводит указатель на начало новой строки с любого места текущей.

Readln(F,c1,c2,…,cn);-объединяет действия двух ердыдущих процедур.

Схема просмотра файла.

Var F:Text;

NameF:string[30];

Begin

Writeln(‘введите имя файла’);

Readln(NameF);

Assign(F,NameF);

Reset(F);

While not Eof (F) do

Begin

<считать строку>**

<обработать>

End;

**1)Readln(F,s);string;{считывание всей строки}

2)Readln(F,s1,s2…);{считывание строки по частям}

3)While not Eoln(F) do

Begin

Fead(c);

<обработка>

Nd;

Readln(F);

ПРИМЕР.Пусть в текстовом файле записана матрица A(N,M).Считать матрицу из файла.

Reset(F);

For i:=1 to M do {считывание строки}

ReadF,A[I,j];

Readln(F);{переход на следующую строку}

End.

Форматирование текстового файла в программе.

Данные,полученные на этапе счета программы,следует оформить в виде текстового файла.

REWRITE(F);{открывает файл на запись}

Если он сушществовал,то уничтожает в нем информацию.

Если он не существовал,то создается.



WRITE(F,v1,v2…vn);-запись в файл.Где v1,v2…vn-константы,перерменные или выражения следующих типов:числовой,литерный,булевский,строковый.

WRITELN(F);-ПОСЛЕ ЗАПИСИ V1,V2…VN ПРИФОРМИРОВЫВАЕТСЯ КОНЕЦ СТРОКИ.

WRITELN
(F,v1,v2…vn);-объединение двух предыдущих.

Вывод в файл может быть форматным..

Допполнитекльные процедуры для обработки текстового файла.

APPEND(F);-открытие файла на дозапись информации в конец файла.Файл должен существовать.

FLUSH(F);=принудительная запись содержимого буфера в файл.

Корректировка текстового файла в программе.

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

ERASE(F)-стирает физическй файл,связвнный с файловой перемнной F.

REANAME(F,<НОВ. ИМЯ>)-физический файл связанный с файловой переменной F поучает <нов.имя>.Где <нов имя > строковая переменная или константа

Обе процедуры работают для закрытых файлов.

Нетипизированные файлы.

Ввод-вывод

Procedure blockread (var <ф.п>:file;_);чтение | для нетипизированного файла

 

Procedureblockwrite (var <ф.п>:file;_);запись |

Операйии над нетипизированными файлами.

Зпись,блок,буфер

Нетипизированный файл для программы –всего лишь последовательность байтов.

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

Длина записи определяется программистом исходя из того,какую группу данных он хотел б считывать или записывать за одно обращение к внешнему устройству(одно целое число,массив чисел,массив строк,запись,record и т.д).Для оптимизации временных характеристик программы лучше брать длину записи кратной 512(длина кластера).

Указывается длина записи при открытии файла.

Блок-сосокупность заданного числа записей,считываемых или аписываемых за 1 обращение к диску.Таким образом,блок может состоять из одной или более записей.Число записей в блоке задается в процедурах ввода-вывода.

Буфер-переменная участвующая в обмене с диском.Знаечние именно этой переменной считывается или записывается в файл.т.е ее содержимое –это упомянутый блок записей.Имя этой переменной указвается в процедурах ввода-вывода.

 

 


Дата добавления: 2015-08-29; просмотров: 27 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
№1 Предмет теории вероятностей. Наблюдаемые нами события (явления) можно подразделить на следую-щие три вида: достоверные, невозможные и случайные. Достоверным называют событие, которое обязательно | Фотоинструкция по использования промо-кода peterburgru на сайте проката гидроциклов от компании «Мистер Гидрика»:

mybiblioteka.su - 2015-2024 год. (0.009 сек.)