1. Э. Мендельсон. Введение в математическую логику. «Наука», 1971.
2. Ц. Ин, Д. Соломон. Использование Турбо-Пролога «Мир», 1993.
3. И. Братко. Программирование на языке Пролог для искусственного интеллекта. «Мир», 1990.
4. Дж. Стобо. Язык программирования Пролог. «Радио и связь», 1993.
Оглавление
ГЛАВА 1. ВВЕДЕНИЕ В ПРОЛОГ................................................................................ 1
1. Декларативные и процедурные языки программирования 1
2. Пролог и логика предикатов. Внешние цели................................ 1
3. Управление программой. Подцели. Механизм сопоставления................................................................................................ 3
4. ВНУТРЕННИЕ ПОДПРОГРАММЫ УНИФИКАЦИИ..................................... 5
ГЛАВА 2. ВНУТРЕННИЕ ЦЕЛИ. МЕХАНИЗМ ВОЗВРАТА................................... 9
1. СТРУКТУРА ПРОЛОГ-ПРОГРАММЫ............................................................... 9
2. ИСПОЛЬЗОВАНИЕ ВНУТРЕННИХ ЦЕЛЕЙ.................................................... 10
3. ВСТРОЕННЫЙ ПРЕДИКАТ FAIL....................................................................... 11
4. СОКРАЩЕННЫЕ ВАРИАНТЫ ВНУТРЕННИХ ЗАПРОСОВ........................ 11
5. Использование в запросах анонимных переменных......... 12
6. МЕХАНИЗМ ВОЗВРАТА..................................................................................... 12
ГЛАВА 3. ТИПЫ ДАННЫХ И АРИФМЕТИКА Turbo Prolog ........................ 16
1. СТАНДАРТНЫЕ ТИПЫ ДАННЫХ.................................................................... 16
2. СТРУКТУРЫ, ПРОСТЫЕ И СОСТАВНЫЕ....................................................... 17
3. СТРУКТУРНЫЕ ДИАГРАММЫ......................................................................... 18
4. ИСПОЛЬЗОВАНИЕ В ЗАПРОСАХ АНОНИМНЫХ ПЕРЕМЕННЫХ.......... 19
5. ИСПОЛЬЗОВАНИЕ АЛЬТЕРНАТИВНЫХ ДОМЕНОВ.................................. 20
6. АРИФМЕТИКА В Turbo Prolog......................................................................... 21
ГЛАВА 4. ПРЕДИКАТ ОТСЕЧЕНИЯ (!). ПРОГРАММИРОВАНИЕ АЛЬТЕРНАТИВ. ПРАВИЛА ПОВТОРА................................................ 23
1. ПОВТОРЕНИЯ И ВОЗВРАТЫ............................................................................. 23
2. ОТСЕЧЕНИЕ (!)...................................................................................................... 24
3. ПРОГРАММИРОВАНИЕ АЛЬТЕРНАТИВ....................................................... 25
4. ПРАВИЛО ПОВТОРА........................................................................................... 28
ГЛАВА 5. МЕТОДЫ ОРГАНИЗАЦИИ РЕКУРСИИ................................................ 32
1. ПРОСТАЯ РЕКУРСИЯ.......................................................................................... 32
2. МЕТОД ОБОБЩЕННОГО ПРАВИЛА РЕКУРСИИ.......................................... 32
3. ГРАНИЧНОЕ УСЛОВИЕ РЕКУРСИИ. НИСХОДЯЩАЯ И ВОСХОДЯЩАЯ РЕКУРСИИ.............................................................................................................. 36
4. ПРОГРАММА О ПОДСЧЕТЕ ЧИСЛА ТОЧЕК.................................................. 37
ГЛАВА 6. СПИСКИ....................................................................................................... 40
1. ОСНОВНЫЕ ПОНЯТИЯ....................................................................................... 40
2. СПИСКИ И ТУРБО-ПРОЛОГ.............................................................................. 40
3. АТРИБУТЫ СПИСКА........................................................................................... 41
4. ВНУТРЕННЕЕ ПРЕДСТАВЛЕНИЕ СПИСКОВ................................................. 41
5. ПРИМЕНЕНИЕ СПИСКОВ В ПРОГРАММЕ.................................................... 43
6. МЕТОД РАЗДЕЛЕНИЯ СПИСКА НА ГОЛОВУ И ХВОСТ.............................. 45
7. ПОИСК ЭЛЕМЕНТА В СПИСКЕ......................................................................... 46
8. ПРИСОЕДИНЕНИЕ СПИСКА............................................................................. 48
9. ДОБАВЛЕНИЕ И УДАЛЕНИЕ ЭЛЕМЕНТА...................................................... 50
10. ПОДСПИСОК....................................................................................................... 51
11. ПЕРЕСТАНОВКИ СПИСКА.............................................................................. 51
ГЛАВА 7. СОРТИРОВКА СПИСКОВ........................................................................ 53
1. РАЗДЕЛЕНИЕ СПИСКА НА ДВА....................................................................... 53
2. СОРТИРОВКА СПИСКОВ МЕТОДОМ ВСТАВКИ.......................................... 54
3. БЫСТРАЯ СОРТИРОВКА.................................................................................... 56
4. БЫСТРАЯ СОРТИРОВКА_ 1................................................................................ 56
5. КОМПОНОВКА ДАННЫХ В СПИСОК............................................................. 59
ГЛАВА 8. ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ С ВОЗВРАТОМ. ПРЕДСТАВЛЕНИЕ ГРАФОВ В TURBO PROLOG................................ 61
1. ЗАДАЧА О ВЕСАХ................................................................................................ 61
2. ПРЕДСТАВЛЕНИЕ ГРАФОВ В TURBO PROLOG............................................ 65
3. ПОИСК ПУТИ НА НЕОРИЕНТИРОВАННОМ ГРАФЕ................................... 66
4. ПОИСК ГАМИЛЬТОНОВЫХ ЦИКЛОВ............................................................ 69
5. ПОИСК ПУТИ МИНИМАЛЬНОЙ СТОИМОСТИ............................................ 71
ГЛАВА 9. ДИНАМИЧЕСКАЯ БАЗА ДАННЫХ....................................................... 75
1. ТУРБО-ПРОЛОГ И РЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ.................................. 75
2. ОПИСАНИЕ ПРЕДИКАТОВ ДИНАМИЧЕСКИХ БД....................................... 75
3. ВСТРОЕННЫЕ ПРЕДИКАТЫ ASSERTA, ASSERTZ, RETRACT, RETRACTALL, SAVE, CONSULT......................................................................... 76
4. СОЗДАНИЕ ДИНАМИЧЕСКОЙ БАЗЫ ДАННЫХ........................................... 79
5. ОБСУЖДЕНИЕ ПРОЕКТА БАЗЫ ДАННЫХ.................................................... 79
6. СОЗДАНИЕ БАЗЫ ДАННЫХ.............................................................................. 80
7. НАПИСАНИЕ ПРОГРАММНЫХ МОДУЛЕЙ.................................................. 81
ГЛАВА 10. ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ В TURBO PROLOG.......................... 91
1. МОДИФИКАЦИЯ БАЗЫ ДАННЫХ................................................................... 91
2. НАКОПЛЕНИЕ РЕЗУЛЬТАТОВ С ПОМОЩЬЮ ВЫНУЖДАЕМОГО ВОЗВРАТА.............................................................................................................. 91
3. ПОДСЧЕТ ЧЛЕНОВ ПАРТОРГАНИЗАЦИИ..................................................... 92
4. ПОИСК ПУТИ МИНИМАЛЬНОЙ СТОИМОСТИ ОТ A ДО Z......................... 95
библиографический список.......................................................................... 99