Microsoft Word Книга иис мггу 1 Print doc



Download 3,26 Mb.
Pdf ko'rish
bet97/149
Sana06.07.2022
Hajmi3,26 Mb.
#746520
1   ...   93   94   95   96   97   98   99   100   ...   149
Bog'liq
Makarenko-iis

Терм 1 
Терм 2 
Отождествимы ? 
Джек (Х) 
Джек (человек) да: Х = человек 
Джек (личность) Джек (человек) 
нет 
Джек (Х, Х) 
Джек (23, 23) 
да: Х = 23 
Джек (Х, Х) 
Джек (12, 23) 
нет 
Джек ( . ) 
Джек(12, 23) 
да 
f(Y, Z) 
Х 
да: X = f(Y, Z) 
Х 

да: X = Z 
Заметим, что Пролог находит наиболее общий унификатор термов. В 
последнем примере (табл.14.1) существует бесконечное число унификаторов: 
X-1, Z-2; X-2, Z-2; .... 
но Пролог находит наиболее общий: 
Х=Z

Следует сказать, что в большинстве реализаций Пролога для 
повышения 
эффективности 
его 
работы 
допускается 
существование 
циклических унификаторов. Например, попытка отождествить термы 
f(X)
и 
Х
приведет к циклическому унификатору 
X=f(X)
, который определяет 
бесконечный терм 
f(f(f(f(f(...)))))
. В программе это иногда вызывает 
бесконечный цикл. 
Возможность отождествления двух термов проверяется с помощью 
оператора 
=

Ответом на запрос 
?- 3+2=5.
будет
нет 


127 
так как термы не отождествимы (оператор не вычисляет значения своих 
аргументов), но попытка доказать 
?-строка(поз(Х)) -строка(поз(23)).
закончится успехом при
Х=23. 
Унификация часто используется для доступа к подкомпонентам 
термов. Так, в вышеприведенном примере 
Х
конкретизируется первой 
компонентой терма 
поз(23)
, который в свою очередь является компонентой 
терма строка. 
Бывают случаи, когда надо проверить, идентичны ли два терма. 
Выполнение оператора 
= =
заканчивается успехом, если его аргументы — 
идентичные термы. Следовательно, запрос 
?-строка(поз(Х)) --строка(поз (23)).
дает ответ 
нет
, поскольку подтерм 
Х
в левой части (
X
— свободная 
переменная) не идентичен подтерму 
23
в правой части, Однако запрос
?- строка (поз (23)) --строка(поз (23)).
дает ответ 
да.
Отрицания операторов 
=
и 
- =
записываются как 
\= и \= =
соответственно. 
14.6 Выражения 
В этой 
части показано, каким 
образом Пролог 
выполняет 
арифметические операции. Будут описаны арифметические операторы и их 
использование в выражениях, а также рассмотрены встроенные предикаты, 
служащие для вычисления и сравнения арифметических выражений. 
Язык Пролог не предназначен для программирования задач с большим 
количеством 
арифметических 
операций. 
Для 
этого 
используются 
процедурные языки программирования. Однако в любую Пролог-систему 
включаются все обычные арифметические операторы: 
+
сложение, 

вычитание, 
*
умножение, 
/
деление, 
mod
остаток от деления целых чисел, 
div
целочисленное деление. 
В некоторых реализациях языка Пролог присутствует более широкий 
набор встроенных арифметических операторов. 


128 
Диапазоны чисел, входящих в арифметические выражения, зависят от 
реализации Пролога. Например, система ICLPROLOG оперирует целыми 
числами со знаком в диапазоне: –8388606 ... 8388607. 

Download 3,26 Mb.

Do'stlaringiz bilan baham:
1   ...   93   94   95   96   97   98   99   100   ...   149




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish