Advertisement
Guest User

Untitled

a guest
Jan 10th, 2016
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 8.33 KB | None | 0 0
  1. start:- retractall(olimpiady(_)),retractall(poza_lekcyjne(_)),retractall(samorzad(_)),retractall(nieobecnosci(_)),retractall(ilosc_uwag(_)), write('System ekspertowy oceniajacy zachowanie uczniow, aby odpowiedziec na pierwsze pytanie wpisz pytanie1.'),nl.
  2. pytanie1 :-write('Ile uczen mial nieobecnosci?, wybierz 1 jesli od 0 do 10 ,2 jesli 10 do 20, 3 jesli powyzej 20'),nl,read(Term),
  3.     (Term = 1 -> doA1, !;
  4.     (Term = 2 -> doB1, !;
  5.     (Term = 3 -> doC1))).
  6. doA1 :-assert(nieobecnosci('0 do 10')),write('aby przejsc do kolejnego pytania uzy komendy: pytanie2.').
  7. doB1 :-assert(nieobecnosci('10 do 20')),write('aby przejsc do kolejnego pytania uzy komendy: pytanie2.').
  8. doC1 :-assert(nieobecnosci('powyzej 20')),write('aby przejsc do kolejnego pytania uzy komendy: pytanie2.').
  9.  
  10. pytanie2 :-write('Ile uczen mial uwag?, wybierz 1 jesli od 0 do 3 ,2 jesli 3 do 7, 3 jesli powyzej 7'),nl,read(Term),
  11.     (Term = 1 -> doA2, !;
  12.     (Term = 2 -> doB2, !;
  13.     (Term = 3 -> doC2))).
  14. doA2 :-assert(ilosc_uwag('0 do 3')),write('aby przejsc do kolejnego pytania uzy komendy: pytanie3.').
  15. doB2 :-assert(ilosc_uwag('3 do 7')),write('aby przejsc do kolejnego pytania uzy komendy: pytanie3.').
  16. doC2 :-assert(ilosc_uwag('powyzej 7')),write('aby przejsc do kolejnego pytania uzy komendy: pytanie3.').
  17.  
  18.  
  19.  
  20. pytanie3 :-write('Jezeli uczen nalezy do samorzadu wybiez 1 jesli nie wybiez 2'),nl,read(Term),
  21.     (Term = 1 -> doA3, !;
  22.     (Term = 2 -> doB3)).
  23. doA3 :-assert(samorzad('Tak')),write('aby przejsc do kolejnego pytania uzy komendy: pytanie4.').
  24. doB3 :-assert(samorzad('Nie')),write('aby przejsc do kolejnego pytania uzy komendy: pytanie4.').
  25.  
  26.  
  27.  
  28.  
  29. pytanie4 :-write('Zaangazowanie w zajecia pozalekcyjne, wybierz 1 jesli brak ,2 jesli male, 3 jesli srednie, 4 jesli duze'),nl,read(Term),
  30.     (Term = 1 -> doA4, !;
  31.     (Term = 2 -> doB4, !;
  32.     (Term = 3 -> doC4, !;
  33.     (Term = 4 -> doD4)))).
  34. doA4 :-assert(poza_lekcyjne('brak')),write('aby przejsc do kolejnego pytania uzy komendy: pytanie5.').
  35. doB4 :-assert(poza_lekcyjne('male')),write('aby przejsc do kolejnego pytania uzy komendy: pytanie5.').
  36. doC4 :-assert(poza_lekcyjne('srednie')),write('aby przejsc do kolejnego pytania uzy komendy: pytanie5.').
  37. doD4 :-assert(poza_lekcyjne('duze')),write('aby przejsc do kolejnego pytania uzy komendy: pytanie5.').
  38.  
  39.  
  40. pytanie5 :-write('sukcesy w olimpiadach wybierz 1 jesli brak ,2 jesli male, 3 jesli srednie, 4 jesli duze'),nl,read(Term),
  41.     (Term = 1 -> doA5, !;
  42.     (Term = 2 -> doB5, !;
  43.     (Term = 3 -> doC5, !;
  44.     (Term = 4 -> doD5)))).
  45. doA5 :-assert(olimpiady('brak')),write('aby uzyskac ocene wpisz: ocena_z_zachowania(X).').
  46. doB5 :-assert(olimpiady('male')),write('aby uzyskac ocene wpisz: ocena_z_zachowania(X).').
  47. doC5 :-assert(olimpiady('srednie')),write('aby uzyskac ocene wpisz: ocena_z_zachowania(X).').
  48. doD5 :-assert(olimpiady('duze')),write('aby uzyskac ocene wpisz: ocena_z_zachowania(X).').
  49.  
  50.  
  51. podejscie_do_regulaminu('zle') :-
  52.         nieobecnosci('powyzej 20');
  53.         ilosc_uwag('powyzej 7').
  54.  
  55. podejscie_do_regulaminu('srednie') :-
  56.         nieobecnosci('10 do 20'),
  57.         ilosc_uwag('0 do 3').
  58.  
  59. podejscie_do_regulaminu('srednie') :-
  60.         nieobecnosci('10 do 20'),
  61.         ilosc_uwag('3 do 7').
  62.  
  63. podejscie_do_regulaminu('dobre') :-
  64.         nieobecnosci('0 do 10'),
  65.         ilosc_uwag('0 do 3').
  66.  
  67. podejscie_do_regulaminu('dobre') :-
  68.         nieobecnosci('0 do 10'),
  69.         ilosc_uwag('3 do 7').
  70.  
  71. zaangazowanie_wszkole('slabe') :-
  72.         samorzad('Nie'),
  73.         poza_lekcyjne('brak').
  74.  
  75. zaangazowanie_wszkole('slabe') :-
  76.         samorzad('Nie'),
  77.         poza_lekcyjne('male').
  78.  
  79. zaangazowanie_wszkole('srednie') :-
  80.         samorzad('Nie'),
  81.         poza_lekcyjne('srednie').
  82.  
  83. zaangazowanie_wszkole('duze') :-
  84.         samorzad('Tak');
  85.         poza_lekcyjne('duze').
  86.  
  87.  
  88.  
  89.  
  90. ocena_z_zachowania('naganne') :-
  91.         podejscie_do_regulaminu('zle'),
  92.         zaangazowanie_wszkole('slabe'),
  93.         olimpiady('brak').
  94.  
  95. ocena_z_zachowania('nieodpowiednie') :-
  96.         podejscie_do_regulaminu('srednie'),
  97.         zaangazowanie_wszkole('slabe'),
  98.         olimpiady('brak').
  99.  
  100. ocena_z_zachowania('poprawne') :-
  101.         podejscie_do_regulaminu('dobre'),
  102.         zaangazowanie_wszkole('slabe'),
  103.         olimpiady('brak').
  104.  
  105. ocena_z_zachowania('nieodpowiednie') :-
  106.         podejscie_do_regulaminu('zle'),
  107.         zaangazowanie_wszkole('srednie'),
  108.         olimpiady('brak').
  109.  
  110. ocena_z_zachowania('poprawne') :-
  111.         podejscie_do_regulaminu('srednie'),
  112.         zaangazowanie_wszkole('srednie'),
  113.         olimpiady('brak').
  114.  
  115. ocena_z_zachowania('dobre') :-
  116.         podejscie_do_regulaminu('dobre'),
  117.         zaangazowanie_wszkole('srednie'),
  118.         olimpiady('brak').
  119.  
  120. ocena_z_zachowania('nieodpowiednie') :-
  121.         podejscie_do_regulaminu('zle'),
  122.         zaangazowanie_wszkole('duze'),
  123.         olimpiady('brak').
  124.  
  125. ocena_z_zachowania('dobre') :-
  126.         podejscie_do_regulaminu('srednie'),
  127.         zaangazowanie_wszkole('duze'),
  128.         olimpiady('brak').
  129.  
  130. ocena_z_zachowania('bardzo dobre') :-
  131.         podejscie_do_regulaminu('dobre'),
  132.         zaangazowanie_wszkole('duze'),
  133.         olimpiady('brak').
  134.  
  135. ocena_z_zachowania('nieodpowiednie') :-
  136.         podejscie_do_regulaminu('zle'),
  137.         zaangazowanie_wszkole('slabe'),
  138.         olimpiady('male').
  139.  
  140. ocena_z_zachowania('poprawne') :-
  141.         podejscie_do_regulaminu('srednie'),
  142.         zaangazowanie_wszkole('slabe'),
  143.         olimpiady('male').
  144.  
  145. ocena_z_zachowania('dobre') :-
  146.         podejscie_do_regulaminu('dobre'),
  147.         zaangazowanie_wszkole('slabe'),
  148.         olimpiady('male').
  149.  
  150. ocena_z_zachowania('nieodpowiednie') :-
  151.         podejscie_do_regulaminu('zle'),
  152.         zaangazowanie_wszkole('srednie'),
  153.         olimpiady('male').
  154.  
  155. ocena_z_zachowania('dobre') :-
  156.         podejscie_do_regulaminu('srednie'),
  157.         zaangazowanie_wszkole('srednie'),
  158.         olimpiady('male').
  159.  
  160. ocena_z_zachowania('bardzo dobre') :-
  161.         podejscie_do_regulaminu('dobre'),
  162.         zaangazowanie_wszkole('srednie'),
  163.         olimpiady('male').
  164.  
  165. ocena_z_zachowania('nieodpowiednie') :-
  166.         podejscie_do_regulaminu('zle'),
  167.         zaangazowanie_wszkole('duze'),
  168.         olimpiady('male').
  169.  
  170. ocena_z_zachowania('dobre') :-
  171.         podejscie_do_regulaminu('srednie'),
  172.         zaangazowanie_wszkole('duze'),
  173.         olimpiady('male').
  174.  
  175. ocena_z_zachowania('wzorowe') :-
  176.         podejscie_do_regulaminu('dobre'),
  177.         zaangazowanie_wszkole('duze'),
  178.         olimpiady('male').
  179.  
  180. ocena_z_zachowania('poprawne') :-
  181.         podejscie_do_regulaminu('zle'),
  182.         zaangazowanie_wszkole('slabe'),
  183.         olimpiady('srednie').
  184.  
  185. ocena_z_zachowania('dobre') :-
  186.         podejscie_do_regulaminu('srednie'),
  187.         zaangazowanie_wszkole('slabe'),
  188.         olimpiady('srednie').
  189.  
  190. ocena_z_zachowania('bardzo dobre') :-
  191.         podejscie_do_regulaminu('dobre'),
  192.         zaangazowanie_wszkole('slabe'),
  193.         olimpiady('srednie').
  194.  
  195. ocena_z_zachowania('poprawne') :-
  196.         podejscie_do_regulaminu('zle'),
  197.         zaangazowanie_wszkole('srednie'),
  198.         olimpiady('srednie').
  199.  
  200. ocena_z_zachowania('bardzo dobre') :-
  201.         podejscie_do_regulaminu('srednie'),
  202.         zaangazowanie_wszkole('srednie'),
  203.         olimpiady('srednie').
  204.  
  205. ocena_z_zachowania('wzorowe') :-
  206.         podejscie_do_regulaminu('dobre'),
  207.         zaangazowanie_wszkole('srednie'),
  208.         olimpiady('srednie').
  209.  
  210. ocena_z_zachowania('poprawne') :-
  211.         podejscie_do_regulaminu('zle'),
  212.         zaangazowanie_wszkole('duze'),
  213.         olimpiady('srednie').
  214.  
  215. ocena_z_zachowania('dobre') :-
  216.         podejscie_do_regulaminu('srednie'),
  217.         zaangazowanie_wszkole('duze'),
  218.         olimpiady('srednie').
  219.  
  220. ocena_z_zachowania('wzorowe') :-
  221.         podejscie_do_regulaminu('dobre'),
  222.         zaangazowanie_wszkole('duze'),
  223.         olimpiady('srednie').
  224.  
  225. ocena_z_zachowania('poprawne') :-
  226.         podejscie_do_regulaminu('zle'),
  227.         zaangazowanie_wszkole('slabe'),
  228.         olimpiady('duze').
  229.  
  230. ocena_z_zachowania('dobre') :-
  231.         podejscie_do_regulaminu('srednie'),
  232.         zaangazowanie_wszkole('slabe'),
  233.         olimpiady('duze').
  234.  
  235. ocena_z_zachowania('wzorowe') :-
  236.         podejscie_do_regulaminu('dobre'),
  237.         zaangazowanie_wszkole('slabe'),
  238.         olimpiady('duze').
  239.  
  240. ocena_z_zachowania('poprawne') :-
  241.         podejscie_do_regulaminu('zle'),
  242.         zaangazowanie_wszkole('srednie'),
  243.         olimpiady('duze').
  244.  
  245. ocena_z_zachowania('bardz dobre') :-
  246.         podejscie_do_regulaminu('srednie'),
  247.         zaangazowanie_wszkole('srednie'),
  248.         olimpiady('duze').
  249.  
  250. ocena_z_zachowania('wzorowe') :-
  251.         podejscie_do_regulaminu('dobre'),
  252.         zaangazowanie_wszkole('srednie'),
  253.         olimpiady('duze').
  254.  
  255. ocena_z_zachowania('poprawne') :-
  256.         podejscie_do_regulaminu('zle'),
  257.         zaangazowanie_wszkole('duze'),
  258.         olimpiady('duze').
  259.  
  260. ocena_z_zachowania('dobre') :-
  261.         podejscie_do_regulaminu('srednie'),
  262.         zaangazowanie_wszkole('duze'),
  263.         olimpiady('duze').
  264.  
  265. ocena_z_zachowania('wzorowe') :-
  266.         podejscie_do_regulaminu('dobre'),
  267.         zaangazowanie_wszkole('duze'),
  268.         olimpiady('duze').
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement