русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2014-05-03; просмотров: 773; Нарушение авторских прав


 

Файлы – это последовательности элементов одного типа. Операции над файлами перечислены ниже.

 



Операция Тип операнда -> Тип результата
REWRITE FILE -> void
PUT FILE -> void
RESET FILE -> void
GET FILE -> void
EOF FILE -> BOOLEAN

Термин void (пустой) обозначает, что эти операции не возвращают значение, эти операции похожи на операторы процедур Паскаля и могут появляться везде, где может появляться оператор. Действие этих операций на состояние файла представлено конечным автоматом ниже, который имеет два состояния R и W.

 



 
 

 




Начальные RESET или REWRITE устанавливают файл в режим R или W.

REWRITE и PUT используются для построения файловых значений. REWRITE очищает файл и готовит его для записи.

 



REWRITE(F) = {(u,v): F не INPUT или OUTPUT и v = u за исключением того,

что v(F) = <<>, <>, W>}

 



Если файл открыт для записи, PUT добавляет значение переменной в буфере к файлу и оставляет значение переменной буфера неопределенной.

 



PUT(F) = {(u,v): u(F).3 = W и v = u, за исключением того, что v(F).1 = u(F).1Ñ(u(F^)) и v(F^) неопределено}

 



PUT неопределен, когда файл не открыт для чтения.

Например, для записи файла целых чисел, он должен быть объявлен и инициализирован.

VAR

IntList: FILE OF INTEGER;

BEGIN

REWRITE(IntList);

...

END

Значения присваиваются IntList^ таким образом, чтобы следующий оператор PUT добавит значение в IntList.

 



{Эквивалентно WRITE(IntList, 1)}

IntList^ := 1;

PUT(IntList); {Добавляет 1 в IntList, IntList^ неопрелен}

{Эквивалентно WRITE(IntList, 2)}

IntList^ := 2;

PUT(IntList); {Добавляет 2 в IntList, IntList^ неопрелен}

 



В этой точке IntList содержит значения 1 и 2 в списке прошлого, файл открыт для записи и содержимое IntList^ неопределено.

 



IntList = <<1, 2>, <>, W> и IntList^ неопределено

 



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

 



RESET(F) = = {(u,v): F не INPUT или OUTPUT и v = u за исключением того,

что v(F) = <<>, u(F).1 & u(F).2, R> и v(F^) = Θ(u(F).1 & u(F).2)}

 



Поскольку Θ не определена на пустых списках, значение переменной буфера также не определено, когда RESET применяется к пустому файлу.

 



Если файл открыт для чтения и его список будущего не пустой, GET переносит первый элемент списка будущего в список прошлого и присваивает значение нового первого элемента списка будущего переменной буфера.

 



GET(F) = {(u,v): u(F).3 = R и u(F).2 ¹ <> и v=u, за исключением того,

что v(F).1 = u(F).1 Ñ(Θ (u(F.2))), v(F).2 = Λ (u(F.2)), и v(F^) = Θ (Λ (u(F.2)))}

 



Если файл не открыт для чтения, программа при вызове GET выдает ошибку времени выполнения, также ошибка произойдет, если не осталось данных для считывания (список будущего пуст).

 



 





<== предыдущая лекция | следующая лекция ==>
Простые числа. Файлы. | Записи.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.682 сек.