Главная страница
Навигация по странице:

  • Решение

  • Application Expert

  • Create

  • Target

  • Compiler Options

  • Edit

  • Лабораторный практикум пролог. Методические рекомендации по дисциплине Анализ данных


    Скачать 311.21 Kb.
    НазваниеМетодические рекомендации по дисциплине Анализ данных
    АнкорЛабораторный практикум пролог
    Дата11.03.2021
    Размер311.21 Kb.
    Формат файлаodt
    Имя файлаProlog.odt
    ТипМетодические рекомендации
    #183725
    страница3 из 10
    1   2   3   4   5   6   7   8   9   10
    ДеД(Х, Y) и определить, кто является дедушкой Кати. Создать проект и протестировать пример как автономную исполняемую программу.

    Решение

    1. Запустите среду Visual Prolog и создайте новый проект (Project | New Project), активизируется окно Application Expert (эксперт приложения).

    2. Определите имя проекта (Primer) и базовый каталог, куда будет сохранен проект (например, D:\VP\Primer)



    рис.4. Окно Application Expert

    На вкладке Target установите параметры и нажмите кнопку Create для создания проекта (рис. 5):





    рис.5. Установки на вкладке Target окна Application Expert

    1. Откройте окно Compiler Options (Options | Project | Compiler Options), откройте вкладку Warnings и установите опции компилятора для созданного проекта (рис.6):



    рис.6. Установки опций компилятора

    Нажмите OK.

    1. В окне проекта выделите файл Primer.pro и откройте его для редактирования (двойной щелчок или кнопка Edit)



    рис.7. Окно проекта

    Файл с расширением .pro содержит секции PREDICATES, GOAL, CLAUSES. Допишите необходимые определения так, чтобы получилась программа:

    DOMAINS

    имя=string

    PREDICATES

    родитель

    (имя,имя)

    женщина(

    имя)

    мужчина(

    имя)

    дед(имя,

    имя)

    CLAUSES




    родитель

    ("Иван","Катя").

    родитель

    ("Анна","Олег").

    родитель

    ("Олег","Дима").

    родитель

    ("Игорь","Ольга").

    родитель

    ("Олег","Виктор").

    родитель("Игорь","Иван"). мужчина("Дима"). мужчина("Иван").

    мужчина("Игорь"). мужчина("Олег"). мужчина("Виктор").

    женщина(

    "Катя").

    женщина(

    "Ольга").

    женщина(

    "Анна").

    дед(X, Z):-родитель(X,Y), родитель(Y,Z), мужчина(X).

    GOAL

    дед(X,"Катя"),write(X).

    1. Откомпилируйте исходный код примера и запустите его как автономную исполняемую программу. ( Project | Run, или клавиша , или кнопка ). Результат выполнения программы должен отобразиться в окне:



    рис.8. Окно вывода результата



    ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ

    1. Запишите по правилам Пролога следующие факты:

    Ник подарил Тому книгу. Мэри подарила Тому ручку. Рик подарил Мэри игрушку.

    Боб подарил Пэт игрушку.

    Сформулируйте запросы, выясняющие:

    1. Правда ли, что Рик подарил Мэри игрушку?

    2. Правда ли, что Ник подарил Тому игрушку?

    3. Что подарила на день рождения Тому Мэри?

    4. Что подарили Тому на день рождения?

    5. Кто подарил Пэт игрушку?

    1. Задано дерево родственных отношений:

    Мария Иван


    родитель

    I

    Степан

    родитель

    Федор

    родитель

    I I

    Ольга Татьяна

    Запишите данные факты по правилам ПРОЛОГа и сформулируйте запросы, выясняющие:

    1. Является ли Федор родителем Ольги?

    2. Кто является родителем Татьяны?

    3. Кто дети Ивана?

    4. Кто является родителем родителя Ольги?

    5. Кто внуки Ивана?

    6. Есть ли у Федора и Степана общий родитель?

    7. Кто чей родитель?

    1. Имеется база данных, содержащая факты вида: любит(имя, продукт), фрукты(продукт), конфеты(продукт).

    Составьте программу, определяющую:

    1. всех, кто любит бананы;

    2. кто любит и шоколад, и яблоки;

    3. что любит Вова;

    4. что любят и Света, и Вова.

    Используя имеющиеся факты, составить новое правило люб_фрукты(Х) и определить всех, кто любит фрукты;

    1. Имеется база данных, содержащая факты вида: играет(имя, спорт), мужчина(имя), женщина(имя).

    Составьте программу, определяющую:

    1. каким видом спорта увлекается Андрей;

    2. всех, кто играет в волейбол;

    3. каким видом спорта увлекаются и Ольга, и Саша;

    4. кто увлекается и футболом, и волейболом.

    Используя имеющиеся факты, составить новое правило волейбол_жен(Х) и определить всех женщин, играющих в волейбол.

    1. Реализуйте проект примера 4 и доработайте исходный код следующим образом:

    1. добавьте новое правило бабушка и определите, кто является бабушкой;

    2. добавьте новое правило внук и определите, кто внук Анны;

    3. добавьте новое правило брат и определите, кто брат Димы;

    4. добавьте новое правило сестра и определите, кто сестра Ивана.

    1.2 Поиск с возвратом. Управление поиском

    1   2   3   4   5   6   7   8   9   10


    написать администратору сайта