2
Содержание
Содержание ....................................................................................................................................2
Глава 1. Начала работы на Турбо-Прологе.................................................................................4
1.1 Введение ...............................................................................................................................4
1.2 Пакет системы Турбо-Пролог ............................................................................................6
1.2.1 Главное меню системы Турбо-Пролог .......................................................................8
1.2.2 Запуск на счет программы, написанной на Турбо-Прологе.....................................9
1.2.3 "Добро пожаловать в систему Турбо-Пролог!".........................................................9
1.2.4 Сохранение программного файла .............................................................................10
1.2.5 Просмотр каталога директории.................................................................................11
1.2.6 Загрузка и редактирование программного файла ...................................................11
1.2.7 Печать файла...............................................................................................................12
1.4 Заключение.........................................................................................................................12
Глава 2. Основные понятия языка Турбо-Пролог ....................................................................12
2.1 Ведение...............................................................................................................................12
2.2 Декларативные и императивные языки...........................................................................13
2.2.1 Логика предикатов .....................................................................................................14
2.2.2 Пролог и логика предикатов......................................................................................16
2.3 Управление программой...................................................................................................18
2.3.1 Цели программы .........................................................................................................19
2.3.2 Решение задачи...........................................................................................................19
2.3.3 Результат доказательства цели..................................................................................21
2.3.4 Связки и другие символы ..........................................................................................21
2.3.5 Цели и подцели ...........................................................................................................22
2.4 Внутренние подпрограммы унификации Турбо-Пролога............................................23
2.4.1 Представление данных при помощи фактов и правил ...........................................24
2.4.2 Обработка правил и фактов во время унификации.................................................25
2.4.3 Откат ............................................................................................................................28
2.5 Заключение.........................................................................................................................34
Глава 3. Основы программирования на Турбо-Прологе .........................................................35
3.1 Введение .............................................................................................................................35
3.2 Структура программ Турбо-Пролога...............................................................................35
3.2.1 Описание доменов и предикатов ..............................................................................36
3.2.2 Правила образования имен в Турбо-Прологе ..........................................................40
3.3 Предикаты и утверждения ................................................................................................40
3.3.1 Использование внешних и внутренних целей .........................................................42
3.3.2 Предикаты и утверждения разных арностей ...........................................................44
3.3.3 Использование правил в запросах ............................................................................48
3.3.4 Простые базы данных ................................................................................................51
3.3.5 Отрицание ...................................................................................................................54
3.3.6 Использование составных объектов .........................................................................56
3.3.7 Использование альтернативных доменов ................................................................61
3.4 Арифметика в Турбо-Прологе..........................................................................................66
3.5 Заключение.........................................................................................................................68
Глава 4. Повторение и рекурсия ................................................................................................69
4.1 Введение .............................................................................................................................69
4.2 Программирование повторяющихся операций ..............................................................69
4.3 Повторение и откат ...........................................................................................................70
4.4 Методы повторения...........................................................................................................72
4.4.1 Метод отката после неудачи .....................................................................................72
4.4.2 Метод отсечения и отката (ОО) ................................................................................78
4.4.3 Метод повтора (МП), определяемый пользователем..............................................82