- •Логическое программирование (turbo prolog 2.0)
- •Основные понятия
- •Основные окна и меню системы Турбо-Пролог 2.0
- •Структура программы на Турбо-Прологе
- •Стандартные типы доменов
- •Файл справки
- •Создание, редактирование и выполнение программы в системе Турбо-Пролог
- •Выделение фрагмента текста, копирование, перемещение, удаление
- •Сохранение программы
- •Трассировка программы
- •Работа с окнами системы Турбо-Пролог
Основные окна и меню системы Турбо-Пролог 2.0
После запуска системы Турбо-Пролог на экране появляются четыре окна:
окно редактора Editor – для ввода исходной программы;
окно диалога Dialog – для ввода запросов и выдачи результатов;
окно сообщений Message – для выдачи сообщений;
окно трассировки Trace – для трассировки программы.
Главное меню содержит команды:
FILES – работа с файлами;
EDIT – редактирование текста программы;
RUN – запуск программы;
COMPILE – компиляция программы, находящейся в редакторе;
OPTIONS – задание опций компилятора;
SETUP – настройка системы в соответствии с индивидуальными потребностями.
Когда меню активно, переход от одной команды к другой можно осуществлять стрелками либо нажатием первой буквы команды. Если активно какое-либо окно, получить доступ к командам меню можно либо отменив активность окна нажатием Esc, либо сразу выбрав нужную команду с помощью комбинации Alt-<первая буква команды>.
Структура программы на Турбо-Прологе
Синтаксис языка Турбо-Пролог несколько отличается от чистого Пролога и других его диалектов.
Программа на Турбо-Прологе включает пять разделов (рисунок 1). Это раздел описания доменов domains, раздел базы данных database, раздел описания предикатов predicates, раздел описания цели goal и раздел описания утверждений clauses.
Рисунок 1 – Структура программы Турбо-Пролога
Цель – это формулировка задачи, которую программа должна решить. Турбо-Пролог использует как внутренние цели, которые содержатся в программе в разделе goal, так и внешние цели, которые вводятся с клавиатуры после запуска программы.
Раздел domains содержит определения доменов, которые описывают различные классы объектов, задействованных в задаче.
Раздел database содержит утверждения базы данных, которые являются предикатами динамической базы данных. Если программа такой базы данных не требует, то этот раздел может быть опущен.
В разделе predicates объявляются предикаты пользователя (встроенные предикаты Турбо-Пролога не объявляются). Т.е. здесь описываются отношения, о которых известно, что они существуют между объектами задачи.
В разделе goal помещается внутренняя цель, когда программисту требуется, чтобы программа могла выполняться вне среды Турбо-Пролога и независимо от нее. Если нет необходимости во внутренней цели, этот раздел опускается, и для решения задач используются внешние цели.
Раздел clauses – это ядро программы на Турбо-Прологе; в нем размещаются факты и правила, описывающие отношения между объектами. Турбо-Пролог оперирует фактами и правилами, пытаясь достичь цели программы.
При хорошем стиле программирования в программу включаются комментарии, объясняющие неочевидные для кого-либо (или для самого программиста через шесть месяцев) моменты. Благодаря комментариям программа становится более понятной. Чтобы служить своему назначению, комментарии должны содержать информацию о самой программе, о назначении каждого из предикатов, правил, доменов, переменных, которые не являются в достаточной степени очевидными.
Многострочные комментарии должны начинаться с символов /*, а заканчиваться символами */. Для указания однострочного комментария можно использовать эти же символы или воспользоваться символом % как началом комментария – комментарием будет весь текст от % до конца строки.
/* Это пример комментария */
% Это также комментарий
/*=======================
и эти три строчки тоже
=======================*/
