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


Дата добавления: 2014-11-24 | Просмотров: 1495


<== предыдущая страница | Следующая страница ==>

 

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

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

СУММА (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

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

х = миша

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

НЕТ

 

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

 

ТОЧКА (х,у,с);

ЛИНИЯ (x,y,u,v,c);

ОКРУЖНОСТЬ (х,у,с);

 

где (х,у) и (u,v) - координаты точек на экране, а с - цвет точки. Конкретные значения кодов цветов и диапазоны значений коорди­нат точек на экране зависят от типа ЭВМ.

А.Графические предикаты:

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

 

ФОН (с) задание цвета фонаФОН (8)

ТОЧКА (х,у,с) вывод точкиТОЧКА (0,0,2)

ЛИНИЯ (x,y,u,v,c) вывод отрезка линииЛИНИЯ (0,0,50,50,4)

ОКРУЖНОСТЬ (х,у,с) вывод окружностиОКРУЖНОСТЬ (90,90,10, 6)

ЗАКРАСКА (х,у,с) закраска фигурЗАКРАСКА (10,40,8)

 

Б.Предикаты ввода-вывода:

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

 

ВЫВОД (<3начение>) вывод набора значенийВЫВОД («имя», х)

ВВОДСИМВ (s) ввод символьных данных

ВВОДЦЕЛ (n) ввод числовых данных

ПС перевод строки

 

В. Логические предикаты:

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

 

ИСТИНА логическая константа

ЛОЖЬ логическая константа

НЕ (<Предикат>) отрицание предикатаНЕ (РАВНО (z,0))

 

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 |

При использовании материала ссылка на сайт Конспекта.Нет обязательна! (0.051 сек.)