Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
DOMAINS
predmet=v(string,integer)
predmeti=predmet*
student=s(string,string,string,string,integer,string,predmeti)
studenti=student*
list=integer*
slist=string*
PREDICATES
nondeterm g(string,integer,integer,studenti).
nondeterm chislo_grupp(string,integer).
nondeterm length(list,integer).
nondeterm vse_studentki(integer,slist).
nondeterm studentka(string,integer).
nondeterm member(student,studenti).
nondeterm member(predmet,predmeti).
nondeterm kolvo_predmetov(string,integer,integer).
nondeterm ocenka(string,integer,integer).
nondeterm bolshe(integer).
nondeterm bolshe_vsego_predmetov(string,integer).
nondeterm zadolznosti(slist).
nondeterm dvoika(string).
nondeterm na_voennoi(string).
nondeterm vse_na_voennoi(slist).
CLAUSES
g(mat,100,1,[s(alla, ivanovna, shajdurova,g,1990,n,[v(matan,5),v(algebra,4)]),s(sergey, aleksandrovich, vakurov,m,1991,y,[v(matan,3)]),s(vera, valerevna, patrusheva,g,1989,n,[v(matan,4),v(algebra,3)])]).
g(fiz,101,2,[s(ruslan, aleksandrovich, lutov,m,1990,y,[v(optika,3),v(termeh,2)]),s(kiril, ilich, petrov,m,1989,y,[v(termeh,4)])]).
g(inf,102,3,[s(sergey, vladimirovich, smolin,m,1989,y,[v(prolog,3),v(vbasic,4)]),s(anna, petrovna, sidyakina,g,1988,n,[v(prolog,3),v(vbasic,5)])]).
length([],0).
length([_|Tail],N):-length(Tail,N1),N=N1+1.
chislo_grupp(F,N):-findall(Number,g(F,_,Number,_),List),length(List,N).
member(H,[H|_]).
member(H,[_|Tail]):-member(H,Tail).
studentka(Surname,S):-g(_,S,_,Students),member(s(_,_,Surname,g,_,_,_),Students).
vse_studentki(S,List):-findall(Surname,studentka(Surname,S),List).
ocenka(F,G,O):-g(F,_,G,Students),member(s(_,_,_,_,_,_,Ocenki),Students),member(v(_,O),Ocenki).
kolvo_predmetov(F,G,N):-findall(Ocenka,ocenka(F,G,Ocenka),List),length(List,N).
bolshe(N):-kolvo_predmetov(_,_,M), M>N.
bolshe_vsego_predmetov(F,G):-kolvo_predmetov(F,G,N),not(bolshe(N)).
dvoika(Surname):-g(_,_,_,Students),member(s(_,_,Surname,_,_,_,Ocenki),Students),member(v(_,2),Ocenki),!.
zadolznosti(List):-findall(Surname,dvoika(Surname),List).
na_voennoi(Surname):-g(_,_,_,Students),member(s(_,_,Surname,_,_,y,_),Students).
vse_na_voennoi(List):-findall(Surname,na_voennoi(Surname),List).
goal
%chislo_grupp(mat,N).
%vse_studentki(100,L).
%bolshe_vsego_predmetov(F,G).
%zadolznosti(L).
vse_na_voennoi(L).