Добавить правила, задающие отношения - Prolog
Формулировка задачи:
Создайть файл, содержащий следующую базу данных:
женщина(анна). мужчина(борис).
женщина(юлия). мужчина(олег).
женщина(галина). мужчина(антон).
женщина(елена). мужчина(павел).
родитель(борис,павел). % кто чей
родитель(анна,юлия). родитель(анна,антон).
родитель(анна,борис). родитель(олег,юлия).
родитель(олег,антон). родитель(олег,борис).
родитель(галина,анна). родитель(галина,елена).
Добавить правила, задающие отношения отец/2, мать/2, мать/1 и
дедушка/2, после чего сформулировать запросы, определяющие
всех матерей и дедушек в данной базе.
Реализовать для SWI Prolog 525
Решение задачи: «Добавить правила, задающие отношения»
textual
Листинг программы
мать(X):-женщина(X),check(X). check(X):-мать(X,_),!.
Объяснение кода листинга программы
- В коде присутствуют два правила:
мать(X):-женщина(X),check(X)
иcheck(X):-мать(X,_),!
. - Первое правило говорит о том, что если объект X является женщиной и проходит проверку, то он является матерью.
- Второе правило говорит о том, что если объект X является матерью и имеет некоторое значение (которое не указано), то он проходит проверку.
- Значение переменной X в первом правиле не указано, а во втором правиле оно обозначено как
_
. - Значение переменной X во втором правиле не может быть пустым, так как оно используется в качестве аргумента при вызове функции
мать(X,_)
в первом правиле. - Возможно, в коде присутствуют другие правила или функции, но они не указаны в данном фрагменте.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д