
ОБЩИЙ ОБЗОР ЯЗЫКА ПРОЛОГ
В этой главе на примере конкретной программырассматриваются основные механизмы Пролога.Несмотря на то, что материал излагается восновном неформально, здесь вводятся многиеважные понятия.
1. 1. Пример программы: родственныеотношения
Пролог - это язык программирования,предназначенный для обработки символьнойнечисловой информации. Особенно хорошо онприспособлен для решения задач, в которыхфигурируют объекты и отношения между ними. Нарис. 1.1 представлен пример - родственныеотношения. Тот факт, что Том является родителемБоба, можно записать на Прологе так:
родитель( том, боб).
Здесь мы выбрали родитель в качествеимени отношения, том и боб - вкачестве аргументов этого отношения. Попричинам, которые станут понятны позднее, мызаписываем такие имена, как том, начинаясо строчной буквы. Все дерево родственныхотношений рис. 1.1 описывается следующейпролог-программой:
родитель( пам, боб).
родитель( том, боб).
родитель( том, лиз).
родитель( боб, энн).
родитель( боб, пат).
родитель( пам, джим).
Рис. 1. 1. Деревородственных
отношений.
Эта программа содержит шесть предложений.Каждое предложение объявляет об одном фактеналичия отношения родитель.
После ввода такой программы в пролог-системупоследней можно будет задавать вопросы,касающиеся отношения родитель.Например, является ли Боб родителем Пат? Этотвопрос можно передать пролог-системе, набрав наклавиатуре терминала:
