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