Составители:
Рубрика:
123
знаком ?- следует ряд хвостовых целевых утверждений (чаще всего в виде
конъюнкции).
Приведем примеры запросов:
?-собака(X). ?- родитель(Х.У),собака (Y).
или, иначе,
'?-'(собака(Х)) С?-') ','(родитель(Х„У",собака (Y)).
Последняя запись неудобна тем, что разделитель аргументов в
структуре совпадает с символом конъюнкции. Программисту нужно помнить
о различных значениях символа ','.
Запрос иногда называют управляющей командой (директивой), так как
он требует от Пролог-системы выполнения некоторых действий. Во многих
реализациях Пролога для управляющей команды используется
альтернативный символ, а символ ?- обозначает приглашение верхнего
уровня интерпретатора Пролога. Альтернативным символом является :-.
Таким образом,
:-write(co6aкa).
- это управляющая команда, в результате выполнения которой печатается
атом собака. Управляющие команды будут рассмотрены ниже при описании
ввода программ.
14.4 Ввод программ
Введение списка утверждений в Пролог-систему осуществляется с
помощью встроенного предиката
consult
. Аргументом предиката
consult
является атом, который обычно интерпретируется системой как имя файла,
содержащего текст программы на Прологе. Файл открывается, и его
содержимое записывается в базу данных. Если в файле встречаются
управляющие команды, они сразу же выполняются. Возможен случай, когда
файл не содержит ничего, кроме управляющих команд для загрузки других
файлов. Для ввода утверждений с терминала в большинстве реализации
Пролога имеется специальный атом, обычно
user
. С его помощью
утверждения записываются в базу данных, а управляющие команды
выполняются немедленно.
Помимо предиката
consult
, в Прологе существует предикат
reconsult
. Он работает аналогичным образом. Но перед добавлением
утверждений к базе данных из нее автоматически удаляются те утверждения,
головные цели которых сопоставимы с целями, содержащимися в файле
перезагрузки. Такой механизм позволяет вводить изменения в базу данных. В
Прологе имеются и другие методы добавления и удаления утверждений из
базы данных. Некоторые реализации языка поддерживают модульную
структуру, позволяющую разрабатывать модульные программы.
знаком ?- следует ряд хвостовых целевых утверждений (чаще всего в виде
конъюнкции).
Приведем примеры запросов:
?-собака(X). ?- родитель(Х.У),собака (Y).
или, иначе,
'?-'(собака(Х)) С?-') ','(родитель(Х„У",собака (Y)).
Последняя запись неудобна тем, что разделитель аргументов в
структуре совпадает с символом конъюнкции. Программисту нужно помнить
о различных значениях символа ','.
Запрос иногда называют управляющей командой (директивой), так как
он требует от Пролог-системы выполнения некоторых действий. Во многих
реализациях Пролога для управляющей команды используется
альтернативный символ, а символ ?- обозначает приглашение верхнего
уровня интерпретатора Пролога. Альтернативным символом является :-.
Таким образом,
:-write(co6aкa).
- это управляющая команда, в результате выполнения которой печатается
атом собака. Управляющие команды будут рассмотрены ниже при описании
ввода программ.
14.4 Ввод программ
Введение списка утверждений в Пролог-систему осуществляется с
помощью встроенного предиката consult. Аргументом предиката consult
является атом, который обычно интерпретируется системой как имя файла,
содержащего текст программы на Прологе. Файл открывается, и его
содержимое записывается в базу данных. Если в файле встречаются
управляющие команды, они сразу же выполняются. Возможен случай, когда
файл не содержит ничего, кроме управляющих команд для загрузки других
файлов. Для ввода утверждений с терминала в большинстве реализации
Пролога имеется специальный атом, обычно user. С его помощью
утверждения записываются в базу данных, а управляющие команды
выполняются немедленно.
Помимо предиката consult, в Прологе существует предикат
reconsult. Он работает аналогичным образом. Но перед добавлением
утверждений к базе данных из нее автоматически удаляются те утверждения,
головные цели которых сопоставимы с целями, содержащимися в файле
перезагрузки. Такой механизм позволяет вводить изменения в базу данных. В
Прологе имеются и другие методы добавления и удаления утверждений из
базы данных. Некоторые реализации языка поддерживают модульную
структуру, позволяющую разрабатывать модульные программы.
123
Страницы
- « первая
- ‹ предыдущая
- …
- 122
- 123
- 124
- 125
- 126
- …
- следующая ›
- последняя »
