Цель работы: Приобрести практические навыки организации списков на Prolog. Научиться реализовывать рекурсивную обработку списков.
Задание
1) Записать на языке Prolog программу для отношений, выполняющих рекурсивную обработку списков. Предусмотреть возможность обработки списков различных типов. Для запросов использовать внешние цели.
2) Привести варианты запросов для данных всех типов, допустимых в программе. Для одного из простых запросов построить дерево вывода.
3) Оценить сложность полученной логической Prolog-программы в зависимости от параметров исходных данных (длин обрабатываемых списков): найти размер цели в доказательстве запроса, использованного для построения дерева вывода, а также количество вершин дерева вывода.
Вариант 1
Отношение ДЕЛЕНИЕ СПИСКА, которое делит исходный список арифметических данных на два: L1 и L2. Если элемент исходного списка не больше значения Comp, он помещается в подсписок L1, в противном случае - в подсписок L2.