|
|||||
Встроенные предикаты ПрологаДата добавления: 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))
|
При использовании материала ссылка на сайт Конспекта.Нет обязательна! (0.051 сек.) |