Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

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






CLAUSES. has_credit_card(Who, Card),






likes_shopping(Who): -

has_credit_card(Who, Card),

not(bottomed_out(Who, Card)),

write(Who, “ can shop with the ”, Card, “ credit card.\n”).

has_credit_card(chris, visa).

has_credit_card(chris, diners).

has_credit_card(joe, shell).

has_credit_card(sam, mastercard).

has_credit_card(sam, citibank).

bottomed_out(chris, diners).

bottomed_out(sam, mastercard).

bottomed_out(chris, visa).

22. Введите следующую цель:

likes_shopping(Who).

Пролог ответит (рис. 11):

 

Рис. 11. Вывод результата программы

Контрольные задания:

1. Предположим, что средний налогоплательщик в США это женатый американский гражданин с двумя детьми, который зарабатывает ни меньше, чем 500 $ в месяц и не больше, чем 2 000 $ в месяц. Задайте предикат special_taxpayer, дающий цель special_taxpayer(fred), которая выполняется, если fred не является средним налогоплательщиком из-за не выполнения только одного условия. Используйте отсечение для исключения отката.

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

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

tom versus bill

marjory versus annette

Используйте отсечение для гарантии того, например, что

tom versus bill

и

bill versus tom

не будут отражены вместе.

 

Контрольные вопросы:

1. Что означает метод называемый откатом?

2. Сформулируйте правила отката.

3. Для чего необходим предикат fail?

4. Что представляет собой точка отката?

5. Опишите принципы отката.

6. Когда выполняется предикат not?

7. Опишите правильные способ обработки несвязанных переменных в пределах подцели not?

8. К чему приведет неправильное использование предиката not?

 

 



Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.005 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал