🔢 | Описание | Код | Отчет | ℹ️ |
---|---|---|---|---|
1️⃣ | Разобраться со средой Visual Prolog | Код | Отчет | ✅ |
2️⃣ | Создать базу знаний студентов с помощью фактов, правил | Код | Отчет | ✅ |
3️⃣ | Создать базу знаний: записи, владельцы машин, счета в банке | Код | Отчет | ✅ |
4️⃣ | Использование конъюнктивного правила и простого вопроса | Код | Отчет | ✅ |
5️⃣ | Создание и использование вариативных типов данных | Код | Отчет | ✅ |
6️⃣ | Использование правил в программе на Prolog | Код | Отчет | ✅ |
7️⃣ | Формирование эффективных программ на Prolog | Код | Отчет | ✅ |
8️⃣ | Рекурсия на Prolog | Код | Отчет | ✅ |
9️⃣ | Обработка списков на Prolog | Код | Отчет | ✅ |
0️⃣ | Формирование и модификация списков на Prolog | Код | Отчет | ✅ |
p(X) :- r(X). значит: предикат p(X) будет успешен, если успешен предикат r(X)
q(7). q(3). q(2).
r(8). r(5).
пара(X,Y) :- q(X), r(Y), X+Y>10, write(X,Y), nl, fail; succeed.
Перебор значений в множестве Q = {7, 3, 2} и R = {8, 5}. Когда найдется значение X+Y>10, тогда пара выведется на экран, перейдет на новую строку, а предикат fail откатывает назад - к предикату r(Y)
Предикат - succeed всегда успешен, поэтому в случае неуспеха в поиске пар чисел больше десяти, поиск пар не прервется, а сработает succeed