
- •3. Що зазвичай являє собою програма на мові Пролог?
- •5. З яких розділів зазвичай складається програма на Visual Prolog?
- •10. Назвіть правила оголошення предикатів.
- •11. Назвіть правила іменування предикатів.
- •12. Перелічіть основні домени в Visual Prolog.
- •13. Поясніть, коли потрібно декларувати домени аргументів предикатів, а коли ні.
- •21. Як закоментувати рядок або частину програми в Пролозі?
- •1. Дайте визначення поняттю «уніфікація» та поясність процес уніфікації цільового твердження з реченням.
- •3. Поясніть, навіщо використовується точка пошуку з поверненням.
- •1. Назвіть види повторень, які реалізовані в Пролозі.
- •4. Де зберігаються значення змінних при рекурсії?
3. Поясніть, навіщо використовується точка пошуку з поверненням.
Ця точка пошуку з поверненням вказує на те місце, звідки Пролог почне пошук наступної можливої відповідності для food (X). 4. Назвіть основні правила пошуку з поверненням.
Існує чотири основні правила пошуку з поверненням:
підцілі повинні бути узгоджені по порядку, зверху вниз;
предикативні речення перевіряються в тому порядку, в якому вони з'являються в
програмі, зверху вниз;
коли мета відповідає заголовку правила, далі має бути узгоджено тіло цього
правила: тіло правила тепер утворює нову множину підцілей для узгодження;
цільове твердження вважається узгодженим, коли відповідний факт знайдений для
листа цільового дерева. 5. Поясніть механізм виконання підцілей.
Виконуючи підцілі, Visual Prolog починає пошук з першого речення, визначального
предиката. Потім може відбутися одне з двох:
1. Visual Prolog знаходить відповідне речення, тоді:
якщо є інше речення, яке, можливо, може знову узгодити підціль, то Visual Prolog
виставляє маркер (з тим, щоб відзначити точку повернення) і пов'язує усі вільні
змінні в підцілі (які відповідають значенням в реченні) з відповідними значеннями;
якщо дане речення є заголовком правила, то потім оцінюється тіло цього правила.
Підцілі в тілі правила повинні бути задоволені для успішного завершення звернення.
2. Visual Prolog не може знайти відповідне речення. Цільове твердження не узгоджується, і Visual Prolog виконує пошук з поверненням в спробі знову узгодити попередню підціль. Коли процес досягає останньої точки повернення, Visual Prolog звільняє всі змінні, яким були присвоєні нові значення (після того, як була поставлена точка повернення), і знову намагається узгодити вихідне звернення. 6. Назвіть інструментальні засоби для управління механізмом пошуку з поверненням.
Пролог забезпечує два інструментальні засоби, які дають можливість управляти
механізмом пошуку з поверненням:
предикат fail, який використовується для ініціалізації пошуку з поверненням; предикат cut або відсікання (позначається символом «!») – для заборони можливості повернення. 7. Назвіть основні випадки, коли застосовується відсікання.
Існує два основних випадки застосування відсікання:
якщо відомо, що певні посилання ніколи не приведуть до осмислених рішень
(застосовується відсікання), програма стає швидше і економніше. Такий прийом
називають зеленим відсіканням.
якщо відсікання вимагає сама логіка програми для виключення з розгляду
альтернативних підцілей. Це – червоне відсікання.
8. Поясніть, як в Пролозі перетворити недетерміновані речення в детерміновані. В Visual Prolog існує директива компілятора check_determ. Якщо додати цю директиву на
початок програми, то Пролог буде видавати попередження в разі виявлення недетермінованих речень в процесі компіляції. Існує можливість перетворення недетермінованих речень в детерміновані, це можна зробити, вставляючи відсікання в тіло правил, які визначають даний предикат.