Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Содержание сайт... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Создание отчето... 63570
Модуль Forms 63396
ТЕХНОЛОГИИ ДОСТ... 60184
Пример работы с... 59285
Имитационное мо... 55625
Реклама
Сейчас на сайте
Гостей: 7
На сайте нет зарегистрированных пользователей

Пользователей: 13,078
новичок: codepro
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Моделирование работы крупного аэропорта на GPSS + Пояснительная записка
Лабораторная работа по динамическим спискам на Turbo Pascal (перемещение...
База данных студентов на Delphi (файл записей) + Блок схемы

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
5.4. Чтение файлов и запись в файлы


Предикаты, обсуждавшиеся в этой главе ранее, использовались для ввода (чтения) и вывода (записи) данных при обмене лишь с терминалом, но они могут быть использованы и в более общих ситуациях. В Пролог-системе определяется текущий входной поток данных, из которого производится чтение всех вводимых данных. Все выводимые данные записываются в текущий выходной поток данных. В обычном состоянии текущий входной поток данных поступает с клавиатуры терминала, а текущий выходной поток данных направляется на дисплей терминала. Часто оказывается удобно выполнять операции чтения и записи данных над файлами, которые представляют последовательность литер во вторичной внешней памяти. Конкретный вид этой памяти зависит от используемой ЭВМ, но сейчас файлы обычно хранятся на магнитных дисках. Предполагается, что каждый файл имеет собственное имя(имя файла), используемое для идентификации файла. Для того чтобы содержание этой главы было понятно, читателю следует познакомиться с правилами организации и способом задания имен файлов в той операционной обстановке, в которой он работает. В Прологе имена файлов представляются атомами, но мы не можем исключить возможность каких-либо ограничений на синтаксис имен файлов, накладываемых конкретной обстановкой, в которой работает Пролог-система.
Файлы имеют определенную длину. Это означает, что они содержат определенное количество литер. В конце файла имеется специальный маркер, называемый маркером конца файла. Мы не обсуждали маркер конца файла до сих пор, так как выход на конец файла является более обычным делом для файлов, расположенных во внешней памяти, чем при обмене с терминалом. Если программа производит чтение файла, то маркер конца файла может быть обнаружен и в случае, когда программа читает термы и когда читаются отдельные литеры. Если при выполнении get0(X) встречается конец файла, то X будет конкретизирована некоторой управляющей литерой, обычно имеющей код 26 в таблице кодов ASCII. Если конец файла встречается при выполнении read(X) , то X будет конкретизирована некоторым специальным термом, значение которого зависит от конкретной Пролог-системы. При попытке прочитать файл далее маркера конца возникает ошибка.
Имеется встроенный (стандартный) файл, называемый user . Чтение этого файла вызывает ввод данных с клавиатуры терминала, а запись в этот файл приводит к тому, что литеры печатаются на дисплее. Такой режим работы считается стандартным. При вводе с клавиатуры терминала признак конца файла генерируется при вводе управляющей литеры с кодом ASCII 26. Это окажет на выполнение get0 и read такое же воздействие, как если бы встретился конец файла.

Опубликовал Kest July 09 2009 16:39:19 · 0 Комментариев · 9441 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Шкрыль А. - Разра...
Visual Basic Script
CaptionButton
MpegPlay
Averaging [Исходн...
FreeSMS v1.3.1
Архив программ
Delphi 7 Enterpri...
Использование Lis...
Dealer
PolyFlow
Программирование ...
EMSQuickImport
Библия хакера 2 К...
Delphix Sample [И...
FormShape [Исходн...
Распознавание иде...
Разработка интерн...
Защита от спама ...
Расширенный загру...

Топ загрузок
Приложение Клие... 100444
Delphi 7 Enterp... 85618
Converter AMR<-... 20065
GPSS World Stud... 12473
Borland C++Buil... 11526
Borland Delphi ... 8481
Turbo Pascal fo... 7020
Visual Studio 2... 4987
Калькулятор [Ис... 4728
FreeSMS v1.3.1 3533
Случайные статьи
Принцип подстановки
Рис. 10.2. Разреже...
Что делает маска п...
Invalid @ argument
Вычисление чисел Ф...
ДОПУСТИМЫЕ СПОСОБЫ...
В здании несколько...
Логическое «И»
Клиенты Windows fo...
Шлюзы к мэйнфрейма...
Вычислительная сто...
Настройка RemoteVi...
УНАСЛЕДОВАТЬ, ВКЛЮ...
Реализация собстве...
Моделирование библ...
Создание настраива...
Аутентификация в с...
Системный вызов ехес
Использование спис...
Обучение
КЛАСС ИЛИ ЗАПИСЬ?
Игра «Шахматы» [Vi...
Блоки
Отдых после трудно...
ДОПУСТИМЫЕ СПОСОБЫ...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?