kokusz19

Fejlett következtetési módszerek - Egyetem - Prolog

May 2nd, 2020
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 1.87 KB | None | 0 0
  1. vezeteknev(egressy).
  2. vezeteknev(fenyvesi).
  3. vezeteknev(gallyas).
  4. vezeteknev(jeney).
  5. vezeteknev(vadkerti).
  6.  
  7. keresztnev(edina).
  8. keresztnev(frida).
  9. keresztnev(gabriella).
  10. keresztnev(józsef).
  11. keresztnev(vince).
  12.  
  13. egyetem(budapest).
  14. egyetem(debrecen).
  15. egyetem(miskolc).
  16. egyetem(pécs).
  17. egyetem(szeged).
  18.  
  19. szak(biológia).
  20. szak(informatika).
  21. szak(jog).
  22. szak(kémia).
  23. szak(magyar).
  24.  
  25.  
  26.  
  27. % Render the houses term as a table.
  28. :- use_rendering(table,
  29.          [header(h('Vezeteknev', 'Keresztnev', 'Egyetem', 'Szak'))]).
  30.  
  31. /*   1) A fenyvesi vezetéknevű lány jogot tanul, de nem Debrecenben
  32.      2) József (nem ő Gallyas) az egyik fővárosi egyetemen tanul, de nem biológiát
  33.      3) Vadkerti Gabriella nem a szegedi kémiaszakos hallgató
  34.      4) Jeney (ő Pécsett tanul) keresztneve nem Vince
  35.      5) Frida magyartanár szeretne lenni
  36.      6) Edina vezetékneve vagy Egressy, vagy Miskolcon tanul
  37.      7) Az informatikusnak készülő egyetemista nemrég nősült  */
  38.  
  39. hallgatok(H) :-
  40.     %      h(vezetéknév, keresztnév, egyetem, szak)
  41.     length(H, 5),                                                                                            % 0
  42.     member(h(fenyvesi,(keresztnev(K), K \= vince, K \= józsef),(egyetem(E), E \= debrecen),jog), H),        % 2
  43.     member(h((vezeteknev(V), V \= gallyas),józsef,budapest,(szak(S), S \= biológia)), H),                      % 2
  44.     member(h(vadkerti,gabriella,(egyetem(E), E \= szeged),(szak(S), S \= kémia)), H),                       % 3
  45.     member(h(_,_,szeged, kémia), H),                                                                        % 3+
  46.     member(h(jeney,(keresztnev(K), K \= vince),pécs,_), H),                                                 % 4
  47.     member(h(_,frida,_,magyar), H),                                                                          % 6
  48.     (member(h(egressy,edina,_,_), H); member(h(_,edina,miskolc,_), H)),                                      % 6
  49.     (member(h(_,józsef,_,informatika), H); member(h(_,vince,_,informatika), H)).                            % 7
Add Comment
Please, Sign In to add comment