Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программы классификации 49 9 Программа классифи...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
944.13 Кб
Скачать

4.6. Управляющие предикаты

exit

Выполняет немедленный выход из программы.

fail

Вынуждает завершиться предикат ложно и, следовательно, возвратиться к предыдущей точке разветвления (backtracking).

true

Значение предиката всегда истинно.

!

Отсечение (прекращение перебора между головой дизъюнкта и данным знаком).

4.7. Прочие стандартные предикаты

random(RealVariable)

(real) – (o)

Равномерное псевдослучайное число в диапазоне от 0 до 1.

random(MaxValue,RandomInt)

(integer,integer) – (i,o)

Равномерное псевдослучайное целое число RandomInt в диапазоне от 0 до MaxValue.

findall( Variable, Atom, ListVariable )

В списке ListVariable возвращаются все решения для переменной Variable предиката Atom.

not( Atom )

Выполняется успешно, если заданный Atom представляет собой цель, которая не достигается.

free( Variable )

Выполняется успешно, если Variable не является конкретизированной переменной.

bound( Variable )

Выполняется успешно, если Variable является конкретизированной переменной.

4.8. Арифметические и логические предикаты

В арифметических операциях могут участвовать операнды (числа и переменные), арифметические операции + (сложение), – (вычитание), * (умножение), / (деление), mod (деление по модулю), div (целочисленное деление), скобки.

Приоритет выполнения операций представлен числами:

+ , –

1

* , /

2

div ,mod

3

– ,+ (унарные)

4

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

>

Больше

<

Меньше

=

Равно

>=

Больше или равно

<=

Меньше или равно

< >

Не равно

Арифметические функции:

sin(Х)

Синус, угол в радианах

cos(Х)

Косинус, угол в радианах

tan(Х)

Тангенс, угол в радианах

arctan(Х)

Арктангенс

ln(Х)

Логарифм натуральный

log(Х)

Логарифм десятичный

abs(X)

Модуль аргумента

exp(Х)

Экспонента

sqrt(Х)

Корень квадратный

Кроме этих предикатов, в Прологе имеется большой набор стандартных предикатов для построения графических объектов. Просмотреть названия и поточный шаблон стандартных предикатов графики можно в разделе HELP меню интегрированной среды Пролога.

Приложение Приложение 1. Примерные варианты лабораторных заданий

1. Родословное дерево

1. Составить родословную своей семьи, использовав 10-12 отношений родитель. Определить предикат пол для каждого члена семьи.

2. Определить предикаты мать, отец, дядя, тетя, кузен, дед, внук.

3. Определить рекурсивный предикат предок.

5. Определить предикат найти_тетю(Х) , выдающий информацию о наличии (отсутствии) тети у личности Х. Определить предикаты о наличии прочих родственников у личности Х.

6. Определить предикат, дающий список всех родственников личности Х. Переменную Х ввести.