- •Методические указания к выполнению лабораторных работ
- •Лабораторная работа «Установка и проверка работы Visual Prolog»
- •ПрОграммирование в лоГике
- •Описание окон Visual Prolog, перечень окон
- •Задание Создание проекта и настройка компилятора
- •Запуск и тестирование работы программы
- •Вопросы для самоконтроля
- •Лабораторная работа «Создание программы с использованием предложений, предикатов, доменов и целей. Создание составных целей»
- •Файлы используемые в проекте
- •Структура программы на Visual Prolog
- •Создание программы на языке Visual Prolog
- •1. В первую очередь необходимо определить факты.
- •2. Необходимо определить правила
- •3. После определения предложений необходимо сформулировать цель на языке Пролог
- •3. Далее в разделе предикатов необходимо описать пользовательские предикаты. Это можно сделать двумя способами
- •Задание Создание программы с использованием предложений, предикатов, доменов и целей
- •Организация запросов
- •Вопросы для самоконтроля
- •Лабораторная работа «Создание составных целей с конъюнкцией и дизъюнкцией»
- •Сложная цель с конъюнкцией и дизъюнкцией
- •Задание Внесение правил
- •Настроить проект как в лабораторной работе №1. * применить к каждой лабораторной работе
- •Организация запросов
- •Лабораторная работа «Использование отладчика приложения для составления целевого дерева»
- •Унификация и поиск с возвратом
- •Поиск с возвратом
- •Детальный поиск с возвратом
- •Задание
- •Создание программы
- •Использование отладчика приложения (Debugger)
- •Вопросы для самоконтроля
- •Лабораторная работа «Управление поиском решения»
- •Управление поиском решений
- •Прерывание поиска с возвратом (отсечение)
- •Использование предиката Fail
- •Предотвращение поиска с возвратом к предыдущей подцели в правиле
- •Использование предиката Not
- •Задание Создание программы поиска с предикатами !, not
- •Лабораторная работа «Организация пользовательского меню»
- •Детерминизм и отсечение
- •Использование правил для условного ветвления
- •Задание
- •Вопросы для самоконтроля
- •Лабораторная работа «Составные объекты»
- •Простые и составные объекты
- •Простые объекты данных
- •Составные объекты данных и функторы
- •Унификация составных объектов
- •Объявление составных доменов
- •Задание
- •Создание программы
- •Вопросы для самоконтроля
- •Лабораторная работа «Списки»
- •Задание
- •Вопросы для самоконтроля
- •Используемая литература
Задание Создание проекта и настройка компилятора
Запустить среду визуальной разработки Visual Prolog.
Создать новый проект
Выбрать команду Project/New Project. Появится новое диалоговое окно Application Expert.
Определить базовый каталог Base Directory. Например С:/Stud/ Prolog.
При указании базового каталога в нем создаются две папки: Exe (для хранения исполняемых программ) и Obj (для хранения проектов).
Определить имя проекта Project Name. Настроить свойства.
Рис.1. Настройка генеральных свойств проекта
Рис.2. Установка свойств на вкладке Target диалогового окна Application Expert
*Все остальные свойства можно оставить по умолчанию. Нажать кнопку Create.
Установить опции компилятора для созданного проекта.
Для активизации диалогового окна Compiler Options выбрать команду Option/ Project/ Compiler Options.
Установить переключатель Nondeterm, для того чтобы компилятор принимал по умолчанию, что все определенные пользователем предикаты – недетерминированные (т.е. имеют более одного значения).
Снять флажки Non Quoted Symbol, Strong Type Conversion Check и Check Type of Predicates для подавления некоторых возможных предупреждений компилятора, которые не важны для выполнения лабораторных работ. Нажать кнопку OK.
Рис.3 Установка опций компилятора.
Запуск и тестирование работы программы
Создать новое окно редактирования File/New. В окне с именем Noname внести текст
Goal
write("Hello"),nl.
Для выполнения программы выбрать в меню Project/ Test Goal. Если система установлена правильно, то окно программы будет выглядеть как на рисунке 4.
Рис. 4 Тестовая программа “Hello”
Вопросы для самоконтроля
Дайте характеристику языку PROLOG.
Опишите программные окна программного продукта Visual Prolog32.
Дайте описание операциям над программами проекта.
Перечислите назначение окна сообщения Visual Prolog32.
Перечислите назначение окна браузера кода Visual Prolog32.
Перечислите назначение окна браузера идентификатора ресурсов Visual Prolog32.
Перечислите назначение окна дерева модуля проекта Visual Prolog32.
Опишите для чего используется тестирование программы.
Лабораторная работа «Создание программы с использованием предложений, предикатов, доменов и целей. Создание составных целей»
Тема: Создание программы с использованием предложений, предикатов, доменов и целей. Создание составных целей.
Цель работы: изучить основы программирования на языке Prolog.
Файлы используемые в проекте
Для проекта MyProject, который использует VPI (Ul Strategy), эксперт приложения генерирует файлы и структуру каталогов, приведенные в таблице 1.
Таблица1 - Файлы и каталоги в демонстрационном проекте
Файл или каталог |
Описание |
MyProject.VPR |
Основном файл проекта для VDE |
MyProject. PR J |
Файл проекта, используемым в режиме работы нескольких программистов над проектом |
MyProject.def |
Файл определений модулей, обеспечивающий дополнительную информацию для компоновщика |
MyProject.INC |
Основной файл, определяющий включенные в проект пакеты |
MyProject. PRO |
Файл основного исходного модуля |
MyProject.dom |
Объявления глобальных доменов для модуля MyProject.PRO |
MyProject.pre |
Объявления глобальных предикатов в модуле MyProject.PRO |
VPITools.pro |
Модуль, включающий PRO-файлы используемых в проекте инструментальных пакетов VPI |
VPITools.pre |
Файл, включающий объявления глобальных предикатов (PRE-файлы), используемых в проекте инструментальных пакетов VPI |
VPITools.dom |
Файл, включающий объявления глобальных доменов (DOM-файлы), используемых в проекте инструментальных пакетов VPI |
MyProject.ham |
Гипертекстовая база данных (содержащая исходные описания разделов справки), созданная генератором справки PDC |
Hlptopic.con |
Файл, содержащий символьные константы, которые определяют идентификаторы разделов в интерактивной справке, создаваемой генератором справки |
MyProject.con |
Объявления констант для ресурсов |
MyProject.bki |
Резервная копия VPR-файла проекта |
MyProject.grd |
Временный файл, используемый VDE при открытии проекта |
*.BAK |
Резервные копии других файлов |
EXE\MyProject.EXE EXE\MyProject.DLL |
Созданный целевой модуль (исполняемый или DLL) |
EXE\MyProject.HLP |
Файл интерактивной справки |
EXE\PROLOG.ERR |
Содержит короткие сообщения об ошибках |
OBJ\MyProject.BRO |
Информация, генерируемая компилятором для браузера кода |
OBJ\MyProject.MAP |
Файл, генерируемый компоновщиком |
OBJ\MyProject.RES |
Двоичный файл описания ресурсов, генерируемый VDE |
OBJ\*.OBJ |
Сгенерированные объектные файлы |
OBJ\*.DEB |
Отладочная информация, генерируемая компилятором для каждого модуля |
OBJ\MyProject.SYM |
Таблица символов — специальный объектный файл, содержащий таблицу символов (и строки, если такая опция определена компилятором) |
RES\*.WIN |
Файлы ресурсов, содержащие описания окон |
RES\*.DLG |
Файлы ресурсов, содержащие описания диалоговых окон |
RES\*.TB |
Файлы ресурсов, содержащие описания панелей инструментов |
RES\*.MNU |
Файлы ресурсов, содержащие описания меню |
RES\*.STR |
Файлы, содержащие группы строк |
RES\Win\*.BMP |
Файлы, содержащие растровые изображения, зарегистрированные в проекте |
RES\Win\*.ICO |
Файлы, содержащие пиктограммы, зарегистрированные в проекте |
RES\Win\*.CUR |
Файлы, содержащие курсоры, зарегистрированные в проекте |
