Информатика



Встроенные предикаты Пролога


Для операций над числами в рассматриваемой версии Пролога имеются следующие арифметические предикаты:

Предикат:                               Смысл:

СУММА (x,y,z)                    х + у = z

ПРОИЗВ (x,y,z)                     х*у = z

ЧАСТНОЕ (x,y,z)                [х/у] = z

ОСТАТОК (x,y,z)                х - [х/у] = z

РАВНО (х,у)                         х = у

БОЛЬШЕ (х,у)                     х > у

МЕНЬШЕ (х,у)                    х < у

Арифметические предикаты по смыслу и функциям существенно отличаются от арифметических операций в традиционных языках программирования. Прежде всего любой из этих предикатов выра­батывает логическое значение ИСТИНА

или ЛОЖЬ в зависимости от того, имеет или не имеет решение арифметическая задача, пред­ставляемая предикатом.

Примеры:

? СУММА (2,2,5)

НЕТ

? СУММА (2,2,z)

z = 4

? СУММА (х,2,5)

х = 3

Таким образом, арифметические предикаты позволяют решать простейшие арифметические уравнения с одной или несколькими переменными, автоматически производя соответствующие вычисле­ния, если эти решения существуют. Однако обращение к предика­там, связанным с умножением и делением целых чисел, может дать отрицательный результат из-за отсутствия решений в некоторых случаях:

? ПРОИЗВ (2,у,5)

НЕТ

? ЧАСТНОЕ (5,2,z)

z = 2

? ОСТАТОК (5,2,r)

r = 1

Предикаты БОЛЬШЕ и МЕНЬШЕ вместе с предикатом РАВНО могут использоваться для сравнения различных численных перемен­ных и констант. А предикаты «неменьше» и «небольше» могут быть определены через отрицание предикатов БОЛЬШЕ и МЕНЬШЕ:

небольше (х,у) ¬

НЕ (БОЛЬШЕ (х,у));

                        неменьше (х,у) ¬

НЕ (МЕНЬШЕ (х,у));

Предикат РАВНО может использоваться также для сравнения значений переменных и констант. При этом переменные могут быть и числовыми, и символьными, и других типов. Примеры:

? РАВНО (5,z)

z= 5

? РАВНО (х,миша)

х = миша

? РАВНО (коля.оля)

НЕТ

Вывод графических изображений на экран в настоящей версии интерпретатора может производиться с помощью следующих преди­катов:




Содержание  Назад  Вперед