Предикат против функции ПРОЛОГ - PullRequest
0 голосов
/ 02 ноября 2019

Я новичок в PROLOG и прилагаю проблемы, которые мне назначили. Я не знаю разницы между ними, особенно разницы между предикатом и функцией. Как и в некоторых исследованиях, я понял, что функция - это предикат. Это то, что я придумала до сих пор:

qr (Num1, Num2, частное, остаток): - Num1 равно 50, Num2 равно 3, частное число Num1 / Num2, остаточное число равно Num1 mod Num2.

https://i.stack.imgur.com/pFCah.png

1 Ответ

0 голосов
/ 02 ноября 2019

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

Вот пример предиката для вычисления суммы, которую вы можете обобщить для вашего случая: mySum(X1, X2, Sum):- Sum is X1 + X2. Затем вы можете вызвать это следующим образом ?-mySum(1, 2, X).

Один из способов чтения конструкции Пролога Head:- Body заключается в следующем: «Чтобы выполнить Head, сначала выполните Body». Таким образом, в теле вы можете иметь встроенный предикат write/1 для вывода на экран.

Cheers / JC

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...