Продолжим работу с "Меню". Предположим, что мы хотим получить информацию обо всех закусках. В этом случае мы, естественно, задали бы вопрос: "Какие блюда являются закусками?" или более формализовано: "Существуют ли те блюда (объекты) X, которые являются закусками?". Здесь имя X обозначает не какой-то конкретный объект, а любой, принадлежащий некоторому множеству (может быть пустому) объектов, обладающих свойством быть закуской и которые нужно найти в меню. В этом случае говорят, что X есть переменная.
На Прологе вопрос о закусках записывается так:
?-'закуска'(X).
интерпретатор ответит:
X='артишоки в белом соусе' ->
и затем будет ждать дальнейших указаний. Если в этой ситуации нажать на терминале клавишу , показывая тем самым, что вы удовлетворены полученным ответом, то Пролог прекратит дальнейший поиск. Если вместо этого нажать клавишу <;> (и вслед за ней клавишу ), то Пролог продолжит поиск и выдаст
новые ответы.
Вопрос:
?-'закуска'(X).
Ответ:
X='артишоки в белом соусе’->;
X='трюфели в шампанском’->;
X='салат с яйцом’->;
no
Все эти ответы содержат множество тех значений переменной X, при которых утверждение 'закуска'(X) истинно.
Опубликовал Kest
November 02 2009 21:31:14 ·
0 Комментариев ·
6183 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.