Некоторые операции и предикаты SWI-Prolog
Операция / Предикат | Назначение |
true | Истина |
fail, false | Ложь |
= | Для переменной, стоящей слева от операции: · свободной – присваивание без преобразования (вычисления) выражения справа от операции; · связанной – сравнение без преобразования (вычисления) выражения справа от операции. |
<, =<, >=, > | Арифметические (только для чисел) операции сравнения |
=:= | Арифметическое равенство |
=\= | Арифметическое неравенство |
is | Для переменной, стоящей слева от операции: · свободной – присваивание с преобразованием (вычислением) выражения справа от операции; · связанной – сравнение с преобразованием (вычислением) выражения справа от операции. |
@<, @=<, @>=, @> | Операции сравнения для констант и переменных любого типа (чисел, строк, списков и т. д.) |
== | Равенство констант и переменных любого типа |
not(A) | Отрицание логического выражения A |
read(A) | Чтение значения с клавиатуры и присваивание его переменной А |
write(A) | Печать А на экран с установкой курсора после последнего напечатанного символа |
writeln(A) | Печать А на экран с переводом курсора в начало следующей строки |
nl | Перевод курсора в начало следующей строки |
repeat | Предикат, выдающий новое истинное значение при возврате. Передоказываемый предикат |
! | Предикат (cut, сократить), запрещающий возврат далее той точки, где он стоит |
Программирование в SWI-Prolog возможно в разных вариантах:
· с помощью стандартной offline-среды[6] программирования (http://www.swi-prolog.org);
Рис. 1. Стандартная offline-среда программирования SWI-Prolog
· с помощью offline-среды программирования SWI-Prolog-Editor (http://lakk.bildung.hessen.de/netzwerk/faecher/informatik/swiprolog/indexe.html);
Рис. 2. Среда программирования SWI-Prolog-Editor
· с помощью стандартной online-среды[7] программирования SWI-Prolog (http://swish.swi-prolog.org);
Рис. 3. Стандартная online-среда программирования SWI-Prolog
Дальнейшая работа со SWI-Prolog рассматривается на примере online-среды.
Дата добавления: 2017-09-19; просмотров: 3332;