Подсчитать число студентов, получивших больше одной двойки - Prolog
Формулировка задачи:
Вывести студентов к отчислению (количество двоек > 1).
Листинг программы
- 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.
Решение задачи: «Подсчитать число студентов, получивших больше одной двойки»
textual
Листинг программы
- kick_student :-
- kick_student(X, 2, 1),
- write(X), nl,
- fail.
- kick_student.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д