GOAL: hot_ dish ( Y )

Возможные ответы:

Y=”жаркое_из_говядины”

Y=”фаршированный_судак”

Для решения задач можно построить и более сложные правила.

Пример. Составить обед, в который входят закуска, горячее блюдо (мясное или рыбное) и десерт. Обед будет определяться переменными X,Y,Z, где Xsnak (закуска), Yhot_ dish (горячее блюдо), Zdessert (десерт).В Прологе это выражается очень естественно в виде следующего правила для определения отношения lunch (обед)

Lunch (X,Y,Z):- snak(X), hot_ dish (Y), dessert(Z).

Правило читается так: ” X,Y,Z удовлетворяют отношению lunch (обед), если X удовлетворяет отношению snak (закуска), Y удовлетворяет отношению hot_ dish (горячее_блюдо) и Z удовлетворяет отношению dessert (десерт)”. Здесь отношение lunch определено как конъюнкция трех других предикатов.

Правила описывают зависимость некоторого отношения от группы других отношений (зависимость предиката от группы других предикатов), называемых условиями или целевыми утверждениями. Правило соответствует условному высказыванию (импликации).

Термы

Элементарными составляющими утверждений являются предикаты со своими списками аргументов, описывающие отношения предметной области. Предикаты представляют собой логические функции, приобретающие значение истина или ложь в процессе выполнения программы. Их структура имеет вид:

<имя отношения> (<список аргументов>).

Элементами списка аргументов могут быть только термы, отделяющиеся друг от друга запятой.

Терм – это синтаксически правильная конструкция Пролога. Различают следующие типы термов: константы, переменные, списки, строки и структуры.

Общая схема выполнения программы на языке Турбо-Пролог


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: