Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
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?
|