Помощь - Поиск - Пользователи - Календарь
Полная версия: Работа со списками
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
18192123
Здравствуйте!
Задана процедура "присоединить":
Код

присоединить([],S,S).
присоединить([X|S1], S2, [X|S3]):- присоединить (S1, S2,S3).

Нужно написать запрос к процедуре “присоединить”, в котором два существующих списка объединяются в один – третий список: а именно - запрос, генерирующий все возможные комбинации подсписков, которые могут быть сформированы из полученного списка.
Объясните пожалуйста, как это осуществляется..?
18192123
С этим получилось разобраться.
18192123
Ещё один вопрос из серии "работа со списками"..

Код

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, чтобы в результате получить список от предка до потомка..
Подскажите пожалуйста, как это реализовать?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.