Предок(X,Z) : —

Родитель(X,Y),

Предок(Y,Z).

В пролог-программе представлены только посылки (посылки-факты и посылки-правила) и пока отсутствуют заключения теоремы. Заключения теоремы формулируются путем указания некоторой цели. После ввода вышеприведенной программы в пролог-систему последней можно будет задавать вопросы, касающиеся описанных в программе отношений. Поставленный системе вопрос является для нее целью (внешней целью), для достижения которой система использует информацию раздела clauses. Обычно система предлагает ввести цель с клавиатуры сразу после приглашения, например, в виде? — (либо Цель:). Вопрос о том, является ли Боб родителем Пат, должен быть введен так:

? — родитель(боб,пат).

Найдя соответствующий факт в программе, система ответит

Да

На вопрос

? — родитель(лиз,пат) система ответит

Нет,

поскольку в программе ничего не говорится о том, является ли Лиз родителем Пат.

Цель для программы может быть внутренней. Тогда она указывается в разделе цели (goal), который записывается перед либо после раздела clauses и обязательно завершается точкой. Например, последний вопрос системе запишется в программе так:

Goal


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



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