- •Дж. Малпас
- •Предисловие редактора перевода
- •Предисловие Круг читателей, для которого предназначена данная книга
- •Темы, освещаемые в книге
- •Примеры текстов программ
- •Показательный пример
- •Как ориентироваться в материале данной книги
- •Введение Зачем нужно изучать Пролог?
- •Взгляд на мир, навязываемый языком программирования
- •Выражения признательности
Дж. Малпас
РЕЛЯЦИОННЫЙ ЯЗЫК ПРОЛОГ И ЕГО ПРИМЕНЕНИЕ
Перевод с английского А. А. ТИТОВА Под редакцией В Н. СОБОЛЕВА
МОСКВА "НАУКА" ГЛАВНАЯ РЕДАКЦИЯ
ФИЗИКО-МАТЕМАТИЧЕСКОЙ ЛИТЕРАТУРЫ 1990
ОГЛАВЛЕНИЕ
|
Предисловие редактора перевода. |
|
Предисловие. |
|
Введение. |
|
Глава 0. Логика, логическое программирование и Пролог. |
|
0.1. Знакомство с логическим программированием. |
|
0.2. Традиционная логика. |
|
0.3. Начальный период развития формальной логики. |
|
0.4. Логика высказываний. |
|
0.5 Логика предикатов. |
|
0.6. От формальной логики - к логическому программированию. |
|
0.7. Развитие языка Пролог. |
|
0.8. Синтаксис языка Пролог. |
|
0.9. Фразы Хорна как средство представления знаний. |
|
0.10. Семантика Пролога. |
|
0.11. Метаязык / объектный язык. |
|
0.12. Сферы применения языка Пролог. |
|
Библиографические заметки. |
|
Глава 1. Факты и правила. |
|
1.1. Использование языка Пролог. |
|
1.2. Факты. |
|
1.3. Запросы к базе данных. |
|
1.4. Правила. |
|
1.5. Процедуры. |
|
1.6. Рекурсивные процедуры. |
|
1.7. Типы отношений. |
|
Библиографические заметки. |
|
Упражнения. |
|
Глава 2. Арифметика и структуры данных. |
|
2.1. Арифметика. |
|
2.2. Структуры данных. |
|
2.3. Списки. |
|
2.4. Процедуры, выполняющие действия со списками. |
|
2.5. Способы представления базы данных. |
|
Библиографические заметки. |
|
Упражнения. |
|
Глава 3. Управление ходом выполнения программы. |
|
3.1. Как выполняется запрос в Прологе. |
|
3.2. Предикат «сократить». |
|
3.3. Отрицание как неудача запроса. |
|
3.4. Встроенные предикаты, предназначенные для обеспечения ввода-вывода. |
|
3.5. Встроенные предикаты, предназначенные для управления файлами. |
|
3.6. Проверка типа терма. |
|
3.7. Действия с текущей программой. |
|
3.8. Компараторы. |
|
3.9. Прочие встроенные предикаты. |
|
3.10. Операции. |
|
3.11. Преобразование процедурного алгоритма в программу на языке Пролог. |
|
Библиографические заметки. |
|
Упражнения. |
|
Глава 4. Подходы к программированию на языке Пролог. |
|
Введение. |
|
4.1. Реляционный подход. |
|
4.2. Взгляд на программу с точки зрения потока данных. |
|
4.3. Бихевиористический подход. |
|
Библиографические заметки. |
|
Упражнения. |
|
Глава 5. Обработка текста. |
|
Введение. |
|
5.1. Лексический анализатор. |
|
5.2. Система нисходящего грамматического разбора. |
|
5.3. Система восходящего грамматического разбора. |
|
5.4. Конвертер программ с DEC-10 Пролога на микро-Пролог. |
|
5.5. Язык запросов. |
|
Библиографические заметки. |
|
Упражнения. |
|
Глава 6. Представление знаний. |
|
6.1. Представление знаний при помощи Пролога. |
|
6.2. Семантические сети. |
|
6.3. Фреймы. |
|
6.4. Объектно-ориентированное программирование. |
|
6.5. Механизм наследования в Прологе. |
|
6.6. Программа, выполняющая запросы к базе данных. |
|
6.7. Описание изменений базы данных. |
|
Библиографические заметки. |
|
Упражнения. |
|
Глава 7. Экспертные консультации. |
|
7.1. Системы экспертных консультаций. |
|
7.2. Запоминание пути вывода. |
|
7.3. Видимый Пролог. |
|
7.4. Интерпретатор, обнаруживающий циклы. |
|
7.5. Заключение: стиль программирования на Прологе. |
|
Библиографические заметки. |
|
Упражнения. |
|
Приложения. |
|
I. Основная терминология. |
|
II. Полезные программы. |
|
III. Показательный пример. Программа планирования работы завода. |
|
IV. Версии языка Пролог. |
|
V. Ответы к упражнениям. |
|
Дополнение. |
|
1. Встроенные предикаты, предназначенные для работы с окнами. |
|
2. Перечень встроенных предикатов, предназначенных для работы с графическим интерфейсом фирмы Борлэнд (BGI). |
|
Список литературы. |
|
Предметный указатель. |
