Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Упражнения. 7.8. Используя bagof, определите отношение



7.8. Используя bagof, определите отношение

множподмножеств(Мн, Подмн)

для вычисления множества всех подмножеств данного множества (все множества представлены списками).

7.9. Используя bagof, определите отношение

копия(Терм, Копия)

чтобы Копия представляла собой Терм, в котором все переменные переименованы.

Резюме

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

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

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 — средство управления, позволяющее порождать неограниченное число альтернатив для автоматического перебора.





Дата публикования: 2015-10-09; Прочитано: 164 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...