Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
IIS / Лекции / ЛР 2 2 - Prolog задание 1.doc
Скачиваний:
47
Добавлен:
31.03.2015
Размер:
69.12 Кб
Скачать

Лабораторная работа № 4 Программирование интеллектуальных систем на языке Пролог Работа с простейшими программами в системе Турбо-Пролог

  1. Введение

Разработка простейших программ и их выполнение в среде системы Турбо-Пролог требуют начальных сведений по основным конструкциям языка Пролог и структуре Пролог-программ, которые должны содержать как минимум две секции:

- predicates - секцию описания структур отношений, используемых в программе, в виде предикатов,

- clauses -секцию определения предикатов в виде набора фактов и правил.

Если в программе описаны только эти две секции, то предполагается, что цель (или цели), решаемые программой будут формулироваться в интерактивном режиме работы внутри системы программирования.

Работа в системе программирования предполагает наличие у пользователя элементарных знаний по работе в Турбо-оболочках таких, как загрузка, ввод и редактирование программных файлов, запуск их на выполнение, а также отладка программ и конфигурирование системы.

Построение программ, не зависящих от среды выполнения, требуют включения в их структуру еще одной секции goal, обеспечивающей описание цели, решаемой программой.

При этом цель формулируется в виде запроса к программе, который представляет собой конъюнкцию подцелей. Для разрешения любой сложной цели Пролог должен разрешить все его подцели, создав при этом необходимое множество связанных переменных. Если же одна из подцелей ложна. Пролог возвратится назад и просмотрит все возможные альтернативные решения предыдущих подцелей, а затем вновь пойдет вперед, но с другими значениями переменных. Такой процесс называется "поиском с возвратом".

Каждая программа на Прологе представляет собой текстовый файл, который для запуска из системы Турбо-Пролог должен иметь расширение .PRO.

Содержимое какого-либо текстового файла или программы на языке Пролог может быть включено в другую программу на режиме ее компиляции. Для такой текстовой подстановки режима компиляции используется директива компилятора include, которая имеет следующий синтаксис:

Include "dos_file_name"

где dos_file_name - имя текстового файла системы DOS, включаемого в текущий программный файл. Имя файла может включать путь доступа к нему.

Включаемые файлы могут быть использованы только в естественных границах программы. Таким образом, ключевое слово include может появиться только там, где допускается одно из ключевых слов domains, predicates, clauses или goal.

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

Включаемый файл сам может содержать директивы include. Однако, включаемые файлы не должны использоваться рекурсивно. То есть так, чтобы тот же самый файл включался более, чем однажды в процессе компиляции. Использование многих уровней включаемых файлов требует больше памяти в процессе компиляции, чем если бы те же самые файлы были включены непосредственно в главную программу.