Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Подготовка к PROLOG.doc
Скачиваний:
1
Добавлен:
27.09.2019
Размер:
154.11 Кб
Скачать

Этапы программирвоания на тп

  1. Описание типов данных (domains). Для стандартных типов описание необязательно.

  2. Описанеи предикатов (predicates)

  3. Объявление некоторых фактов об объектах и отношениях между ними (clauses).

  4. Объявление некоторых првид об объектах и отношениях между ними (clauses).

  5. Формулировка вопросов об объектах и отношениях между ними (goal или окно диалога).

Декларативный и процедурный смысл программы

Различают два уровня смысла.

Декларативный (описательный) касается только отношений, определяемых программой. Декларативный смысл определяет, что должно быть результатом работы программы. Процедурный смысл определяет как результат получается.

Р:-А, В

Декларативный смысл этого предположения: Р истина, если А и В истинны. Процедурный смысл: чтобы решить Р, сначала надо решить А , а потом В. Способность Пролог-системы прорабатывать многте процедурные детали самостоятельно считается одним из специфических преимуществ Пролога. Этот факт имеет практическое значение , так как декларативные аспектыпрограммы обычно являются более легкими для понимания чем процедурные детали.

Сопоставление

Наиболее важной операцией над термами являетяс соспоставление. Два терма сопоставимы если:

  • они идентичны;

  • переменные в обоих термах можно переписать в качестве значений объекта (то есть конкретизируют их).

Таким образом, чтобы после подстановки этих объектов в терм вместо переменных 2 терма стали идентичны. Например термы дата (Д, М, 1999) и дата (Д1, май, Х) сопоставимы. С другой стороны дата (Д, М, 1999) и дата (Д1, М1, 1945) не сопоставимы.

Общие правила сопоставимости двух термов таковы:

  1. Если С и Т константы, то С и Т сопоставимы только если они являются одними и теми же объектами.

  2. Есил С – переменная, Т – произволный объект, то они сопоставимы и С приписывается значение Т.

  3. Если С и Т структуры, то они сопоставимы, если: С и Т имеют одинаковый главный функтор; все их составляющие компоненты сопоставимы.

Схема согласования целевых утверждений

Для ответа на вопрос, поступивший от пользователя ТП начинает решение задачи. Вопрос содержит 1 или несколько целевых утверждений (подцелей), которые необходимо попытаться доказать с помощью известных утверждений (фактов и правил). Факт может привести к немедленному согласованию целевого утверждения, когда ЦУ и факт сопоставимы. Правило может свести данную цель к одному или нескольким предикатам-подцелям, составляющим првую част правил. Есил Цу ен доказано, возбуждаетяс процесс возврата и делаетс япопытка передоказать ЦУ путем поиска альтернативных путей доказательства. При возврате конкретизированны переменные становятся свободными, а при новом доказательстве получают другие конкретизации. Процесс возврата повторяется до тех пор, пока не будут использованы все новые пути доказательства.

Арифметика в тп

ТП обладает теми же арифметическими возможностми, что и другие языки программирования. ТП выполняет 4 основных арифметических операции +, -, *, / над целыми и вещественными числами. Кроме того: div – целочисленное деление, mod – остаток целочисленного деления. Соотношение типов операндов и результатов опреации приведены в таблице :

Операнд 1

Оператор

Операнд 2

Рзультат

integer

+ - *

integer

integer

integer

+ - * /

real

real

real

+ - * /

integer

real

real

+ - * /

real

real

integer

/

integer

real

В арифметических выражениях (АВ) могу присутствовать операнды (константы и переменные), операторы арифметических операций, скобки, 16-чные числа с идентифицирующим символом $.

Логические операторы.

>, >=, <, <=, =, <>, ><

При сравнении строк ТП преобразует их в соответствующие символы строке коды ASCII и сравнивает их как числа.