Книга: ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ
5.4.3. Ввод программ
5.4.3. Ввод программ
Чтение данных из файлов и запись данных в файлы наиболее полезны тогда, когда объем данных, с которыми работает наша программа и которые мы хотим поместить в базу данных, превосходит тот объем, который мы можем вводить вручную при каждом сеансе работы с ЭВМ. В Прологе файлы используются главным образом для хранения программ. Если текст Пролог-программы содержится в некотором файле, то мы можем прочитать все утверждения, содержащиеся в файле, и поместить их в базу данных, воспользовавшись для этого предикатом consult. Если значением X является имя файла, то цель consult(X) прочитает утверждения (факты и правила) и целевые утверждения из этого файла. Большинство реализаций Пролога имеют специальную форму записи для предиката consult, позволяющую прочитать последовательно один за другим список файлов. Если вопрос к Пролог-системе имеет вид списка атомов, то Пролог-система прочитает каждый файл из этого списка. В качестве примера использования такой формы записи приведем следующий вопрос:
?- файл1, отображение, эксперт.
Этот вопрос обрабатывается таким образом, как если бы Пролог выполнял целевое утверждение consultall(X), где X - это список, заданный в вопросе, а предикат consultall определен следующим образом:
consultall([]).
consultall(H|T]):- consult(H), consultall(T).
Однако короткая списковая запись более экономична, а это особенно важно, если принять во внимание, что самое первое действие, которое выполняет работающий с Прологом программист,- это чтение из файлов своих предикатов. Предикат consult автоматически прекращает чтение утверждений, когда встречается конец файла. В разд. 6.1 предикат consult описывается более подробно.
- 7.5 Программные интерфейсы приложений для адаптеров шины
- Глава 6 Программирование с помощью стандартных функций ввода-вывода
- Подпрограммы ввода-вывода
- 6.5. Ввод программ: consult, reconsult
- Ввод исходных данных в справочники программы
- Ввод в программу исходных данных
- Ввод в программу данных о сотрудниках предприятия
- 3.2. Ввод исходных данных и настройка программы
- 4.9.2. Ввод исходных данных в программу
- 2.2. Ввод начальных данных в программу
- Заполнение справочников и каталогов
- QLineEdit