
Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:eml / lol
.pl first(alina,36).
first(lena, 51).
first(nastya,5).
first(anya,88).
qsort([], []).
qsort([H|Tail], S) :- split(H, Tail, Small, Big),
qsort(Small, Small1),
qsort(Big, Big1),
append(Small1, [H|Big1], S).
order(X, Y) :- X =< Y.
split(H, [A|Tail], [A|Small], Big) :- order(A, H), !,
split(H, Tail, Small, Big).
split(H, [A|Tail], Small, [A|Big]) :- split(H, Tail, Small, Big).
split(_, [], [], []).
vozrup(L1):- findall((Y),first(_,Y),L),qsort(L,L1),write(L1),!.
vozrdw(L3):- findall((Y),first(_,Y),L),qsort(L,L2),reverse(L2,L3),write(L3),!.
sopost([],[]):- !.
sopost(L,M):- L = [H|T],first(X,H),sopost(T,M2),M = [X|M2],!.
pr(M):- vozrup(L),sopost(L,M).
pr2:- pr(M),reverse(M,L),write(L).
first(lena, 51).
first(nastya,5).
first(anya,88).
qsort([], []).
qsort([H|Tail], S) :- split(H, Tail, Small, Big),
qsort(Small, Small1),
qsort(Big, Big1),
append(Small1, [H|Big1], S).
order(X, Y) :- X =< Y.
split(H, [A|Tail], [A|Small], Big) :- order(A, H), !,
split(H, Tail, Small, Big).
split(H, [A|Tail], Small, [A|Big]) :- split(H, Tail, Small, Big).
split(_, [], [], []).
vozrup(L1):- findall((Y),first(_,Y),L),qsort(L,L1),write(L1),!.
vozrdw(L3):- findall((Y),first(_,Y),L),qsort(L,L2),reverse(L2,L3),write(L3),!.
sopost([],[]):- !.
sopost(L,M):- L = [H|T],first(X,H),sopost(T,M2),M = [X|M2],!.
pr(M):- vozrup(L),sopost(L,M).
pr2:- pr(M),reverse(M,L),write(L).
Соседние файлы в папке eml