Программирование. Математические основы, средства, теория
Лавров С.С.
Современное программирование излагается как искусство заставить компьютер решить задачу, возникшую перед человеком. Даны единые основания математики и программирования, краткие сведения из области графов, теории вероятностей и информации (в ее математическом толковании). Приведены основные понятия и конструкции современных языков программирования. Рассмотрен ряд вопросов теории программирования с упором на математическую семантику языковых конструкций.
Издательство: БХВ-Петербург, 2001
ISBN 5-94157-069-4
Количество страниц: 320.
Содержание книги «Программирование. Математические основы, средства, теория»:
- 7 Введение
- 9 1. Математические основы
- 9 1.1. Формальные языки
- 9 1.1.1. Неформальный взгляд на формализацию
- 14 1.1.2. Алфавиты, слова, языки
- 15 1.1.3. Структура формальных теорий
- 21 1.2. Логические формальные теории
- 21 1.2.1. Язык
- 29 1.2.2. Интерпретации
- 32 1.2.3. Две точки зрения на математику
- 35 1.2.4. Значения формул
- 37 1.2.5. Примеры
- 40 1.2.6. Выполнимость и общезначимость
- 43 1.2.7. Некоторые общезначимые формулы
- 48 1.2.8. Теоремы об истинности и общезначимости
- 55 1.3. Исчисление высказываний
- 55 1.3.1. Аксиоматика
- 56 1.3.2. Теорема о дедукции
- 58 1.3.3. Некоторые леммы о выводимости
- 60 1.3.4. Теорема о полноте
- 63 1.3.5. Другие аксиоматики исчисления высказываний
- 65 1.4. Формальные теории первого порядка
- 65 1.4.1 Аксиоматика
- 69 1.4.2. Теорема о дедукции
- 73 1.4.3. Некоторые теоремы об истинности и общезначимости
- 74 1.4.4. Непротиворечивость
- 74 1.4.5. Теоремы о выводимости
- 77 1.4.6. Теории первого порядка с равенством
- 81 1.5. Теория множеств
- 81 1.5.1. Основные понятия
- 84 1.5.2. Пары и кортежи (n-ки)
- 86 1.5.3. Отношения
- 89 1.5.4. Графы и деревья
- 94 1.5.5. Соответствия и отображения
- 97 1.5.6. Отношения порядка
- 99 1.5.7. О парадоксах теории множеств
- 106 1.5.8. Еще раз о двух математиках
- 109 1.6. Вероятности и информация
- 109 1.6.1. Случайные события
- 111 1.6.2. Случайные величины
- 112 1.6.3. Об измерении информации
- 115 1.6.4. Случайные процессы
- 118 1.7. Теория вычислимости
- 118 1.7.1. Введение
- 121 1.7.2. Язык Лисп
- 128 1.7.3. Модель арифметики
- 130 1.7.4. Моделирование машины Тьюринга
- 133 1.7.5. Семантика рекурсивных функций
- 138 1.7.6. Теория неподвижной точки
- 143 1.7.7. На общем фоне
- 144 Библиографическая справка
- 9 1.1. Формальные языки
- 145 2. Основные понятия и конструкции языков программирования
- 145 2.1. Программы
- 145 2.1.1. Данные и информация
- 146 2.1.2. Языки программирования
- 149 2.1.3. Описание синтаксиса языков
- 152 2.1.4. Описание семантики
- 153 2.2. Структуры данных
- 153 2.2.1. Простые значения и их представление
- 157 2.2.2. Составные значения и их типы
- 163 2.3. Структуры действий
- 163 2.3.1 Переменные и их объявления
- 165 2.3.2. Операции и выражения
- 167 2.3.3. Операторы и структура программы
- 174 2.3.4. Работа со ссылками
- 177 2.4. Более сложные средства
- 177 2.4.1 Процедуры
- 179 2.4.2. Алгоритмы над графами
- 182 2.4.3. Файлы и операторы для работы с ними
- 191 2.4.4. Примечания в программах
- 194 2.5. Старые новые веяния
- 194 2.5.1. О функциональном стиле программирования
- 200 2.5.2. Объектно-ориентированное программирование
- 145 2.1. Программы
- 209 3. Анализ свойств программ
- 209 3.1. Операторные схемы
- 212 3.1.1. Оценка трудоемкости алгоритмов
- 217 3.1.2. Доказательство свойств программ
- 222 3.1.3. Завершаемость алгоритмов
- 223 3.1.4. Структурированные схемы
- 226 3.1.5. Экономия памяти
- 231 3.2. Формализация семантики языков программирования
- 233 3.2.1 Модельный язык и его операционная семантика
- 236 3.2.2. Исчисление программ
- 241 3.2.3 Состояния и преобразователи состояний
- 242 3.2.4. Целые и логические выражения
- 244 3.2.5. Преобразователи состояний для операторов
- 251 3.2.6 Преобразователи предикатов
- 253 3.2.7. Преобразователи предикатов для операторов
- 262 3.2.8. Обоснование правил деривационной семантики
- 265 3.2.9. Операторные схемы, рекурсия и циклы
- 270 3.3. Денотационная семантика составных значений и указателей
- 270 3.3.1. Векторы, записи и ссылки
- 273 3.3.2 Состояния, имена, выражения
- 276 3.3.3. Объявления, генераторы и присваивания
- 279 3.3.4. Блоки
- 280 3.3.5. Простые переменные как указатели
- 282 3.3.6. Динамические типы
- 284 3.3.7. Преобразователи предикатов для присваивания
- 289 3.4. Денотационная семантика процедур и функций
- 289 3.4.1. Нерекурсивные процедуры и функции
- 294 3.4.2. Рекурсивные процедуры
- 301 3.4.3. Преобразователи предикатов для процедур
- 305 3.5. Послесловие. За что боролись?
- 209 3.1. Операторные схемы
- 307 Решения упражнений
- 315 Список литературы
Инструкция как скачать книгу Лавров С.С.: Программирование. Математические основы, средства, теория в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
Рейтинг книги:
0 голосов
149