Автор: 18192123 28.03.2009 23:29
Здравствуйте!
Задана процедура "присоединить":
Код
присоединить([],S,S).
присоединить([X|S1], S2, [X|S3]):- присоединить (S1, S2,S3).
Нужно написать запрос к процедуре “присоединить”, в котором два существующих списка объединяются в один – третий список: а именно - запрос, генерирующий все возможные комбинации подсписков, которые могут быть сформированы из полученного списка.
Объясните пожалуйста, как это осуществляется..?
Автор: 18192123 29.03.2009 16:16
С этим получилось разобраться.
Автор: 18192123 30.03.2009 0:38
Ещё один вопрос из серии "работа со списками"..
Код
parent(petr,ivan).
parent(petr,olga).
parent(lidia,ivan).
parent(ivan,sergey).
parent(maria,oleg).
parent(ivan,oleg).
parent(oleg,inna).
ancestor(A,B):-parent(A,B).
ancestor(A,B):-parent(C,B),ancestor(A,C).
хотелось бы разобраться с тем, как усовершенствовать рекурсивную процедуру ancestor, чтобы в результате получить список от предка до потомка..
Подскажите пожалуйста, как это реализовать?