Благодаря семи проектам на Python, представленным в этой книге, вы сможете получить представление о некоторых фундаментальных принципах в области информатики. В каждой главе автор пошагово описывает завершенный проект, раскрывающий один из конкретных аспектов программирования, не прибегая к сложной математике и запутанному коду.
Издание адресовано программистам на языке Python среднего и продвинутого уровней, желающим закрепить знания и заполнить возможные пробелы в образовании.

Что определяет полноту языка по Тьюрингу?
Язык программирования считается полным по Тьюрингу (Turing-complete) в том случае, если он может имитировать машину Тьюринга -абстрактную модель, способную реализовывать любой компьютерный алгоритм1. Чтобы получить представление о машине Тьюринга, вообразите ленту неограниченной длины с разбивкой на ячейки, которые либо пусты, либо содержат символ. Затем представьте головку, которая может считывать или записывать символ в ячейке, в том числе и удалять его. Представьте, что головка может перемещаться влево или вправо по одной ячейке за один раз. Наконец, представьте, что она может записывать или перемещаться в зависимости от прочитанного значения, то есть что она может ветвиться. Другими словами, головка следует некоторым простым правилам, которые можно рассматривать как программу, в которой, по сути, говорится: «Если прочитано это значение, запиши другое значение. Если прочитано определенное значение, нужно переместиться влево на одну ячейку».
Вот и все. Этого достаточно, чтобы реализовать любой вычислительный алгоритм. Как следствие любой язык программирования, который может имитировать эту функциональность - даже такой простой язык, как Brainfuck, может использоваться для решения реальных задач. На рис. 1.1 показана гипотетическая машина Тьюринга.
ОГЛАВЛЕНИЕ.
От издательства.
Благодарности.
Введение.
Часть I ИНТЕРПРЕТАТОРЫ.
Глава 1. Минимально возможный язык программирования.
Что такое Brainfuck?.
Что определяет полноту языка по Тьюрингу?.
Как работает Brainfuck.
Структура интерпретатора.
Реализация Brainfuck на Python.
Получение исходного файла.
Создание интерпретатора.
Запуск интерпретатора.
Тестирование интерпретатора.
Практические приложения.
Упражнения.
Глава 2. Создание интерпретатора языка BASIC.
Основы NanoBASIC.
История BASIC.
Парадигма, синтаксис и семантика NanoBASIC.
Операторы GOTO, GOSUB и RETURN.
Стиль и особенности NanoBASIC.
Пример программы NanoBASIC.
Формализация синтаксиса NanoBASIC.
Реализация NanoBASIC.
Токенизатор.
Узлы.
Ошибки.
Парсер.
Среда выполнения.
Запуск программы.
Тестирование NanoBASIC.
Практические приложения.
Упражнения.
Часть II ИСКУССТВО И ВЫЧИСЛЕНИЯ.
Глава 3. Ретрообработка изображений.
Что такое дизеринг?.
Начало работы.
Алгоритм дизеринга.
Файловый формат MacPaint.
Преобразование байтов в биты.
Реализация кодирования по длине последовательности.
Тестирование кодирования по длине последовательности.
Преобразование в MacBinary.
Сведение всего воедино.
Результаты.
Практические приложения.
Упражнения.
Глава 4. Стохастический алгоритм живописи.
Как это работает.
Опции командной строки.
Формат SVG.
Алгоритм.
Основная реализация.
Настройка.
Вспомогательные методы.
Пробы.
Вывод изображения.
Результаты.
Практические приложения.
Упражнения.
Часть III ЭМУЛЯТОРЫ.
Глава 5. Создание виртуальной машины CHIP-8.
Виртуальные машины.
Виртуальная машина CHIP-8.
Регистры и память.
Инструкции.
Реализация.
Цикл выполнения.
Аргументы командной строки.
Настройка VM и вспомогательные функции.
Графика.
Выполнение инструкций.
Тестирование VM.
Запуск игр.
Практические приложения.
Упражнения.
Глава 6. Эмуляция игровой консоли NES.
О платформе NES.
Аппаратная платформа.
Программное обеспечение.
Создание эмулятора.
Планирование структуры.
Создание главного цикла.
Эмуляция картриджа.
Эмуляция центрального процессора.
Принципы работы PPU.
Реализация PPU.
Тестирование эмулятора.
Игровой процесс.
Практические приложения.
Упражнения.
Часть IV ОЧЕНЬ ПРОСТОЕ МАШИННОЕ ОБУЧЕНИЕ.
Глава 7. Классификация с помощью k-ближайших соседей.
Становление машинного обучения.
Как работает KNN.
Реализация классификации с помощью KNN.
Классификация рыб.
Классификация рукописных цифр.
Практические приложения.
Упражнения.
Глава 8. Регрессия с помощью k ближайших соседей.
Как работает регрессия KNN.
Реализация регрессии с помощью KNN.
Прогнозирование веса рыб.
Прогнозирование недостающей части рукописной цифры.
Практические приложения.
Упражнения.
Послесловие.
Что мы сделали и что будет дальше.
Об изучении компьютерных технологий.
Интерпретаторы.
Компьютерное изобразительное искусство.
Эмуляторы.
Машинное обучение.
Приложение. Побитовые операции.
Обзор двоичной системы счисления.
Распространенные побитовые операции.
Сдвиг влево (<<).
Сдвиг вправо (>>).
ИЛИ (|).
И (&).
XOR (^).
Дополнение (~).
Предметный указатель.
Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Python для профи, Интерпретаторы, эмуляторы, графика и машинное обучение, Копек Д., 2026 - fileskachat.com, быстрое и бесплатное скачивание.
Скачать pdf
Ниже можно купить эту книгу, если она есть в продаже, и похожие книги по лучшей цене со скидкой с доставкой по всей России.Купить книги
Скачать - pdf - Яндекс.Диск.
Дата публикации:
Теги: учебник по программированию :: программирование :: Копек
Смотрите также учебники, книги и учебные материалы:
Следующие учебники и книги:
Предыдущие статьи:










