Добавил:
vk.com СтудСклад КубГУ vk.com/studskladrn Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Архив С / 8 семестр / Жаркова / Laboratornaya_rabota_9

.pdf
Скачиваний:
25
Добавлен:
11.08.2019
Размер:
223.9 Кб
Скачать

Лабораторная работа 9

Тема: «Изучение среды Visual Prolog 8».

Цель работы: Изучить интерфейс среды логического программирования Visual Prolog и основные составляющие программного кода.

Введение

Язык программирования Visual Prolog – декларативный язык программирования общего назначения. Это усовершенствование языка Prolog. Prolog – один из старейших языков логического программирования. Он используется в системах обработки естественных языков, исследованиях искусственного интеллекта, экспертных системах, онтологиях и других предметных областях, для которых естественно использование логической парадигмы.

Описание выполнения работы

Запустите среду Visual Prolog. Изучите интерфейс среды Visual Prolog 8. Создайте новый проект. Выберите команду Project/New в главном меню.

Затем заполните диалоговое окно Project Settings: имя проекта(Project Name),

тип проекта (Project Kind) – Console, базовый каталог (Base Directory).

Постройте дерево проекта. Разберите составляющие дерева проекта. Откройте файл main.pro из дерева проекта. Изучите составляющие файла.

Структура программы состоит из 8-разделов: implement, open, constants, domains, class facts, class predicates, clauses и goal.

implement и end implement – это ключевые слова, используемые парно. Visual Prolog рассматривает код, помещенный между этими ключевыми словами, как код, принадлежащий одному классу. За ключевым словом implement обязательно должно следовать имя класса.

open – это ключевое слово используется для расширения области видимости класса. Оно должно быть помещено вначале кода класса, сразу после ключевого слова implement.

constants – это ключевое слово используется для обозначения секции кода, который определяет неоднократно используемые значения, применяемые

вкоде. Определение константы завершается точкой (.). Константы должны начинаться со строчной буквы (нижний регистр).

domains – это ключевое слово используется для обозначения секции, объявляющей домены, которые будут использованы в коде. Синтаксис таких объявлений позволяет порождать множество вариантов объявлений доменов, используемых в тексте программы.

class facts – это ключевое слово представляет секцию, в которой объявляются факты, которые будут в дальнейшем использоваться в тексте

2

программы. Каждый факт объявляется как имя, используемое для обозначения факта, и набор аргументов, каждый из которых должен соответствовать либо стандартному (предопределенному), либо объявленному домену.

class predicates – эта секция содержит объявления предикатов, которые определяются в тексте программы в разделе clauses. И опять, объявление предиката – это имя, которое присваивается предикату, и набор аргументов, каждый из которых должен соответствовать либо стандартному (предопределенному), либо объявленному домену.

clauses – среди всех разделов, существующих в тексте программ на Visual Prolog, это единственный раздел, который близко совпадает с традиционными программами на Prolog. Он содержит конкретные определения объявленных в разделе class predicates предикатов, причем синтаксически им соответствующие.

goal – этот раздел определяет главную точку входа в программу на языке системы Visual Prolog.

Для задержки закрытия окна выведите на экране строку («Hello World») и далее вставьте предикат ввода строки (он будет ждать нажатия Enter).

Запустите проект в работу, используя для этого в главном меню Build–> Run in Windows.

Выполните следующий код:

Ниже приведены листинги программ.

Проанализируйте их содержание и полученные результаты.

3

Листинг программы «Страны и столицы»:

Для дальнейшего изучения возможностей Visual Prolog 8 в режиме отладки создайте проект, и запустить его на выполнение с отладкой.

Среда разработки включает отладчик. С его помощью Вы можете трассировать исполнение Вашей программы и контролировать состояние программы.

4

Для запуска отладчика выберите Debug -> Run (Отладка -> Пуск) в меню. Если исполняемый файл проекта не соответствует исходному тексту, то проект сначала будет перестроен, после чего начнется сессия отладки.

Отладка может быть остановлена путем выбора в меню Debug пункта

«Stop Debugging».

Когда отладка начинается, IDE Visual Prolog 8, прежде всего, загружает отладочную информацию и только потом приступает к запуску программы. Действия IDE приостанавливаются непосредственно перед началом исполнения раздела goal. Для указания на это открывается текстовый редактор, и указатель устанавливается на ключевое слово goal:

main.pro

Вы можете вызывать выполнение программой одиночных шагов используя команды Step Into (Шаг внутрь) и Step Over (Шаг Поверх) в меню Debug (Отладка).

Попробуйте Step Into (Шаг внутрь): это открывает другое окно редактора с кодом mainExe::run, а указатель устанавливается на начале этого кода.

Через меню View (Просмотр) Вы можете открывать различные окна отладчика, которые будут кратко пояснены.

Окно Run Stack (Стек исполнения) содержит «picture» (картину) стека исполнения. Точнее говоря то, что Вы видите, зависит от установок в панели Tools -> Options... -> Debugger (Инструменты -> Опции ... -> Отладчик).

Run Stack

В целом, стек исполнения содержит набор строк, соответствующих вызовам, которые были сделаны. Однако следует иметь в виду, что внутренние меры оптимизации, предпринятые компилятором на этапе компиляции (так называемые оптимизации последнего вызова) могут удалить некоторые вызовы.

5

Стек исполнения (The run stack) не только показывает Вызовы, но и показывает точки нейтрализации исключений (trap points) и точки перебора

(backtrack points).

Окно Local Variables (Локальные переменные) содержит локальные переменные, соответствующие выбранной строке окна стека вызовов. Некоторые переменные к данному моменту еще могут не получить значения и эти значения показаны в виде подчеркивания (так, как на картинке выше).

Рассмотрите следующий пример:

6

Окно Facts (Факты) содержит данные о глобальном состоянии программы. Это состояние сохраняется в базе фактов. Fact databases (Базы данных фактов) являются уникальным свойством системы Visual Prolog, которое будет пояснено в другом руководстве.

Вы можете добавлять объекты из окна Local Variables (Локальные Переменные) в окно Facts (Факты), и, таким образом, контролировать изменение состояний интересующих Вас объектов.

Окно Breakpoints (Точки Останова) показывает текущие точки останова программы (Мы установили одну точку, чтобы окно не было бы пустым). Вы можете установить/удалить точки останова с помощью меню Debug -> Toggle Breakpoint (Отладчик -> Сброс точек останова).

Остальные окна отладчика предназначены для низкоуровневой отладки. Запустите приведенный код программы в режиме отладки, установив точки останова в начале первого предложения каждого из предикатов, выполняющих вывод на экран некоторых данных. Выпишите в отчет

содержимое окна Local Variables на каждом шаге выполнения.

Рассмотрите следующий пример:

7

 

Задание:

В среде Visual Prolog 8 напишите программу согласно варианту.

№ варианта

Описание

1

Написать программу нахождения разности, суммы, произведения,

частного двух вводимых чисел.

 

2

Написать программу нахождения корней квадратного уравнения

 

на основе вводимых коэффициентов.

3

Написать программу вычисления площади и объема цилиндра по

 

вводимым параметрам фигуры.

4

Написать программу вывода минимального и минимального

 

числа, а также среднего арифметического и геометрического

 

введенного списка чисел.

5

Написать программу вычисления площади и объема шара по

 

вводимым параметрам фигуры.

Соседние файлы в папке Жаркова