Перевод с англ. Н.Г. Волченкова, С.Г. Григорьева. Под редакцией
Н.Г. Волченкова. — М.: Радио и Связь, 1993. — 368 с.: ил. — ISBN
5-256-00921-4.
В книге автора из США содержится большой набор методов
программирования, которые можно рассматривать как инструментарий
для решения самых различных задач программирования. Детально
представлен процесс разработки программных систем, начиная от
анализа и кончая реализацией и тестированием. В приложении даны
полные тексты программ, решения к упражнениям.
Для инженерно-технических работников. Предисловие
Предисловие к русскому изданию
Программирование с помощью фактов
Объекты данных: терм
Полноценная программа
Рекурсия в структурах
Сопоставление структур
Выводы
Программирование с помощью правил
Правила
Терминология: процедуры, утверждения и предикаты
Процедурный режим: порядок согласования целей
Согласование цели
Поиск для сопоставления
Отказы для целей
Генерация альтернативных ответов на вопросы
Прогрессирующая подстановка
Сеанс взаимодействия
Выводы
Рекурсия в правилах
Рекурсивные правила
Построение рекурсивных структур
Нотация для списков
Разработка процедур посредством анализа состояний
Еще один метод разработки процедур
Списки и структурирование данных
Выводы
Операция над термами
Арифметические операции
Операции сравнения
Операции проверки типа
Операции конструирования термов
Проверка термов на равенство
Выводы
Ввод и вывод
Ввод и вывод термов
Возможности более гибкого ввода и вывода
Определение оператора
Ввод и вывод символов
Работа с файлами
Выводы
Управление выполнением программ
Сокращение поиска: "отсечение"
Предотвращение бесполезных попыток поиска
Обеспечение взаимной исключительности
Вынуждаемый возврат и повторение: предикаты fail и repeat
Другие средства, предназначенные для управления
Выражение альтернатив
Комбинация отсечения и предиката fail
Выводы
Программы как данные
Модификация утверждений программы
Управление базой данных
Накопление результатов с помощью вынуждаемого возврата
бальные переменные
Метапрограммирование
Метапрограммирование и программные структуры
Интерпретатор Пролога на Прологе
Выводы
Грамматические правила
НС-грамматика
Грамматика, определяемая утверждениями
Согласование по роду, лицу и числу
Поверхностная и глубинная структура
Включение словаря
Прагматические аспекты построения синтаксических анализаторов
Выводы
Тестирование, отладка и документирование
Тестирование
Отладка
Расширенный интерпретатор для отладки
Документирование
Выводы
Написание процедуры и программ
Система решения задач
Требования к системе
Алгоритм решения задач
Представление состояния задачи
Представление методов решения задачи
Алгоритм планирования
Программа, удовлетворяющая системным ограничениям
Настройка подцели ?- начальное_состояние(Si)
Настройка подцели ?- разработка_плана(Задача, Si, План, Sf)
Настройка подцели ?- подтверждение_плана(План)
Настройка подцели ?- модификация_состояния(Sf)
Тестирование и реализация программы
Поиск ошибок
Исправление программы
Настройка представления знаний
Добавление новых действий
Дальнейшее развитие программы
Переменные в целях
Ограничения алгоритма планирования
Заключительные замечания
Электронный дневник
Требования к системе
Проект системы
Реализация
Календарь
Представление данных правилами
Обработка файла
Ввод данных
Управление дневником
Расширение системы
Другие виды нагрузок
Другие операции с дневником
Приложения
Текст окончательной версии программы, реализующей систему решения задач
Текст окончательной версии программы, реализующей систему электронного дневника
Стандарт языка Пролог
Ответы к упражнениям
Список символов кода Ascii
Список литературы
Для инженерно-технических работников. Предисловие
Предисловие к русскому изданию
Программирование с помощью фактов
Объекты данных: терм
Полноценная программа
Рекурсия в структурах
Сопоставление структур
Выводы
Программирование с помощью правил
Правила
Терминология: процедуры, утверждения и предикаты
Процедурный режим: порядок согласования целей
Согласование цели
Поиск для сопоставления
Отказы для целей
Генерация альтернативных ответов на вопросы
Прогрессирующая подстановка
Сеанс взаимодействия
Выводы
Рекурсия в правилах
Рекурсивные правила
Построение рекурсивных структур
Нотация для списков
Разработка процедур посредством анализа состояний
Еще один метод разработки процедур
Списки и структурирование данных
Выводы
Операция над термами
Арифметические операции
Операции сравнения
Операции проверки типа
Операции конструирования термов
Проверка термов на равенство
Выводы
Ввод и вывод
Ввод и вывод термов
Возможности более гибкого ввода и вывода
Определение оператора
Ввод и вывод символов
Работа с файлами
Выводы
Управление выполнением программ
Сокращение поиска: "отсечение"
Предотвращение бесполезных попыток поиска
Обеспечение взаимной исключительности
Вынуждаемый возврат и повторение: предикаты fail и repeat
Другие средства, предназначенные для управления
Выражение альтернатив
Комбинация отсечения и предиката fail
Выводы
Программы как данные
Модификация утверждений программы
Управление базой данных
Накопление результатов с помощью вынуждаемого возврата
бальные переменные
Метапрограммирование
Метапрограммирование и программные структуры
Интерпретатор Пролога на Прологе
Выводы
Грамматические правила
НС-грамматика
Грамматика, определяемая утверждениями
Согласование по роду, лицу и числу
Поверхностная и глубинная структура
Включение словаря
Прагматические аспекты построения синтаксических анализаторов
Выводы
Тестирование, отладка и документирование
Тестирование
Отладка
Расширенный интерпретатор для отладки
Документирование
Выводы
Написание процедуры и программ
Система решения задач
Требования к системе
Алгоритм решения задач
Представление состояния задачи
Представление методов решения задачи
Алгоритм планирования
Программа, удовлетворяющая системным ограничениям
Настройка подцели ?- начальное_состояние(Si)
Настройка подцели ?- разработка_плана(Задача, Si, План, Sf)
Настройка подцели ?- подтверждение_плана(План)
Настройка подцели ?- модификация_состояния(Sf)
Тестирование и реализация программы
Поиск ошибок
Исправление программы
Настройка представления знаний
Добавление новых действий
Дальнейшее развитие программы
Переменные в целях
Ограничения алгоритма планирования
Заключительные замечания
Электронный дневник
Требования к системе
Проект системы
Реализация
Календарь
Представление данных правилами
Обработка файла
Ввод данных
Управление дневником
Расширение системы
Другие виды нагрузок
Другие операции с дневником
Приложения
Текст окончательной версии программы, реализующей систему решения задач
Текст окончательной версии программы, реализующей систему электронного дневника
Стандарт языка Пролог
Ответы к упражнениям
Список символов кода Ascii
Список литературы