Описание слайда:
Пример программы со списками /*Исходный вид: когда 1-й список пуст, то результат конкатенации – это второй список*/ konkat([],S,S). /*Рекурсивное правило*/ konkat([X|S1],S2,[X|S3]):-konkat(S1,S2,S3). Эта программа обладает большой гибкостью и ее можно использовать в различных целях. Запрос ?- konkat ([а, в] , [с, d] ,S). позволяет получить список, являющийся результатом конкатенации: S=[а, в, с, d]. Разбиение заданного списка на две части всеми возможными способами: ?- konkat (S1 ,S2, [а, в, с]). Получим: S1=[], S2=[a,b,c]; S1=[a], S2=[b,c]; S1=[a, b], S2=[c]; S1=[a, b, c], S2=[]; найти все элементы, предшествующие заданному элементу списка, и следующие за ним: ?- konkat ( До , [c | После], [а, в, с, d, e]). До=[a, b], После=[d, e]