Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОСШИ.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
38.06 Кб
Скачать

21. Як закоментувати рядок або частину програми в Пролозі?

Коментарі. Гарним стилем програмування є включення в програму коментарів, що

пояснюють все те, що може бути незрозуміло комусь іншому (або навіть розробнику програми, через деякий час). Багаторядкові коментарі повинні починатися з символів «/*» і завершуватися символами «*/». Для встановлення однорядкових коментарів можна використовувати або ці ж символи, або починати коментар символом відсотка («%»). 22. Наведіть приклад зіставлення одного значення з іншим.

Зіставлення (matching). В Visual Prolog є кілька прикладів зіставлення одного значення з

іншим. Ясно, що ідентичні структури можливо порівняти одну з одною. Наприклад, можливо порівняти: parent(joe,tammy) з parent(joe, tammy). 23. У якому випадку змінні називаються сполученими вільними змінними. Дві вільні змінні можуть зіставлятися одна з одною. Наприклад, parent(Joe, X)

зіставляється з parent(joe, Y), зв'язуючи при цьому змінні X та Y між собою. З моменту зв'язування X і Y трактуються як одна змінна, і будь-яка зміна значення однієї з них призводить до негайної відповідної зміни іншої. У разі подібного «зв'язування» між собою кількох вільних змінних всі вони називаються сполученими вільними змінними.

1. Дайте визначення поняттю «уніфікація» та поясність процес уніфікації цільового твердження з реченням.

Процес, який використовує Visual Prolog під час спроби зіставлення виклику (з підцілі) з

реченням (у розділі програми clauses), включає зв'язування певного виклику з конкретним реченням – те, що називається уніфікацією (unification). У Пролозі уніфікація реалізує процедури більш традиційних мов – це такі процедури, як передача параметра, вибір варіанта (Case), створення структури, доступ до структури, присвоєння.

Розглянемо програму, наведену в прикладі 2.1 з точки зору того, як утиліта Test Goal буде

шукати всі рішення наступної цілі: written_by (X, Y). Намагаючись виконати цільове твердження written_by (X,Y), Visual Prolog повинен перевірити кожне речення written_by в програмі. Зіставляючи аргументи X і Y з аргументами кожного речення written_by, Visual Prolog виконує пошук від початку програми до її кінця. Виявивши речення, відповідне цільовому твердженню, Visual Prolog присвоює значення вільним змінним таким чином, що цільове твердження і речення стають ідентичними, в такому випадку кажуть, що цільове твердження уніфікується з реченням. Така операція зіставлення називається уніфікацією. 2. Поясність суть методу пошуку з поверненням.

Visual Prolog при пошуку рішення задачі використовує метод проб і повернень назад. Цей

метод називається пошук з поверненням. Якщо, починаючи пошук рішення задачі (або цільового твердження), Visual Prolog повинен вибрати між альтернативними шляхами, то він ставить маркер у місця розгалуження (що називається точкою відкату) і вибирає першу підціль, яку і буде перевіряти. Якщо дана ціль не виконається, Visual Prolog повернеться до точки відкату і спробує перевірити іншу підціль.