Списки. Составить пары одушевленных и неодушевленных предметов. - Prolog
Формулировка задачи:
Здравствуйте. Вводишь список предметов, одушевлённых и неодушевлённых, нужно что бы составились всевозможные пары одушевлённого предмета и неодушевлённого. Нашел пример разбиение списка на 3 подсписка, его как то можно переделать?
Есть список: [a, 1, !, b, 2, @, c, 3, #, d, 4, $, ....]
Нужно получить 3 списка: [a, b, c, d, ...], [1, 2, 3, 4, ...], [!, @, #, $, ...]
Swi prolog:
Нашел еще на форуме ооочень похожую программу ))) только вот в ней идёт просто разбиение всего списка, а у меня получается нужно попарно разделять.
Код Prolog
Решение задачи: «Списки. Составить пары одушевленных и неодушевленных предметов.»
textual
Листинг программы
p(List,A,B):-member(A,List), animate(A),member(B,List),inanimate(B).
Объяснение кода листинга программы
- Входные данные: список List, переменные A и B.
- Проверяется, есть ли элемент A в списке List (предполагается, что A уникален).
- Проверяется, является ли A одушевленным (предполагается, что одушевленные предметы уникальны).
- Проверяется, есть ли элемент B в списке List.
- Проверяется, является ли B неодушевленным (предполагается, что неодушевленные предметы уникальны).
- Если выполняются условия 2 и 5, то создается пара одушевленного и неодушевленного предметов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д