Главная

ПРОЕКТ "ЧЕЛОВЕК. ЗЕМЛЯ. ВСЕЛЕННАЯ"

Инструменты пользователя

Инструменты сайта


project:prolog:konstanty_i_peremennye_v_prologe



Константы и переменные в Прологе

Если имя объекта начинается со строчной буквы, то этот объект имеет известное значение, то есть это константа. Объекты с известными или постоянными значениями должны начинаться со строчных букв, если они не являются числами.

likes(mary,apples). /* mary и apples являются константами. */

Слова, начинающиеся с ПРОПИСНЫХ букв, являются переменными языка Пролог (Prolog).

Внутренние унификационные подпрограммы означивают переменные.

Означенные переменные и константы имеют значения, «известные» Прологу (Prolog).

Свободные или неозначенные переменные значений не имеют.

Переменные могут быть объектами предиката как в утверждениях, так и в подцелях.

likes(mary,apples). /* Утверждение - Мэри любит яблоки */
likes(mary,What). /* Цель – что любит Мэри? */

Переменная в этой цели есть What (что). Когда внутренние унификационные подпрограммы пытаются сопоставить эту цель с фактами или правилами программы, переменная What не имеет значения, так как она неозначена, или неинициализирована. Неозначенные переменные еще называются свободными переменными.

Когда свободная переменная цели What сопоставляется с соответствующим объектом apples, значением What становится apples. Теперь переменная What означена (или инициализирована) объектом apples, то есть имеет значение apples

Всякий раз, когда неозначенная переменная сопоставляется с константой, она получает значение этой константы. Переменная становится вновь свободной, когда сопоставление оказывается неуспешным или цель оказывается успешно вычисленной. То есть переменные становятся свободными, как только для внутренних подпрограмм унификации отпадает необходимость связывать некоторое значение с переменной для выполнения доказательства подцели.

Пролог выдает на экран, что What=apples , и, что внутренняя подпрограмма унификации нашла все (или единственный) объекты, сопоставимые с целью.

Пример запроса:

collection(Collector,book(Title,_,_,1967)).

Знаки подчеркивания (_) указывают на то, что вас не интересуют соответствующие объекты, то есть знак подчеркивания замещает собой анонимную переменную.

Пролог не имеет «грубых средств» для присвоения значений переменным, как в других языках программирования. Точно также в Прологе нет «грубых средств» для управления ходом выполнения программы. Но понимая принцип работы внутренних унификационных подпрограмм, программист может использовать логический синтаксис Пролога для указания того, что необходимо выполнить и какие данные должны быть найдены.

!!Рекомендуем: Семейная Энциклопедия ЗдоровьяЧто должен знать современный человек?Самоанализ. Работа над собойОглавлениеГлавная сайта

Обсуждение

Ваш комментарий:
D G B F W
 
project/prolog/konstanty_i_peremennye_v_prologe.txt · Последние изменения: 2023/09/03 22:22 (внешнее изменение)

Вы можете оставить свои комментарии в разделе "Обсуждение".
Рекомендуем оформить подписку на новости данного раздела. Для этого нажмите на кнопку "Подписаться", расположенную справа снизу каждой страницы (знак конверта).


Индекс цитирования