Определить отношения и найти родственников, удовлетворяющих ему: дедушка, внук - Prolog

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

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

Помогите найти ошибки: Определить отношения и найти родственников, удовлетворяющих ему: дедушка, внук. Пролог - SWI
Листинг программы
  1. male(ivan).
  2. male(innokentiy).
  3. male(ilusha).
  4. male(igor).
  5. male(max).
  6. male(john).
  7. female(olga).
  8. female(oksana).
  9. female(olesya).
  10. female(vika).
  11. female(ira).
  12. female(lola).
  13. child(X,Y):-parent(Y,X).
  14. parent(ilusha,igor).
  15. parent(vika,igor).
  16. parent(igor,olga).
  17. parent(oksana,olga).
  18. parent(ilusha,olesya).
  19. parent(vika,olesya).
  20. sister(X,Y):-female(Y),parent(Y,G),parent(X,M),G=M,!;female(X),parent(X,G),parent(Y,M),G=M.
  21. wedding(igor,oksana).
  22. wedding(oksana,igor).
  23. vnuk(X,Y):-male(X),female(Y),wedding(X,H),sister(Y,H),!;male(X),female(Y),wedding(Y,H),sister(X,H),!.
  24. granddad(X,Y):-male(X),child(Y,H),child(H,X).

Решение задачи: «Определить отношения и найти родственников, удовлетворяющих ему: дедушка, внук»

textual
Листинг программы
  1.    vnuk(X,Y)  :- male(X), child(Y,W), child(W,X).  %% X - это внук Y

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

  1. vnuk(X,Y) :- male(X), child(Y,W), child(W,X).
  2. В данной строке кода определен факт vnuk, который гласит, что X является внуком Y.
  3. Для того чтобы X был внуком Y, необходимо выполнение трех условий:
  4. X должен быть мужчиной (male(X)).
  5. Y должен быть родителем какого-то человека (child(Y,W)).
  6. Этот человек должен быть родителем X (child(W,X)).
  7. Таким образом, X является внуком Y, если он является мужчиной и если Y является родителем какого-то человека, который в свою очередь является родителем X.

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


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

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

9   голосов , оценка 4.111 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы