Узагальнення

1.Програма Прологу складається із фраз. Фрази бувають двох типів: факти та правила.

* Факти - це відношення або властивість, про вірність яких програміст попередньо знає.

* Правила - це залежні відношення. Вони дозволяють Прологу отримувати деяку інформацію із іншої.

2.Факти мають загальну форму:

property(obj, obj1, ... objn) або ж

relation(obj, obj1, ... objn) , де property виражає властивість об`єктів, а relation - відношення між об`єктами.

3.Кожний факт відноситься до одного або ж декількох об`єктів. Наприклад, в факті Прологу likes(tom,baseball) відношенням є likes, а об`єктами tom і baseball. Він описує речення:

Тому подобається бейсбол.

А в факті left-hander(tom) властивістю є left-hander, об`єктом - tom. Він описує речення : Том - лівша.

4.Правила мають загальну форму:

голова if тіло,

яка в програмі приймає вигляд:

relation(obj, obj1, ... objn) if

relation(obj, obj1, ... objn) and

....

relation(obj, obj1, ... objn).

5.При виборі імен змінних і констант, ви повинні дотримуватись наступних обмежень:

* Імена змінних повинні починатись із великої букви. За нею може зустрічатись довільне число символів; символами є букви, цифри та символ підкреслення.

6.Предикат - це символьне ім`я (ідентифікатор), яке пов`язує відношення з його аргументами.

Програма - це послідовність фраз і директив, а процедура - це послідовність фраз, які визначають предикат фрази.

7.Змінні дозволяють вам записувати загальні факти та правила, а також задавати загальні питання.

* Змінні в Пролозі отримують свої значення при співставленні з константами в фактах і правилах;

* Тому, що змінна є зв`язаною тільки в середині однієї фрази, не можна зберігати інформацію, присвоївши значення змінній.

8.Анонімна змінна ніколи не отримує значення.

9.Коментарі використовуються традиційним для програмістів чином. Коментар починається символами /* і закінчується символами */ .

 

2.5.Способи Співставлення.

В Пролозі існує декілька способів співставлення:

1. Ідентичні структури співставляються між собою;

2. Вільна змінна співставляє константу або раніше прив'язану змінну і стає зв'язаною з цією величиною.

3. Дві вільні змінні можуть співставляться і бути зв'язаними між собою. На протязі часу зв'зування, вони розуміються як одна змінна. Іншими словами, якщо одна із змінних отримала якесь значення, інша - зразу ж отримує те ж значення.

Наприклад, відношення

parent(joe,X) співставляючись з Parent(joe,Y) ...

зв'язує змінні Х та Увідповідним чином.

4. В Пролозі зв'язування (присвоєння) проходить двома способами: на вході і виході. Коли змінна потрапляє в фразу, вона стає вхідним параметром і позначається (i); а, коли виходить із фрази - стає вихідним параметром, який позначається (о).