Выводит не все строчки ответа (Turbo Prolog)

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

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

Листинг программы
  1. predicates
  2. parents(String, String)
  3. man(String)
  4. woman(String)
  5. sister(String, String)
  6. brother(String, String)
  7. father(String, String)
  8. mother(String, String)
  9. grandfather(String, String)
  10. grandmother(String, String)
  11. print
  12. clauses
  13. parents("Tom","Ellen").
  14. parents("Tom", "Chris").
  15. parents("Jane", "Ellen").
  16. parents("Jane", "Chris").
  17. parents("John", "Jane").
  18. parents("Eve","Tom").
  19. man("Tom").
  20. man("Chris").
  21. man("John").
  22. woman("Ellen").
  23. woman("Jane").
  24. woman("Eve").
  25.  
  26. sister(X, Y) :- parents(Z, X), parents(Z, Y), woman(X), X<>Y.
  27.  
  28. brother(X, Y) :- parents(Z, X), parents(Z, Y), man(X), X<>Y.
  29.  
  30. father(X, Y) :- parents(X, Y), man(X), X<>Y.
  31.  
  32. mother(X, Y) :- parents(X, Y), woman(X), X<>Y.
  33.  
  34. grandfather(X, Y) :- parents(X,Z), parents(Z, Y), man(X), X<>Y.
  35.  
  36. grandmother(X, Y) :- parents(X,Z), parents(Z, Y), woman(X), X<>Y.
  37. print:-sister(X,Y), write(X,"- sister -", Y), nl, fail.
  38. print:-brother(X,Y), write(X,"- brother -", Y), nl, fail.
  39. print:-father(X,Y), write(X,"- father -", Y), nl, fail.
  40. print:-mother(X,Y), write(X,"- mother -", Y), nl, fail.
  41. print:-grandfather(X,Y), write(X,"- grandfather -", Y), nl, fail.
  42. print:-grandmother(X,Y), write(X,"- grandmother -", Y), nl, fail.
  43. print.
  44. GOAL
  45. print,
  46. readln(I).
Программа выводит ответ начиная с второго print. Как исправить?

Решение задачи: «Выводит не все строчки ответа (Turbo Prolog)»

textual
Листинг программы
  1. sister(X, Y):- woman(X), parents(Z, X), parents(Z, Y).
  2.  
  3. brother(X, Y):- man(X), parents(Z, X), parents(Z, Y).
  4.  
  5. father(X, Y):- man(X),parents(X, Y).
  6.  
  7. mother(X, Y):- woman(X), parents(X, Y).
  8.  
  9. grandfather(X, Y):- man(X), parents(X,Z), parents(Z, Y).
  10.  
  11. grandmother(X, Y):- woman(X), parents(X,Z), parents(Z, Y).
  12. print:-sister(X,Y), write(X),write('- sister -'), write(Y), nl, fail.
  13. print:-brother(X,Y), write(X),write('- brother -'), write(Y), nl, fail.
  14. print:-father(X,Y), write(X),write('- father -'), write(Y), nl, fail.
  15. print:-mother(X,Y), write(X),write('- mother -'), write(Y), nl, fail.
  16. print:-grandfather(X,Y), write(X),write('- grandfather -'), write(Y), nl, fail.
  17. print:-grandmother(X,Y), write(X),write('- grandmother -'), write(Y), nl, fail.
  18. print.
  19.  
  20. parents('Tom','Ellen').
  21. parents('Tom', 'Chris').
  22. parents('Jane', 'Ellen').
  23. parents('Jane', 'Chris').
  24. parents('John', 'Jane').
  25. parents('Eve','Tom').
  26.  man('Tom').
  27.  man('Chris').
  28.  man('John').
  29.  woman('Ellen').
  30.  woman('Jane').
  31.  woman('Eve').

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


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

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

7   голосов , оценка 4 из 5

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

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

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