Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Упражнения. 3.12. Если принять такие определения



3.12. Если принять такие определения

:- op(300, xfy, играет_в).

:- op(200, xfy, и).

то два следующих терма представляют собой синтаксически правильные объекты:

Tepм1 = джимми играет_в футбол и сквош

Терм1 = сьюзан играет_в теннис и баскетбол и волейбол

Как эти термы интерпретируются пролог-системой? Каковы их главные функторы и какова их структура?

3.13. Предложите подходящее определение операторов ("работает", "в", "нашем"), чтобы можно было писать предложения типа:

диана работает секретарем в нашем отделе.

а затем спрашивать:

?- Кто работает секретарем в нашем отделе.

Кто = диана

?- диана работает Кем.

Кем = секретарем в нашем отдела

3.14. Рассмотрим программу:

t(0+1, 1+0).

t(X+0+1, X+1+0).

t(X+1+1, Z):-

t(X+1, X1),

t(X1+1, Z).

Как данная программа будет отвечать на ниже перечисленные вопросы, если '+' — это (как обычно) инфиксный оператор типа yfx?

(a)?- t(0+1, А).

(b)?- t(0+1+1, В).

(с)?- t(1+0+1+1+1, С).

(d)?- t(D, 1+1+1+0).

3.15. В предыдущем разделе отношения между списка ми мы записывали так:

принадлежит(Элемент, Список),

конк(Список1, Список2, Список3),

удалить(Элемент, Список, НовыйСписок),...

Предположим, что более предпочтительной для нас является следующая форма записи:

Элемент входит_в Список,

конкатенация_списков Список1 и Список2

дает Список3,

удаление_элемента Элемент из_списка Список

дает НовыйСписок,...

Определите операторы "входит_в", "конкатенация_списков", "и" и т.д. таким образом, чтобы обеспечить эту возможность. Переопределите также и соответствующие процедуры.





Дата публикования: 2015-10-09; Прочитано: 181 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...