Объекты в Прологе

Имена — это последовательности букв и цифр, начинающиеся с буквы (строчной!). Системы программирования на Прологе для компьютеров допускают использование лишь латинских строчных и прописных букв: a...z, A...Z. Использование русских строчных и прописных букв не допускается.

Типы данных

Включают атомарные, переменные значения и структуры.

Примеры специальных атомов:

: - (обозначает импликацию),

? - (вопрос, обозначающий отрицание),

! - (предикат отсечения).

Переменные

обозначаются последовательностью букв и цифр, начинающейся с прописной буквы. Особый вид переменной — анонимная переменная _, используемая в качестве аргумента предиката, когда конкретное значение переменной несущественно.

Структура

конструкция, состоящая из имени структуры и заключенного в скобки списка ее аргументов, разделенных запятыми. Элементами структур могут быть числа, атомы, переменные, другие структуры и списки.

Примеры структур: str(А,В,С), носит(юрий,пиджак).

Списки

представляют собой объединение элементов произвольных видов, разделенных запятыми и заключенных в квадратные скобки. Списки отличаются от структур тем, что количество элементов может меняться при выполнении программы. Примеры списков: [1,3,5,7], [красный,желтый, зеленый].

26. Операция сопоставления. Факты. Правила. Задание значений переменных. Вопрос.

Операция сопоставления

называемая также унификацией или согласованием.

константа сопоставляется только с равной ей константой;

идентичные структуры сопоставляются друг с другом;

переменная сопоставляется с константой или с ранее связанной переменной
(и становится связанной с соответствующим значением);

две свободные переменные могут сопоставляться (и связываться) друг с другом. С момента связывания они трактуются как одна переменная: если одна из них принимает какое-либо значение, то вторая немедленно принимает то же значение.

Примеры:

5 сопоставляется с 5; «имеет» сопоставляется с «имеет»; «Сергей» не сопоставляется с «юрий»; «имеет (сергей, машина)» не сопоставляется с «имеет (сергей, телевизор)»; «имеет (сергей, машина)» сопоставляется с «имеет (X, машина)», в этом случае переменная X получает в качестве значения атом «сергей».

Факты

— это предикаты с аргументами-константами, обозначающие отношения между объектами или свойства объектов, именованные этими константами. Факты в программе считаются всегда и безусловно истинными и таким образом служат основой доказательства, происходящего при выполнении программы.

Пример 1. Факты, описывающие телефонные номера:

телефон(иванов,т561532). телефон(петров,т642645). телефон(сидоров,т139833).

Пример 2. Факты, описывающие студентов:

нравится(сергей,рэп). нравится(юрий,джаз). носит(сергей, блейзер). носит(юрий, пиджак).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: