Теория вычислений для программистов

Стюарт Том

Код товара: 1848549
(0 оценок)Оценить
ОтзывНаписать отзыв
ВопросЗадать вопрос
1 / 2
PDF
1 178
1 812
Доставим в
г. Москва
Планируемая дата
9 мая (Чт)
Курьером
Л-Пост
бесплатно от 10 000 ₽
В пункт выдачи
от 155 ₽
бесплатно от 10 000 ₽
Точная стоимость доставки рассчитывается при оформлении заказа
Издательство:
Оригинальное название:
Understanding Computation
Год издания:
2016 г.
Может быть отгружен товар указанного или более позднего года
Редактор:
Переводчик:

Отмечено тегами

Описание

Характеристики

Наконец-то появился увлекательный и практичный способ изучать теорию вычислений и проектирование языков программирования!
В этой книге теоретическая информатика излагается в хорошо знакомом вам контексте, что поможет оценить, почему ее идеи важны и как они отражаются на том, чем программист изо дня в день занимается на работе.
Вместо математической нотации или незнакомого академичного языка программирования типа Haskell или Lisp в этой книге для объяснения формальной семантики, теории автоматов и функционального программирования вкупе с лямбда-исчислением применяется язык Ruby, сведенный к минимуму.
Издание предназначено для программистов любой квалификации, знакомых хотя бы с одним из современных языков, но не имеющих формальной подготовки в информатике.
количество томов
1
количество страниц
384 стр.
переплет
Мягкая обложка
размеры
210x140x20 мм
страна изготовления
Россия
цвет
Белый
тип бумаги
офсетная (60-220 г/м2)
наличие иллюстраций
рисунки
тип иллюстраций
черно-белые
формат
60x88/16 (140x205 мм)
ISBN
978-5-94074-979-0, 978-5-97060-237-9
тираж
200 экз.
стандарт
возрастная категория
18+ (нет данных)
вес
код в Майшоп
1848549
язык
русский

Содержание

Предисловие
Для кого предназначена эта книга
Графические выделения
О примерах кода
Как с нами связаться
Благодарности
Глава 1. Все, что нужно знать о Ruby
Интерактивная оболочка Ruby
Значения
Простые данные
Структуры данных
Процедуры
Поток управления
Объекты и методы
Классы и модули
Прочее
Локальные переменные и присваивание
Строковая интерполяция
Инспектирование объектов
Печать строк
Методы с переменным числом аргументов
Блоки
Модуль Enumerable
Класс Struct
Партизанское латание
Определение констант
Удаление констант
Часть I. ПРОГРАММЫ И МАШИНЫ
Глава 2. Семантика программ
В чем смысл слова "смысл"?
Синтаксис
Операционная семантика
Семантика мелких шагов
Выражения
Предложения
Корректность
Приложения
Семантика крупных шагов
Выражения
Предложения
Приложения
Денотационная семантика
Выражения
Предложения
Сравнение способов определения семантики
Приложения
Формальная семантика на практике
Формализм
Поиск смысла
Альтернативы
Реализация синтаксических анализаторов
Глава 3. Простейшие компьютеры
Детерминированные конечные автоматы
Состояния, правила и входной поток
Вывод
Детерминированность
Моделирование
Недетерминированные конечные автоматы
Недетерминированность
Свободные переходы
Регулярные выражения
Синтаксис
Семантика
Синтаксический анализ
Эквивалентность
Минимизация ДКА
Глава 4. Кое-что помощнее
Детерминированные автоматы с магазинной
памятью
Память
Правила
Детерминированность
Моделирование
Недетерминированные автоматы с магазинной
памятью
Моделирование
Неэквивалентность
Разбор с помощью автоматов с магазинной
памятью
Лексический анализ
Синтаксический анализ
Применение на практике
Насколько мощнее?
Глава 5. Окончательная машина
Детерминированные машины Тьюринга
Память
Правила
Детерминированность
Моделирование
Недетерминированные машины Тьюринга
Максимальная мощность
Внутренняя память
Подпрограммы
Несколько лент
Многомерная лента
Машины общего назначения
Кодирование
Моделирование
Часть II. ВЫЧИСЛЕНИЯ И ВЫЧИСЛИМОСТЬ
Глава 6. Программирование на пустом месте
Имитация лямбда-исчисления
Работа с процедурами
Задача
Числа
Булевы значения
Предикаты
Пары
Операции над числами
Списки
Строки
Решение
Более сложные приемы программирования
Реализация лямбда-исчисления
Синтаксис
Семантика
Синтаксический разбор
Глава 7. Универсальность повсюду
Лямбда-исчисление
Частично рекурсивные функции
SKI-исчисление
Iota
Таг-системы
Циклические таг-системы
Игра "Жизнь" Конвея
Правило 110
Вольфрамова 2,3 машина Тьюринга
Глава 8. Невозможные программы
Факты как они есть
Универсальные системы могут выполнять
алгоритмы
Программы могут замещать машины Тьюринга
Код - это данные
Универсальные системы могут зацикливаться
Программы могут ссылаться сами на себя
Разрешимость
Проблема остановки
Построение анализатора остановки
Это никогда работать не будет
Другие неразрешимые проблемы
Печальные следствия
Почему так происходит?
Жизнь в условиях невычислимости
Глава 9. Программирование в игрушечной
стране
Абстрактная интерпретация
Планирование маршрута
Абстракция: умножение знаков
Аппроксимация и безопасность: сложение знаков
Статическая семантика
Реализация
Достоинства и ограничения
Приложения
Послесловие
Предметный указатель

Отзывы

Вопросы

Поделитесь своим мнением об этом товаре с другими покупателями — будьте первыми!

Дарим бонусы за отзывы!

За какие отзывы можно получить бонусы?
  • За уникальные, информативные отзывы, прошедшие модерацию
Как получить больше бонусов за отзыв?
  • Публикуйте фото или видео к отзыву
  • Пишите отзывы на товары с меткой "Бонусы за отзыв"
Правила начисления бонусов
Задайте вопрос, чтобы узнать больше о товаре
Если вы обнаружили ошибку в описании товара «Теория вычислений для программистов» (авторы: Стюарт Том), то выделите её мышкой и нажмите Ctrl+Enter. Спасибо, что помогаете нам стать лучше!
Ваш населённый пункт:
г. Москва
Выбор населённого пункта