Реализация отношений n-юродная тетя и внучка на ТуПролог (тот же турбо) - Prolog

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

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

Вот, чтто у меня получилось, но я не понимаю сам принцип Кто будет Н-юродной тетей, и Н-юродной внучкой... Хелп ми=) Учитель что то говорил про выражение через Н-юродную сестру\брата, их я выразил но как дальше не врубаю...
Листинг программы
  1. parent(shannon,kenny).
  2. parent(kent,ruby).
  3. parent(dexter,rita).
  4. parent(shannon,rita).
  5. parent(pame,bob).
  6. parent(tom,bob).
  7. parent(tom,lize).
  8. parent(bob,anna).
  9. parent(bob,pate).
  10. parent(pate,jhim).
  11. parent(jhim,pete).
  12. parent(pete,mary).
  13. parent(mary,creeg).
  14. parent(anna,brick).
  15. parent(brick,zine).
  16. parent(zine,john).
  17. parent(rita,anna).
  18. parent(rita,pate).
  19. parent(anna,andrew).
  20. parent(andrew,sasha).
  21. parent(pate,eric).
  22. woman(shannon).
  23. woman(pame).
  24. woman(lize).
  25. woman(pate).
  26. woman(anna).
  27. woman(mary).
  28. woman(zine).
  29. woman(ruby).
  30. man(kent).
  31. man(kenny).
  32. man(dexter).
  33. man(brick).
  34. man(john).
  35. man(pete).
  36. man(creeg).
  37. man(tom).
  38. man(bob).
  39. man(jhim).
  40. married(bob,rita).
  41. married(kenny,ruby).
  42. predok(X,Z):-parent(X,Z).
  43. predok(X,Z):-parent(X,Y),predok(Y,Z) .
  44. grandparent(X,Y):-parent(X,Z),parent(Z,Y),not X=Y.
  45. granddaughter(Y,X):-parent(X,Z),parent(Z,Y),woman(Y).
  46. second_coustin_aunt(V,Z):-parent(X,L),parent(X,K),parent(L,N),parent(K,M),parent(N,Q),parent(M,Z),parent(Q,V),parent(Z,C),man(Q),man(C),woman(Z),woman(V),not V=Z.
  47. husbands_father(X,Z):-parent(X,Y),man(X),married(Y,C),woman(Z).
  48. relatives(1,A,B):-parent (X,A),parent(X,B),not X=B.
  49. relatives(N,A,B):-parent (X,A),parent(Y,B),woman(X),woman(Y),N1 is N-1,relatives(N1,X,Y)
  50. ncoustin(N,A,B):-relatives(N,A,B).
  51. naunt(1,X,Y):-parent(Q,X),parent(Q,W),parent(W,Y),woman(X).
  52. naunt(N,X,Y):-
Извините, не знаю как тут править, внес пару изменений и кажись допер как реализовать н-тетю, но до сих пор не могу понять про внучку...
Листинг программы
  1. relatives(1,A,B):-parent (X,A),parent(X,B),not X=B.
  2. relatives(N,A,B):-parent (X,A),parent(Y,B),N1 is N-1,relatives(N1,X,Y)
  3. ncoustin(N,A,B):-relatives(N,A,B).
  4. naunt(1,X,Y):-parent(Q,X),parent(Q,W),not X=W,parent(W,Y),woman(X).
  5. naunt(N,X,Y):-woman(X),parent(B,Y),N1 is N-1,ncoustin(N1,X,B).

Решение задачи: «Реализация отношений n-юродная тетя и внучка на ТуПролог (тот же турбо)»

textual
Листинг программы
  1. domains
  2.     s = string
  3. predicates
  4.     man (s)
  5.     woman (s)
  6.     mother (s, s)
  7.     father (s, s)
  8.     parent (s, s)
  9.     married (s, s)
  10.     mar (s, s)
  11.     wife (s, s)
  12.     husband (s, s)
  13.     sister (s, s)
  14.     brother (s, s)
  15.     niece (s, s)
  16.     nephew (s, s)
  17.     aunt (s, s)
  18.     uncle (s, s)
  19.     grandmother (s, s)
  20.     grandfather (s, s)
  21.     granddaughter (s, s)
  22.     grandson (s, s)
  23.     cousina (s, s)
  24.     cousin (s, s)
  25.     son (s, s)
  26.     daughter (s, s)
  27.     greatgrandson (s, s)
  28.     greatgranddaughter (s, s)
  29.     n_parent(integer,s,s)
  30.     n_granddaughter(integer,s,s)
  31.     t_niece(s,s)
  32.     t_nephew(s,s)
  33.     t_sister(s,s)
  34.     t_brother(s,s)
  35. clauses
  36.     man ("Igor").
  37.     man ("Dmitrii2").
  38.     man ("Nicolai").
  39.     man ("Victor").
  40.     man ("Ivan").
  41.     man ("Alexcander").
  42.     man ("Nicolai_m").
  43.     man ("Andrey").
  44.     man ("Dmitrii1").
  45.     man ("Stepan").
  46.     man ("Pavel").
  47.     man ("Maksim").
  48.     man ("Boris").
  49.     man ("Urii").
  50.     man ("Semen").
  51.     man ("Sergey").
  52.     man ("Efim").
  53.     man ("Adam").
  54.     man ("Roman").
  55.     man ("Anton").
  56.     man ("Elisei").
  57.     man ("Egor").
  58.     man ("Mark").
  59.     man ("Tixon").
  60.        
  61.     woman ("Elena").
  62.     woman ("Marina").
  63.     woman ("Jana").
  64.     woman ("Alice").
  65.     woman ("Vera").
  66.     woman ("Alla").
  67.     woman ("Nika").
  68.     woman ("Gera").
  69.     woman ("Mila").
  70.     woman ("Tina").
  71.     woman ("Lia").
  72.     woman ("Lana").
  73.     woman ("Lydia").
  74.     woman ("Ekaterina").
  75.     woman ("Tatiana").
  76.     woman ("Maria").
  77.     woman ("Svetlana").
  78.     woman ("Nora").
  79.     woman ("Lubov").
  80.     woman ("Valentina").
  81.     woman ("Anna").
  82.     woman ("Irina").
  83.    
  84.     parent ("Tatiana", "Andrey").
  85.     parent ("Tatiana", "Igor").
  86.     parent ("Maria", "Tatiana").
  87.     parent ("Nora", "Maria").
  88.     parent ("Lubov", "Nicolai_m").
  89.     parent ("Svetlana", "Dmitrii2").
  90.     parent ("Valentina", "Svetlana").
  91.     parent ("Anna", "Victor").
  92.     parent ("Dmitrii2", "Andrey").
  93.     parent ("Dmitrii2", "Igor").
  94.     parent ("Nicolai_m", "Tatiana").
  95.     parent ("Victor", "Dmitrii2").
  96.     parent ("Ivan", "Maria").
  97.     parent ("Alexcander", "Nicolai_m").
  98.     parent ("Nicolai", "Svetlana").
  99.     parent ("Dmitrii1", "Victor").
  100.     parent ("Nora", "Ekaterina").
  101.     parent ("Ivan", "Ekaterina").
  102.     parent ("Elena", "Pavel").
  103.     parent ("Stepan", "Pavel").
  104.     parent ("Ekaterina", "Maksim").
  105.     parent ("Pavel", "Maksim").
  106.     parent ("Maksim", "Marina").
  107.     parent ("Marina", "Jana").
  108.     parent ("Marina", "Boris").
  109.     parent ("Irina", "Semen").
  110.     parent ("Urii", "Semen").
  111.     parent ("Alla", "Vera").
  112.     parent ("Sergey", "Vera").
  113.     parent ("Vera", "Alice").
  114.     parent ("Semen", "Alice").
  115.     parent ("Alice", "Marina").
  116.     parent ("Efim", "Gera").
  117.     parent ("Nika", "Gera").
  118.     parent ("Mila", "Anton").
  119.     parent ("Elisei", "Anton").
  120.     parent ("Anton", "Adam").
  121.     parent ("Gera", "Adam").
  122.     parent ("Tina", "Mark").
  123.     parent ("Egor", "Mark").
  124.     parent ("Lia", "Lana").
  125.     parent ("Tixon", "Lana").
  126.     parent ("Lana", "Lydia").
  127.     parent ("Mark", "Lydia").
  128.     parent ("Lydia", "Roman").
  129.     parent ("Adam", "Roman").  
  130.     parent ("Roman", "Jana").
  131.     parent ("Roman", "Boris").
  132.    
  133.     married ("Tatiana", "Dmitrii2").
  134.     married ("Maria", "Nicolai_m").
  135.     married ("Svetlana", "Victor").
  136.     married ("Nora", "Ivan").
  137.     married ("Lubov", "Alexcander").
  138.     married ("Valentina", "Nicolai").
  139.     married ("Anna", "Dmitrii1").
  140.     married ("Elena", "Stepan").
  141.     married ("Ekaterina", "Pavel").
  142.     married ("Alice", "Maksim").
  143.     married ("Marina", "Roman").
  144.     married ("Vera", "Semen").
  145.     married ("Irina", "Urii").
  146.     married ("Alla", "Sergey").
  147.     married ("Nika", "Efim").
  148.     married ("Mila", "Elisei").
  149.     married ("Gera", "Anton").
  150.     married ("Tina", "Egor").
  151.     married ("Lia", "Tixon").
  152.     married ("Lana", "Mark").
  153.     married ("Lydia", "Adam").
  154.        
  155.     mar (X,Y):-married(X,Y).
  156.     mar (X,Y):-married(Y,X).
  157.    
  158.     wife (W,X):-woman(W), mar(W,X).
  159.    
  160.     husband (H,X):-man(H), mar(H,X).
  161.    
  162.     mother (M,X):-parent(M,X), woman(M).
  163.    
  164.     father (F,X):-parent(F,X), man(F).
  165.    
  166.     sister (S,X):-parent(P,S), parent(P,X), S<>X, woman(S).
  167.    
  168.     brother (B,X):-parent(P,B), parent(P,X), B<>X, man(B).
  169.    
  170.     niece (N,X):-parent(P,N), sister(P,X), woman(N).
  171.     niece (N,X):-parent(P,N), brother(P,X), woman(N).
  172.    
  173.     nephew (N,X):-parent(P,N), sister(P,X), man(N).
  174.     nephew (N,X):-parent(P,N), brother(P,X), man(N).
  175.    
  176.     aunt (A,X):-niece(X,A), woman(A).
  177.     aunt (A,X):-nephew(X,A), woman(A).
  178.    
  179.     uncle (U,X):-niece(X,U), man(U).
  180.     uncle (U,X):-nephew(X,U), man(U).
  181.    
  182.     grandmother (G,X):-woman(G), parent(P,X), parent(G,P).
  183.    
  184.     grandfather (G,X):-man(G), parent(P,X), parent(G,P).
  185.    
  186.     granddaughter (G,X):-woman(G), parent(P,G), parent(X,P).
  187.    
  188.     grandson (G,X):-man(G), parent(P,G), parent(X,P).
  189.    
  190.     cousina (C,X):-woman(C), aunt(A,X), mother(A,C).
  191.     cousina (C,X):-woman(C), uncle(U,X), father(U,C).
  192.    
  193.     cousin (C,X):-man(C), aunt(A,X), mother(A,C).
  194.     cousin (C,X):-man(C), uncle(U,X), father(U,C).
  195.    
  196.     son (S,P):-man(S), parent(P,S).
  197.    
  198.     daughter (D,P):-woman(D), parent(P,D).
  199.    
  200.     greatgrandson (S,X):-man(S), parent(P,S), parent(Y,P), parent(X,Y).
  201.     greatgranddaughter(S,X):-woman(S), parent(P,S), parent(Y,P), parent(X,Y).
  202.    
  203.     n_granddaughter(N,X,Y):-woman(X),n_parent(N,X,Y).
  204.     n_parent(1,X,Y):-parent(X,Y).
  205.     n_parent(N,X,Y):-N>1,parent(X,Z),N1=N-1,n_parent(N1,Z,Y).
  206.    
  207.     t_sister(Y,X):-parent(Z,X),parent(F,Z), sister(F,N),parent(N,L), parent(L,Y), woman(Y).
  208.     t_sister(Y,X):-parent(Z,X),parent(F,Z), brother(F,N),parent(N,L), parent(L,Y), woman(Y).
  209.    
  210.     t_brother(Y,X):-parent(Z,X),parent(F,Z), sister(F,N),parent(N,L),parent(L,Y), man(Y).
  211.     t_brother(Y,X):-parent(Z,X),parent(F,Z), brother(F,N),parent(N,L),parent(L,Y), man(Y).
  212.    
  213.     t_niece(Y,X):-t_sister(X,Z), parent(Z,Y), woman(Y).
  214.     t_niece(Y,X):-t_brother(X,Z), parent(Z,Y), woman(Y).
  215.    
  216.     t_nephew(Y,X):-t_brother(X,Z), parent(Z,Y), man(Y).
  217.     t_nephew(Y,X):-t_sister(X,Z), parent(Z,Y), man(Y).

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


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

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

13   голосов , оценка 3.923 из 5

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

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

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