Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
7 - Основы языка пролог.docx
Скачиваний:
7
Добавлен:
07.12.2018
Размер:
55.18 Кб
Скачать

Основы языка Пролог: атом, переменная, функтор, предикат, терм, литерал, дизъюнкт. Структура Пролог-программы: факты, правила, цель. Редактор и интерпретатор.

Переменные всегда начинаются с заглавной буквы или символа подчеркивания!

Атом - это отдельный объект, считающийся элементарным. В Прологе атом представляется последовательностью букв нижнего и верхнего регистра, цифр и символа подчеркивания '_', начинающейся со строчной буквы. Кроме того, любой набор допустимых символов, заключенный в апострофы, также является атомом. Наконец, комбинации специальных символов + - * = < > : & также являются атомами (следует отметить, что набор этих символов может отличаться в различных версиях Пролога).

Примеры корректных атомов:

B, abcXyz, x_123, efg_hij, коля, слесарь, 'Это также атом Пролога',

+, ::, <---->, ***

Правила. Под правилами в Прологе понимаются наиболее общие утверждения об объектах и отношениях между ними. Пролог-правило имеет вид фразовой формы: заключение:-усл1, усл2, … , услN. Данное выражение считается основным в Прологе. Языки, подобные Прологу, считаются языками типа “если-то” :заключение истинно, если истинными являются все условия, перечисленные в правой части.

Факты. Факт понимается как запись того отношения, значение которого истинно. Форма записи факта : имя_предиката(аргумент {, аргумент}).

При этом:

1) Все имена предикатов и аргументов должны начинаться со строчной латинской буквы.

2) Перечисление аргументов - через запятую.

3) Каждый факт должен заканчиваться точкой.

4) Количество аргументов и вид отношений (направления отношений) определяются программистом и не меняются при выполнении программы.

Взгляните на следующие примеры фактов, приведенные вместе с возможной их интерпретацией на естественном языке:

ценный(золото). Золото является ценным.

женщина(джейн). Джейн - женщина.

владеет(джон,золото). Джон владеет золотом.

отец(джон,мэри). Джон является отцом Мэри.

дает(джон,книга,мэри). Джон дает Мэри книгу.

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

Отношение в Прологе называется предикатом.

Аргументы - это объекты, которые связываются этим отношением

Терм (term) - синтаксическая конструкция, обозначающая элемент данных или экземпляр класса. Различаются простые термы, составные термы, а также вызовы функций в предложениях.

Функтор (functor) - имя (символ или метапеременная), которому приписана некоторая арность (число аргументов). Метапеременная, используемая в качестве функтора, называется метафунктором.

Пролог, предусматривает только один тип данных, называемый термом. Любой объект задачи, которую надлежит формализовать, равно как и любое отношение между объектами, представляется термом того или иного вида. Например, можно представить дату следующим термом:

Пример:

дата(четверг, 22, март, 1989)

Это пример структурированного терма, который обычно называют просто структурой. Структура состоит из функтора, который представляет собой имя отношения, и последовательности компонентов, представляющих собой объекты в отношении. Число компонентов в структуре называется размерность структуры. В данном примере

дата - функтор структуры,

четверг

22

март