
3к6с Интеллектуальные системы и технологии / С ИОС / МУ ПР3
.pdfПРАКТИЧЕСКАЯ РАБОТА №3
Цель работы: изучение интерфейса программы Турбо Пролог и разработка пролог-программы типа базы данных.
1.1. КОНФИГУРАЦИЯ ТУРБО-ПРОЛОГА
Минимальная конфигурация Турбо-Пролога (ТП) должна включать в себя следующие файлы:
PROLOG.EXE - компилятор с языка ТП;
PROLOG.OVL - оверлейный файл для запуска ТП;
PROLOG.LIB - библиотека стандартных предикатов ТП;
INIT.OBJ - модуль, необходимый для редактирования связей при создании EXE-
файлов.
Кроме этого, в конфигурацию ТП могут быть включены следующие файлы:
PROLOG.ERR - сообщения об ошибках;
PROLOG.SYS - файл установки размера и цвета окон, имен используемых каталогов и других параметров интегрированной среды. Эти два файла должны находиться в текущем каталоге пользователя.
PROLOG.HLP - краткое описание стандартных предикатов;
TLIB.EXE - библиотекарь ТП;
TLINK.EXE - утилита редактирования связей;
BGI.LIB - библиотека стандартных графических предикатов;
*.BGI - файлы поддержки нужного графического адаптера: CGA,EGA и др.; *.СHR - файлы шрифтов, используемые в графическом режиме.

1.2. ИНТЕРФЕЙС ТУРБО – ПРОЛОГ 2.0
1 – окно редактирования текста программы;
2 – окно диалога пользователь / компьютер;
3 – окно трассировки (используется при отладке программы);
4 – строка меню;
5 – функциональные клавиши.

1.3. ОСНОВНЫЕ ПУНКТЫ МЕНЮ СРЕДЫ ПРОГРАММИРОВАНИЯ
TURBO PROLOG 2.0.
Выход на строку меню происходит по нажатию клавиши ESC, для перемещения по пунктам меню используются клавиши управления курсором.
1.Пункт меню Files содержит большое количество подпунктов,
осуществляющих работу с файлами. К ним относятся (рис. 1):
Рис.1. Общий вид среды программирования Turbo Prolog 2.0. Пункт меню Load Load - загрузка содержимого файла в среду программирования;
Pick - вывод на экран окно со списком ранее загружавшихся файлов.
Перемещение по списку - клавиши управления курсором.
Загрузка выбранного файла - клавиша Enter;
New File - очистка окна редактора. Если содержимое окна не было сохранено, то будет выведено сообщение, нужно ли его сохранять;
Save - сохранение содержимого окна редактора в файле с ранее заданным именем;
Write to - сохранение содержимого окна редактора в файле, имя которого нужно задать в появившемся окне. По умолчанию, Пролог-программы сохраняются в файлах с расширением PRO;
Directory - просмотр содержимого текущей директории. Перед выводом ее содержимого запрашивается маска, которая затем используется при выводе имен файлов
(отображаются имена только тех файлов, которые удовлетворяют заданной маске).
Символы ..\, расположенные в списке файлов, позволяют выйти из текущей директории

на предыдущий уровень;
Change dir - задание текущей (рабочей) директории;
OS shell - временный выход в DOS;
Quit - выход из среды программирования в операционную систему.
2.Пункт меню Edit используется для перехода в окно редактирования программы.
3.Пункт меню Run применяется для выполнения программы. Если в программе присутствует раздел goal, то начинают выполняться предикаты,
расположенные после этого служебного слова. Если раздел goal в программе
отсутствует, то в окне Dialog появляется сообщение о необходимости ввести целевое
утверждение.
4.Пункт меню Compile активизирует процесс компиляции программы, рис. 2:
Рис.2. Общий вид среды программирования Turbo Prolog 2.0.
пункт меню Compile
Memory - размещение оттранслированной программы в оперативной памяти;
OBJ file - создание только объектных файлов (файлов с расширением OBJ);
EXE file (auto link) - создание исполняемого файла (файла с расширением EXE);
Project (all modules) - компиляция всех модулей проекта.
5. Пункт меню Options содержит несколько подпунктов, устанавливающих некоторые параметры компиляции (рис. 3):

Рис.3. Общий вид среды программирования Turbo Prolog 2.0. Пункт меню Options Link options - определяет нужно ли создавать MAP-файл (Map file) и позволяет
подключить библиотеку на этапе компиляции (Libraries);
Edit PRJ file - позволяет отредактировать главный файл проекта;
Compiler directives - содержит параметры компиляции.
6. Пункт меню Setup содержит подпункты, позволяющие осуществить настройку системы программирования Turbo Prolog, рис. 4:
Рис.4. Общий вид среды программирования Turbo Prolog 2.0. Пункт меню Setup Colors - задание цветов изображения и фона. После выбора этого подпункта на
экране появляется еще одно окно, где выбирается элемент, цвет которого нужно изменить.
Window Size - задание размеров окон. После выбора этого подпункта на экране появляется еще одно окно, где выбирается элемент, размеры которого нужно изменить.
Для изменения размеров окна используются клавиши управления курсором.
Местоположение окна производится Shift+клавиши управления курсором. Нажатие клавиши ESC осуществляет переход к меню команды Setup;
Directories - задание имен директорий, к которым осуществляется обращение по умолчанию. Таковыми являются: Current directory (текущая директория), OBJ directory
(директория объектных файлов), EXE directory (директория для выполняемых файлов),
Turbo directory (системная директория);
Miscellaneous - задание параметров настройки графического адаптера, текстового редактора и строки подсказки;
Save SYS file - сохранение файла конфигурации;
Load SYS file - загрузка файла конфигурации.

1.4. ТЕКСТОВЫЙ РЕДАКТОР TURBO PROLOG 2.0.
Программа на языке Пролог находится в текстовом файле с расширением PRO.
Для ее создания можно воспользоваться любым текстовом редактором, однако система программирования снабжена специализированным редактором, из которого можно осуществить проверку программы, оттранслировав ее компилятором системы.
При обнаружении ошибки активизируется окно редактора и курсор устанавливается в начало ошибочного текста программы (рис. 5).
Рис.5. Общий вид среды программирования Turbo Prolog 2.0 при возникновении ошибки
После устранения ошибки вновь можно оттранслировать программу, не выходя из текстового редактора.
Основные возможности редактора системы Turbo Prolog 2.0 перечислены в таблицах 1-4.
Таблица 1. Команды перемещения курсора
|
|
|
|
|
|
|
Значение |
|
Клавиши |
|
Значение |
|
Клавиши |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
На символ влево |
|
Ctrl+S |
|
Вниз на страницу |
|
Ctrl+C или PgDn |
|
|
|
|
|
|
|
|
|
|
|
|
||
На символ вправо |
|
Ctrl+D |
|
К началу строки |
|
Ctrl+Q, S или HOME |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
На слово влево |
|
Ctrl+A |
|
К концу строки |
|
Ctrl+Q, D или END |
|
|
|
|
|
|
|
|
|
|
|
|
||
На слово вправо |
|
Ctrl+F |
|
К началу файла |
|
Ctrl+Q, R или Ctrl+PgUp |
|
|
|
|
|
|
|

|
|
Вверх на строку |
|
Кнопка «вверх» |
|
|
К концу файла. |
|
Ctrl+Q, C или Ctrl+PgDn |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вниз на строку |
|
Кнопка «вниз» |
|
К началу блока. |
|
Ctrl+Q, B |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вверх на страницу |
|
Ctrl+R или PgUp |
|
К концу блока. |
|
Ctrl+Q, K |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
Таблица 2. Команды вставки и удаления |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
Значение |
|
|
|
|
Клавиши |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Режим вставки/замены. |
|
|
|
Ctrl+V или |
|
||||||
|
|
|
|
|
|
INSERT |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
Стереть левый символ. |
|
|
|
BACKSPACE |
|
||||||
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
||||||
|
|
Стереть символ под курсором. |
|
|
|
DELETE |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
Стереть строку. |
|
|
|
|
Ctrl+BACKSPACE |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Стереть символы до конца строки, начиная с позиции, на которую
Ctrl+Q, Y
указывает курсор.
Таблица 3. Команды работы с текстовыми
блоками
Значение
Отметить начало блока.
Отметить конец блока.
Скопировать блок.
Передвинуть блок.
Стереть блок.
Считать блок с диска.
Записать блок на диск.
Снять отметку с блока.
Клавиши
Ctrl+K, B
Ctrl+K, K
Ctrl+K, C
Ctrl+K, V
Ctrl+K, Y
Ctrl+K, R или F7
Ctrl+K, W
Ctrl+K, H
Таблица 4. Команды общего
назначения
Значение Клавиши

|
|
|
|
|
Дополнительный редактор. |
|
F8 |
|
|
|
|
|
|
|
|
|
Перейти к строке. |
|
Ctrl+F2 |
|
|
|
|
|
|
|
|
|
Закончить редактирование. |
|
ESC или F10 |
|
|
|
|
|
|
|
|
|
Поиск. |
|
Ctrl+F3 |
|
|
|
|
|
|
|
|
|
Продолжение поиска. |
|
Shift+F3 |
|
|
|
|
|
|
|
|
|
Поиск и замена. |
|
F4 |
|
|
|
|
|
|
|
|
Остановимся более подробно на организации поиска фрагментов текста. Прежде всего, нужно поместить курсор в произвольное место файла выше искомого фрагмента текста. Самым подходящим местом является начало программы.
Для поиска фрагмента текста пользуются клавишами Ctrl+F3. В нижней части окна редактирования появляется строка, где набирается искомый текст. После этого снова нажимаются клавиши Ctrl+F3 - курсор переместится на строку, где находится первый искомый фрагмент. Для повторного поиска того же фрагмента используются клавиши Shift+F3.
Поиск и замена позволяет найти фрагмент текста и заменить его другим. Сначала нажимается клавиша F4. Появившаяся подсказка предложит задать заменяемый текст.
После набора этого текста снова нажимается клавиша F4. Другая подсказка предлагает задать заменяющий текст, после которой нажимается клавиша Enter.
После этого задается, какую замену нужно произвести: локальную или глобальную. Если нажать клавишу G, то будет произведена глобальная замена. Если воспользоваться клавишей L, то будет осуществлена локальная замена: система заменит только первое вхождение искомого текста ниже курсора.
Затем система просит указать, нужно ли запрашивать разрешение на замену при каждом обнаружении искомого фрагмента текста. Если ответить на этот вопрос, нажав клавишу Y, то при нахождении каждого экземпляра текста для замены редактор будет выдавать сообщение, нужно ли замещать этот экземпляр.
Дополнительный редактор вызывается при нажатии клавиши F8. Появляется окно со списком файлов, которые можно разместить в этом окне. После выбора файла можно осуществлять его редактирование.
1.5. СРЕДСТВА ОТЛАДКИ В TURBO PROLOG 2.0.
Turbo Prolog 2.0 не обладает таким разветвленными средствами отладки программ по сравнению с другими системами программирования,
здесь они практически отсутствуют. Однако язык программирования Turbo Prolog предоставляет пользователю возможность трассировки программы.
Для того, чтобы задействовать это средство, необходимо включить в программный файл директиву trace, которая должна размещаться в программе перед разделом predicates. Лучше всего разместить ее перед разделом domains.
Общий вид директивы trace следующий: trace <список предикатов>,
где список предикатов - перечень предикатов, перечисленных через запятую, для которых нужно выполнить трассировку.
Если список предикатов не указан, то трассировка начинается с выполнения самого первого предиката.
Выполнение директивы трассировки приостанавливает выполнение программы после каждой попытки удовлетворить подцель. В этот момент в окне трассировки (окно Trace среды программирования) печатаются значения переменных и некоторая другая информация (рис.6):
RETURN - после этого служебного слова размещается предикат, для которого были найдены все значения переменных;
CALL - после этого служебного слова размещается предикат,
являющийся подцелью. Неизвестные переменные в нем обозначаются символами "_";
REDO - после этого служебного слова размещается предикат,
являющийся подцелью. Данное сообщение появляется тогда, когда осуществляется переход от одной реализации предиката к другой;
FAIL - после этого служебного слова размещается предикат, для которого не были найдены все значения переменных. Это свидетельствует о том, что данная подцель не была разрешена. Для управления трассировкой