Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга_мат_3_new1.doc
Скачиваний:
29
Добавлен:
17.02.2016
Размер:
1.19 Mб
Скачать

Лабораторна робота № 17 “Середовище Турбо-Прологу. Створення простої бази даних”

Мета:опанувати середовище Турбо-Прологу. Навчитися створювати та виконувати прості програми.

Питання для вивчення

  1. Призначення команд головного меню інтегрованого середовища: File, Edit, Run, Compile, Options, Setup

  2. Структура програми на Пролозі: розділи описів та правил.

  3. Конструювання простих запитів на мові Пролог

  4. Збереження, компіляція та редагування запуск програми

Завдання

  1. Ознайомитися з командами текстового редактора середовища.

  2. Ознайомитися з призначенням вікон та командами для роботи з вікнами.

  3. Побудувати в зошиті схему родинних стосунків власної родини (4 рівні).

  4. На його основі заповнити базу даних фактами батько_або_мати (один_із_батьків, дитина).

  5. Зберегти базу даних у вигляді файлу на дискові.

  6. Побудувати до даної бази прості запитання та запитання із змінними. Простежити порядок видачі відповідей. Записати у зошиті запитання та їхню інтерпретацію природною мовою.

  7. Доповнити базу даних фактами чоловік (дехто), жінка (дехто) стосовно усіх аргументів бази даних.

  8. Сформувати та проінтерпретувати відповідні прості запити.

Приклад розв‘язання задачі на Пролозі

PREDICATES

батько_або_мати(symbol, symbol)

CLAUSES

батько_або_мати (пам, боб).

батько_або_мати(том, боб).

батько_або_мати(том, ліз).

батько_або_мати(боб, енн).

батько_або_мати(боб, пат).

батько_або_мати(пат, джім).

Приклади запитів:

  1. Чи є Боб батьком або матір’ю Пат?

Goal: батько_або_мати (боб, пат).

  1. Хто діти Боба?

Goal: батько_або_мати (боб, Хто).

  1. Хто чий батько або матір?

Goal: батько_або_мати (А, Б).

Як запитати:

  1. Хто батьки Пат?

  2. Чи має Ліз дитину?

  3. Хто батьки батьків Пат?

Лабораторна робота № 18 “Середовище Турбо-Прологу. Факти і правила. Трасування програм”

Мета:сформувати уміння формулювати правила, використовуючи зв’язки і, не, або, та складні запити. З’ясувати порядок обчислення цілей, виконуючи трасування програм..

Питання для вивчення

  1. Декларативний та процедурний зміст Пролог-програм

  2. Механізм уніфікації пролог-програм

  3. Трасування програм на Пролозі.

Завдання

  1. Для створеної бази даних визначити відношення: мати, батько, син, дочка, а також за варіантами:

    1. дід, баба;

    2. онук, онучка;

    3. брат, сестра;

    4. дядько, тітка;

    5. чоловік, жінка;

    6. тесть, теща;

    7. свекор, свекруха;

    8. зять, невістка;

    9. племінник, племінниця

    10. шурин, зовиця;

    11. свояк, своячка.

Доповнити відповідними відношеннями схему родинних стосунків.

  1. Сформулювати складні запити для пошуку елементів, що відповідають вищевказаним відношенням.

  2. Внести відповідні предикати до бази даних.

Примітка: предикати мати, батько, син, дочка обов’язкові для всіх. Ще два предикати визначаються за варіантом. Якщо для визначення предиката потрібно використовувати додаткове відношення, то можна задати додаткове відношення або правилом, або фактами. Наприклад, для визначення предиката тесть необхідно використовувати додаткове відношення чоловік. Формування правила для предиката чоловік є завданням іншого варіанта, тому можна його подати сукупністю фактів.

  1. Протрасувати програму при виконанні простого та складного запиту. Зобразити схему обчислення відповіді з вказанням точок відкоту у зошиті.

  2. Внести до бази даних рекурсивне правило предок(А, Б). Протрасувати порядок обчислення запиту з використанням даного правила. Побудувати схему обчислення.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]