Бинарное дерево в Прологе и листья - PullRequest
0 голосов
/ 12 марта 2019

Я очень новичок в Прологе, и у нас не было много теории об этом. В лекциях мы рассматривали основные вещи, такие как атомы, переменные, что означает отношение и т. Д. Но теперь у меня есть задача, которую я не понимаю, как начать / как решить.

Мы должны создать отношение leaf(X,Y), где X - бинарное дерево, а Y - атом. Отношение должно быть истинным, если Y является листом X. Мы можем проверить, является ли переменная A листом, используя atom(A). Кроме того, важно отметить, что Y должен быть атомом, а не поддеревом.

Примеры:

?- leaf([x,[y,[z,v]]], v).
true

?- leaf([x,[y,[z,v]]], w).
false
...