Скачиваний:
201
Добавлен:
17.06.2016
Размер:
2.69 Mб
Скачать

Переменные: основные положения

В Прологе переменные позволяют вам писать обобщенные факты и правила

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

переменные. Типичное предложение на английском языке может выглядеть сле-

дующим образом:

Bill likes the same thing as Kim. (Билу нравится то же самое, что и

Киму.)

The current temperature is some temperature and this temperature is

warm. (Текущая температура является некоторой температурой, и она -

теплая.)

Как мы уже отмечали в этой главе, для представления в Прологе пере-

менных вы должны использовать в качестве первой буквы аргумента заглавную

букву. Например, в следующих строках Thing и CurrentTemp являются пере-

менными:

likes (bill, Thing) and likes (kim, Thing).

temperature (CurrentTemp) and warm (CurrentTemp).

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

likes (cindy, Something) if likes (bill, Something).

Объект Something начинается с заглавной буквы и, следовательно, это

- переменная. Она должна быть использована для определения всего того,

что нравится Билу. Абсолютно равнозначно она могла бы называться X или

Zorro.

Объекты bill и cindy начинаются со строчной буквы, и, поэтому, они

не являются переменными; это - символы (константы). Вы можете начинать

константы с заглавных букв, но тогда вы должны заключать их в кавычки

(например: "Bill").

Выводы

1. Программы на Прологе включают в себя фразы двух типов (также из-

вестных под названием "предложения"): факты и правила.

# Факты соответствуют связям и свойствам, о которых вы (программист)

знаете, что они истинны.

# Правила соответствуют зависимым связям: они позволяют Прологу вы-

водить один "элемент" информации из другого. Правило становится ис-

тинным, если доказывается, что истинно заданное множество условий.

Каждое правило зависит от доказательства истинности соответствующих

условий.

2. Все правила в Прологе имеют три части: заголовок, символ "if" и

тело.

# Заголовок - это факт, который должен быть истинным, если истинно

некоторое число условий. Для обозначения заголовка могут также ис-

пользоваться термины "заключение" и "зависимая связь".

# Символ "if" отделяет заголовок правила от его тела. Он может обоз-

начаться знаками ":-" или словом "if".

# Тело - это множество условий (или список фактов), которые (для то-

го, чтобы Пролог мог доказать истинность заголовка правила) должны

быть истинны.

3. Определив для Пролога множество фактов, вы можете (в соответствии

с этими фактами) задавать вопросы: это называется запросом к системе Про-

лога. Пролог всегда ищет решение, начиная с первого факта, и просматрива-

ет их до достижения самого последнего.

4. Механизм вывода Пролога берет из правила условия (тело правила) и

просматривает (пытаясь разрешить эти условия) список всех известных фак-

тов и правил. Если все условия истинны, то зависимая связь (заголовок

правила) считается истинной. Если же на основании известных фактов удов-

летворяются не все условия, - использование правила ни к чему не приво-

дит.

Соседние файлы в папке Документация