Резюме

We use cookies. Read the Privacy and Cookie Policy

Резюме

• В любой реализации Пролога обычно предусматривается набор встроенных процедур для выполнения различных полезных операций, несуществующих в чистом Прологе. В данной главе мы рассмотрели подобное множество предикатов, имеющееся во многих реализациях.

• Тип терма можно установить при помощи следующих предикатов:

var( X)     X — (неконкретизированная) переменная

nonvar( X)  X — не переменная

atom( X)    X — атом

integer( X) X — целое

atomic( X)  X — или атом, или целое

• Термы можно синтезировать или разбирать на части:

Терм =.. [Функтор [ СписокАргументов]

functor( Терм, Функтор, Арность)

arg( N, Терм, Аргумент)

name( атом, КодыСимволов)

• Программу на Прологе можно рассматривать как реляционную базу данных, которую можно изменять при помощи следующих процедур:

аssert( Предл)  добавляет предложение Предл к программе

аssеrtа( Предл) добавляет в начало

assertz( Предл) добавляет в конец

rеtrасt( Предл) удаляет предложение, сопоставимое с предложением Предл

• Все объекты, отвечающие некоторому заданному условию, можно собрать в список при помощи предикатов:

bagof( X, P, L)   L — список всех X, удовлетворяющих условию P

setof( X, P, L)   L — отсортированный список всех X, удовлетворяющих условию P

findall( X, P, L) аналогичен bagof

• repeat — средство управления, позволяющее порождать неограниченное число альтернатив для автоматического перебора.