Domains
fam = string
ocinka = integer
N = integer
Predicates
student(fam)
res_isp(fam,ocinka)
all_res
count(N)
kick_student
Clauses
student("sudorenko").
student("vasulenko").
student("grugorenko").
student("artemenko").
student("olexandrenko").
res_isp("sudorenko",5).
res_isp("sudorenko",5).
res_isp("sudorenko",5).
res_isp("sudorenko",5).
res_isp("sudorenko",5).
res_isp("vasulenko",4).
res_isp("vasulenko",4).
res_isp("vasulenko",4).
res_isp("vasulenko",4).
res_isp("vasulenko",4).
res_isp("grugorenko",3).
res_isp("grugorenko",3).
res_isp("grugorenko",3).
res_isp("grugorenko",3).
res_isp("grugorenko",3).
res_isp("artemenko",3).
res_isp("artemenko",4).
res_isp("artemenko",5).
res_isp("artemenko",4).
res_isp("artemenko",3).
res_isp("olexandrenko",5).
res_isp("olexandrenko",4).
res_isp("olexandrenko",3).
res_isp("olexandrenko",4).
res_isp("olexandrenko",5).
res_isp("vladuslavenko",5).
res_isp("vladuslavenko",2).
res_isp("vladuslavenko",2).
res_isp("vladuslavenko",3).
res_isp("vladuslavenko",4).
res_isp("romanenko",2).
res_isp("romanenko",2).
res_isp("romanenko",2).
res_isp("romanenko",3).
res_isp("romanenko",3).
all_res :-
student(A), res_isp(A,W), write ("Student: ",A,"\n","Mark: ",W,"\n"), fail.
count(N) :-
N < 2,
N1 = N + 1,
count(N1).
kick_student :-
student(A), res_isp(A,2), count(N), write("Student - ",A," - Kicked"),nl,fail.