В книrе автора из США содержится большой набор методов
проrpаммирования, которые можно рассматривать как инструментарий для
решения самых различных задач проrpаммирования. Детально представлен
процесс разработки проrpаммных систем, начиная от анализа и кончая
реализацией и тестированием. В приложении даны полные тексты
проrpaмм, решения к упражнениям.
Для инженерно-технических работников.
Author(s): Стобо Дж.
Publisher: Радио и связь
Year: 1993
Language: Russian
Pages: 366
City: Москва
Предисловие 5
Предисловие к русскому изданию 8
Глава 1. Программирование с помощью фактов 10
1.1. Объекты данных: терм 10
1.2. Полноценная программа 12
1.3. Рекурсия в структурах 16
1.4. Сопоставление структур 18
1.5. Выводы 20
Глава 2. Программирование с помощью правил........... 22
2.1. Правила 22
2.2. Терминология: процедуры, утверждения и предикаты 25
2.3. Процедурный режим: порядок согласования целей 27
2.3.1. Согласование цели ..... 28
2.3.2. Поиск для сопоставления 28
2.3.3. Отказы для целей 30
2.3.4. Генерация альтернативных ответов на вопросы 32
2.4. Прогрессирующая подстановка 37
2.5. Сеанс взаимодействия 41
2.6. Выводы 46
Глава 3. Рекурсия в правилах 47
3.1. Рекурсивные правила 47
3.2. Построение рекурсивных структур 49
3.3. Нотация для списков 54
3.4. Разработка процедур посредством анализа состояний 58
3.5. Еще один метод разработки процедур 68
3.6. Списки и структурирование данных 72
3.7. Выводы 76
Глава 4. Операция над термами..... 78
4.1. Арифметические операции 78
4.2. Операции сравнения 80
4.3. Операции проверки типа 83
4.4. Операции конструирования термов 91
4.5. Проверка термов иа равенство 97
4.6. Выводы 101
Глава 5. Ввод и вывод ..102
5.1. Ввод и вывод термов 102
5.2. Возможности более гибкого ввода и вывода 108
5.2.1. Определение оператора 108
5.2.2. Ввод и вывод символов 118
5.3. Работа с файлами 121
5.4. Выводы 125
Глава 6. Управление выполнением программ 126
6.1. Сокращение поиска: "отсечение" 126
6.1.1. Предотвращение бесполезных попыток поиска 128
6.1.2. Обеспечение взаимной исключительности 130
6.2. Вынуждаемый возврат и повторение: предикаты fail и repeat 137
6.3. Другие средства, предназначенные для управления 145
6.3.1. Выражение альтернатив 145
6.3.2. Комбинация отсечения и предиката fail 148
6.4. Выводы 150
Глава 7. Программы как данные 152
7.1. Модификация утверждений программы 153
7.1.1. Управление базой данных 155
7.1.2. Накопление результатов с помощью вынуждаемого возврата . 159
7.1.3. Глобальные переменные 165
7.2. Метапрограммироваиие 167
7.2.1 Метапрограммироваиие и программные структуры 168
7.2.2. Интерпретатор Пролога на Прологе 171
7.3. Выводы 176
Глава 8. Грамматические правила 177
8.1. НС-грамматика 177
8.2. Грамматика, определяемая утверждениями 181
8.2.1. Согласование по роду, лицу и числу 186
8.2.2. Поверхностная и глубинная структура 190
8.3. Включение словаря 193
8.4. Прагматические аспекты построения синтаксических анализаторов 195
8.5. Выводы 204
Глава 9. Тестирование, отладка и документирование 206
9.1. Тестирование 206
9.2. Отладка 210
9.3. Расширенный интерпретатор для отладки 217
9.4. Документирование 228
9.5. Выводы 231
Глава 10. Написание процедуры и программ 234
Глава 11. Система решения задач 234
11.1. Требования к системе 234
11.2. Алгоритм решения задач 235
11.2.1. I (редставленне состояния задачи 235
11.2.2. Представление методов решения задачи 237
11.2.3. Алгоритм планирования 239
11.3. Программа, удовлетворяющая системным ограничениям 242
11.3.1. Настройка подцели ?- начальное_состояние (Si) 243
11.3.2. Настройка подцели ?- разработкаплана (задача, Si, План, Sf) 243
11.3.3. Нстройка подцели ?- подтверждепие_плана (План ) 247
11.3.4. Настройка подцели: ?- модификация_состоянин (Sf) 247
11.4. Тестирование и реализация программы 248
11.4.1. Поиск ошибок 249
11.4.2. Исправление программы 254
11.4.3. Настройка представления знаний 257
11.4.4. Добавление новых действий 259
11.5. Дальнейшее развитие программы 271
11.5.1. Переменные в целях 271
11.5.2. Ограничения алгоритма планирования 272
11.6. Заключительные замечания 273
Глава 12. Электронный дневник 275
12.1. Требования к системе 275
12.2. Проект системы 277
12.3. Реализация 282
12.3.1. Календарь 283
12.3.2. Представление данных правилами 292
12.3.3. Обработка файла 293
12.3.4. Ввод данных 294
12.3.5. Управление дневником 306
12.4. Расширение системы 311
12.4.1. Другие виды нагрузок 312
12.4.2. Другие операции с дневником 312
Приложение 1. Текст окончательной версии программы, реализующей систему решения задач 315
Приложение 2. Текст окончательной версии программы, реализующей систему электронного дневника 328
Приложение 3. Стандарт языка Пролог 347
Приложение 4. Ответы к упражнениям 349
Приложение 5. Список символов кода Ascii 365
Список литературы 365