В любой версии Пролога, кроме предикатов вводимых пользователем существуют несколько сотен предопределенных предикатов для встроенных функций. Write сопоставляется всегда успешно, предназначена для вывода на текущее устройство вывода. На ряду с константами и переменными используются /n-конец строки, /t –табуляция, /nl – новая строка, not (предикат) – согласуется если предикат ложный, fail - никогда не согласуется используется для искусственного неуспеха поиска и заставит Пролог искать другие варианты.
Кроме клауз описывающих статистическую базу данных, есть встроенная динамическая СУБД несколько похожая на реляционную. Она позволяет создавать несколько бах данных с различными именами (если одна можно без имени).
Предикаты их этих БД можно использовать в качестве подцелей.
assert <факт> - добавить в базу данных факт.
asserta <факт> - добавить в базу запись и сделать первой среди одноименных.
retract <факт> - удалить факт
retractall <образ факта> - убрать все похожие.
Динамическая база в основном используется для фиксации ответов пользователя в диалоге, а также для оперативного изменения базы фактов. (Новые факты - ОЗУ)
сut – отсечение (не входит в чистый пролог). Препятствует откату.
a, b, c, d, !, e, f
На дереве поиска отрезается ветка, дальнейший поиск идет только на ней.
Опубликовал Kest
January 11 2010 15:04:11 ·
0 Комментариев ·
6033 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.