Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Неопределенные предикаты




В некоторых версиях Prolog попытки вызова предиката, вообще не определенного в программе, приводят к неудачному завершению, а в других версиях Prolog в таких случаях предусматривается вывод сообщения об ошибке. В версиях Prolog последне-


го типа можно обеспечить неудачное завершение неопределенных предикатов (без со­общений об ошибках) с помощью встроенного предиката наподобие unknown (_,

•г л i:;.

Отрицание как недостижение успеха - операторы not и "\ + "

В данной книге для обозначения операции отрицания как недостижения успеха применялась конструкция not Goal. Но во многих версиях Prolog (и в стандарте) предусмотрено использование другого обозначения (возможно, менее привлекатель­ного) следующим образом: \+Goal

Такое обозначение позволяет подчеркнуть, что данная операция определяет не на­стоящее логическое отрицание, а отрицание, определенное как недостижение цели. Для совместимости с другими версиями Prolog оператор "not" необходимо заменить оператором "\+ " или (чтобы уменьшить для себя объем работы) ввести в программу not как предикат, определяемый пользователем (подробно об этом — в приложении Б).

Предикат name(Atom, CodeList)

Этот предикат предусмотрен во многих реализациях, но не включен в стандарт (вместо этого задан предикат atom__codes/2). В разных версиях Prolog имеются не­большие различия, связанные с выполнением предиката name в частных случаях, например, когда первым параметром является число.

Загрузка программ с помощью предикатов consult и reconsult

В различных реализациях применяются немного разные процедуры загрузки про­грамм с помощью предикатов consult и reconsult. Различия обнаруживаются, ес­ли программы загружаются из нескольких файлов, а один и тот же предикат опреде­лен больше чем в одном файле (один из способов обработки состоит в том, что новые предложения, относящиеся к тому же предикату, могут просто добавляться к старым предложениям, а другой способ предусматривает загрузку только предложений из самого последнего файла и уничтожение предыдущих предложений, относящихся к тому же предикату).

Модули

В некоторых реализациях Prolog программа может быть разделена на модули таким образом, чтобы имена предикатов были локальными по отношению к модулю, только если они не объявлены специально как видимые из других модулей. Это удобно при написании больших программ, если в них применяются разные предика­ты с одинаковыми именами, а параметры этих предикатов имеют разный смысл в различных модулях.


Приложение А. Некоторые различия мевду реализациями Prolog







Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 535 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Либо вы управляете вашим днем, либо день управляет вами. © Джим Рон
==> читать все изречения...

2318 - | 2050 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.