Добавить правила, задающие отношения - Prolog

Узнай цену своей работы

Формулировка задачи:

Создайть файл, содержащий следующую базу данных: женщина(анна). мужчина(борис). женщина(юлия). мужчина(олег). женщина(галина). мужчина(антон). женщина(елена). мужчина(павел). родитель(борис,павел). % кто чей родитель(анна,юлия). родитель(анна,антон). родитель(анна,борис). родитель(олег,юлия). родитель(олег,антон). родитель(олег,борис). родитель(галина,анна). родитель(галина,елена). Добавить правила, задающие отношения отец/2, мать/2, мать/1 и дедушка/2, после чего сформулировать запросы, определяющие всех матерей и дедушек в данной базе. Реализовать для SWI Prolog 525

Решение задачи: «Добавить правила, задающие отношения»

textual
Листинг программы
мать(X):-женщина(X),check(X).
check(X):-мать(X,_),!.

Объяснение кода листинга программы

  1. В коде присутствуют два правила: мать(X):-женщина(X),check(X) и check(X):-мать(X,_),!.
  2. Первое правило говорит о том, что если объект X является женщиной и проходит проверку, то он является матерью.
  3. Второе правило говорит о том, что если объект X является матерью и имеет некоторое значение (которое не указано), то он проходит проверку.
  4. Значение переменной X в первом правиле не указано, а во втором правиле оно обозначено как _.
  5. Значение переменной X во втором правиле не может быть пустым, так как оно используется в качестве аргумента при вызове функции мать(X,_) в первом правиле.
  6. Возможно, в коде присутствуют другие правила или функции, но они не указаны в данном фрагменте.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы