Главная
»
Информационные системы
»
Представление знаний в ИС
»
Опишите предикат, определяющий наибольший по количеству элементов
Опишите предикат, определяющий наибольший по количеству элементов
Вариант не работает, если найдете ошибку, пишите в комментариях
% Bilet3
% Patched 14.01.13
% To start type: jstart.
prin(X,[X|L]).
prin(X,[Y|L]):-prin(X,L).
kol(0,[]).
kol(K,[Y|L]):-kol(K1,L),K is K1+1.
sum(0,[]).
sum(S,[Y|L]):-sum(S1,L),S is S1+Y.
scepka([],L,L).
scepka([Y1|L1],L2,[Y1|L]):-scepka(L1,L2,L).
podspisok(L1,L2):-scepka(L5,L4,L2),scepka(L1,L3,L4).
vozrast([]).
vozrast([X]).
vozrast([X,Y|L]):-X<Y,vozrast([Y|L]).
vozrastpodspisok(L1,L2):-podspisok(L1,L2),vozrast(L1).
longer(L1,L2):-kol(X1,L2),kol(X2,L1),X1>X2.
maxlist(X,L):-prin(X,L),not (prin(Y,L),longer(X,Y)).
vpnd(L1,L):-setof(X,vozrastpodspisok(X,L),L2),maxlist(L1,L2).
jstart:- write(' Vvedite spisok L1: '),nl,read(LJAM1),nl,
write(' Vivod spiska L1= '),
write(LJAM1),nl,
write(' Vvedite spisok L2: '),nl,read(LJAM2),nl,
write(' Vivod spiska L2= '),
write(LJAM2),nl,
vpnd(LJAM1,LJAM2).
Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.