Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Сопоставление в логическом программировании

Основные задачи для функционального и логического программирования. | Основные примитивы Лиспа для обработки списка. | Рекурсия по аргументу, пример | Косвенная рекурсия, пример | Реализация рекурсивного вызова, функция трассировки в Лиспе | Применяющий функционал Лиспа | Генератор в программировании, понятие вычислительного контекста | Процедура вывода решения, как процедура доказательства теоремы | Определение оператора и его свойства. | Запись списка в виде структуры |


Читайте также:
  1. I. СТАРЫЙ ДЖОЛИОН В ЗООЛОГИЧЕСКОМ САДУ
  2. VI. СТАРЫЙ ДЖОЛИОН В ЗООЛОГИЧЕСКОМ САДУ
  3. Активность экспериментатора в психологическом эксперименте
  4. В. О логическом применении разума
  5. Виды переменных в психологическом эксперименте
  6. Г. Место на генеалогическом древе
  7. Генератор в программировании, понятие вычислительного контекста

Сопоставление (унификация) является наиболее важной операцией в языке Пролог.

Выполнение сопоставления может производиться либо явно, в теле правила с помощью встроенного предиката X=Y, либо неявно, при сопоставлении цели с фактом или головой правила. Сопоставление реализует основные операции обработки данных в логическом программировании:

однократное присваивание,

передача параметров,

создание структурных объектов,

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

Сопоставление выполняется согласно следующим правилам.

Если сопоставляются два атома, то проверяется их идентичность.

Если сопоставляется переменная и атом, то переменная получает значение атома. Говорят, она конкретизируется.

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

Конкретизированная переменная – связывание переменной с конкретным значением. Переменная может быть в двух состояниях: неконкретизированная и конкретизированная.

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

Если сопоставляются структуры, то в первую очередь проверяется идентичность главных функторов; во-вторых, арность структуры.

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

 


Дата добавления: 2015-07-19; просмотров: 61 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Теория Тьюринга, значение для логического программирования.| Переменная, конкретизация переменных

mybiblioteka.su - 2015-2024 год. (0.005 сек.)