Программирование. Математические основы, средства, теория

Лавров С.С.

Современное программирование излагается как искусство заставить компьютер решить задачу, возникшую перед человеком. Даны единые основания математики и программирования, краткие сведения из области графов, теории вероятностей и информации (в ее математическом толковании). Приведены основные понятия и конструкции современных языков программирования. Рассмотрен ряд вопросов теории программирования с упором на математическую семантику языковых конструкций.

Издательство: БХВ-Петербург, 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 Библиографическая справка
  • 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. Объектно-ориентированное программирование
  • 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. Послесловие. За что боролись?
  • 307 Решения упражнений
  • 315 Список литературы

Инструкция как скачать книгу Лавров С.С.: Программирование. Математические основы, средства, теория в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
Программирование. Математические основы, средства, теория
Рейтинг книги:
0 голосов
149

Поиск книг:




При поиске учитываются только слова, длина которых больше 3-х символов.

Статистика: