| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Prolog > SWI Prolog |
| Автор: Berli 6.5.2015, 11:40 |
| Ребята, помогите, пожалуйста, нужно решить 2 задачи в SWI Prolog с пояснениемъ 1. Не могли бы вы помочь в решении такой задачи: требуется определить предикат num_even (L,N), с помощью которого можно найти количество N четных числе в списке L. Примерное решение, которое в SWI не рабботает. class predicates num_even:(E*,unsigned [out]). clauses num_even([X|L],N) :- X mod 2 = 0, !,num_even (L,M), N = M+1. num_even([_|L],N) :- !,num_even([X|L],N). num_even(_,0). 2. помощь в определении предиката subset(S1,S2), который будет работать, когда множество S1 является подмножеством S2. Использую Visual Prolog. memb(_,[]) :- fail. memb(H,[H|_]) :- !. memb(H,[_|T]) :- memb(H,T). subset([],_). subset([H|T],Z) :- memb(H,Z), subset(T,Z). Тоже выдаёт ошибку. Помогите, плз. |