Эта книга — попытка предоставить качественную пищу для ума начинающим программистам, желающим достичь высот мастерства. Вы не найдете в ней описаний конкретных языков программирования вроде Pascal или C++, не встретите руководств по созданию библиотек DLL и системных служб. Зато к вашим услугам семь глав, охватывающих самые разнообразные логические направления программирования, масса интересных теоретических материалов и готовых к использованию листингов, а также «проекты для самосовершенствования» — идеи для досуга с компьютером.
Приятного чтения!
СодержаниеПредисловие 6
О выборе языка 6
О структуре книги 7
Благодарности 8
От издательства 9
Глава 1. Компьютерное моделирование 10
Модель 1. «Молекула газа в закрытом сосуде» 11
Модель 2. «Идеальный газ» 17
Модель 3. «Броуновское движение» 20
Модель 4. «Равновесие» (второе начало термодинамики) 24
Модель 5. «Падающий шар» 27
Модель 6. «Солнечная система» 30
Модель 7. «Экспериментальное определение числа л» 34
Модель 8. «Жизнь» 37
Модель 9. «Жизнь» Джона Конуэя 41
Модель 10. «Черепашья графика» 45
Модель 11. «Конечный автомат» 48
Проекты для самосовершенствования 50
Глава 2. Анимация и графические эффекты 53
Движение объектов 54
Вертикальная развертка и двойная буферизация 54
Синхронизация с таймером 57
Простые спрайты 59
Многокадровые спрайты 62
Скроллинг 64
Графические эффекты 66
«Затухание» 67
Красивая смена фона 70
Составление картинки из точек 72
Проекты для самосовершенствования 75
Глава 3. Трехмерная графика 76
Представление трехмерных объектов в памяти 76
Операции над трехмерными объектами 79
Отображение трехмерных объектов на экране 86
Проекты для самосовершенствования 90
Глава 4. Лабиринты 92
Представление лабиринтов в памяти 92
Решение лабиринта 98
Рекурсивный обход 99
Алгоритм волновой трассировки 104
Генерация лабиринтов 107
Алгоритм Прима 108
Алгоритм Краскала 111
Проекты для самосовершенствования 115
Глава 5. Сжатие данных 117
Немного теории 118
Моделирование и кодирование 122
Статическая, полуадаптивная и адаптивная схемы сжатия 123
Кодирование методом Хаффмана 125
Арифметическое кодирование 130
Принципы моделирования 134
Основные идеи 135
Замена алфавита 136
Контекстное моделирование 138
Предиктивное моделирование 142
Проекты для самосовершенствования 144
Глава 6. Алгоритмы на графах 145
Понятие графа 146
Задача Прима—Краскала (о телефонной сети) 146
Алгоритм Дейкстры 153
Методы поиска на графах 157
Игра в 8 и поиск маршрута на карте 157
Неинформированные методы поиска 159
Информированные методы поиска 168
Проекты для самосовершенствования 174
Глава 7. Простые компьютерные игры 175
Сапер (Minesweeper) 175
Сокобан (Sokoban) 181
Удав (Snake) 187
Тетрис (Tetris) 194
Проекты для самосовершенствования 206
Послесловие 208
Год: 2005
Автор: Мозговой М.В.
Формат: PDF
Страниц: 208
Язык: русский
Размер: 11.7 Мб
Скачать Самоучитель. Занимательное программирование