Advertisement
kokusz19

Untitled

May 2nd, 2020
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1. % Student exercise profile
  2. :- set_prolog_flag(occurs_check, error). % disallow cyclic terms
  3. :- set_prolog_stack(global, limit(8 000 000)). % limit term space (8Mb)
  4. :- set_prolog_stack(local, limit(2 000 000)). % limit environment space
  5.  
  6. % Your program goes here
  7.  
  8.  
  9. /** <examples> Your example queries go here, e.g.
  10. ?- member(X, [cat, mouse]).
  11. */
  12.  
  13. solve(Szakok, aV, aK, aE, aS, bV, bK, bE, bS, cV, cK, cE, cS, dV, dK, dE, dS, eV, eK, eE, eS):-
  14. clues(Szakok),
  15. queries(Szakok, aV, aK, aE, aS, bV, bK, bE, bS, cV, cK, cE, cS, dV, dK, dE, dS, eV, eK, eE, eS).
  16.  
  17.  
  18. clues(Szakok):-
  19. hallgato(A, Szakok), vezeteknev(A, fenyvesi), (keresztnev(A, edina); keresztnev(A, frida); keresztnev(A, gabriella)), szak(A, jog), not(egyetem(A, debrecen)), /* 1 */
  20. hallgato(B, Szakok), keresztnev(B, józsef), not(vezeteknev(B, gallyas)), egyetem(B, budapest), not(szak(B, biológia)), /* 2 */
  21. hallgato(C, Szakok), vezeteknev(C, vadkerti), keresztnev(C, gabriella), not(egyetem(C, szeged)), not(szak(C, kémia)), /* 3 */
  22. hallgato(T, Szakok), egyetem(T, szeged), szak(T, kémia), /* 3 */
  23. hallgato(D, Szakok), vezeteknev(D, jeney), egyetem(D, pécs), not(keresztnev(D, vince)), /* 4 */
  24. hallgato(E, Szakok), keresztnev(E, frida), szak(E, magyar), /* 5 */
  25. hallgato(F, Szakok), keresztnev(F, edina), (vezeteknev(F, egressy); egyetem(F, miskolc)), /* 6 */
  26. hallgato(G, Szakok), szak(G, informatikus), (keresztnev(G, józsef); keresztnev(G, vince)). /* 7 */
  27.  
  28.  
  29. queries(Szakok, aV, aK, aE, aS, bV, bK, bE, bS, cV, cK, cE, cS, dV, dK, dE, dS, eV, eK, eE, eS):-
  30. hallgato(W, Szakok), vezeteknev(W, aV), keresztnev(W, aK), egyetem(W, aE), szak(W, aS),
  31. hallgato(X, Szakok), vezeteknev(X, bV), keresztnev(X, bK), egyetem(X, bE), szak(X, bS),
  32. hallgato(Y, Szakok), vezeteknev(Y, cV), keresztnev(Y, cK), egyetem(Y, cE), szak(Y, cS),
  33. hallgato(Z, Szakok), vezeteknev(Z, dV), keresztnev(Z, dK), egyetem(Z, dE), szak(Z, dS),
  34. hallgato(Zs, Szakok), vezeteknev(Zs, eV), keresztnev(Zs, eK), egyetem(Zs, eE), szak(Zs, eS).
  35.  
  36. vezeteknev(hallgato(V,_,_,_), V).
  37. szak(hallgato(_,S,_,_), S).
  38. egyetem(hallgato(_,_,E,_), E).
  39. keresztnev(hallgato(_,_,_,K), K).
  40.  
  41.  
  42. hallgato(X, szakok(X,_,_,_)).
  43. hallgato(X, szakok(_,X,_,_)).
  44. hallgato(X, szakok(_,_,X,_)).
  45. hallgato(X, szakok(_,_,_,X)).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement