Главная » Информационные системы » Представление знаний в ИС » Опишите предикат, определяющий наибольший по количеству элементов

Опишите предикат, определяющий наибольший по количеству элементов

Вариант не работает, если найдете ошибку, пишите в комментариях
% 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).


Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.

Поделиться
Дисциплины