Открой свой мир программирования и    
цифровых технологий
Главная arrow Языки программирования, общая теория arrow Алгоритмы arrow Занимательное программирование: Самоучитель
Занимательное программирование: Самоучитель
Автор nata   
24.11.2008 г.

 

Занимательное программирование

авторы: Мозговой М. В.
название: Занимательное программирование: Самоучитель
год: 2005
размер: 9,5 Mb
 тип файла pdf

 

 

 

 

 


 

   



Эта книга — попытка предоставить качественную пищу для ума начинающим программистам, желающим достичь высот мастерства. Вы не найдете в ней описаний конкретных языков программирования вроде Pascal или C++, не встретите руководств по созданию библиотек DLL и системных служб. Даже такой интригующий вопрос, как структура заголовка HTTP-пакета, незаслуженно обойден вниманием. Зато к вашим услугам семь глав, охватывающих самые разнообразные логические направления программирования, масса интересных теоретических материалов и готовых к использованию листингов, а также «проекты для самосовершенствования» — идеи для досуга с компьютером



Первая глава является по существу сборником простых, но в то же время интересных программ, вполне посильных даже для начинающих. Многие из приведенных примеров могут быть с успехом использованы в качестве упражнений при обучении программированию вместо стандартных учебниковских задачек (порою невыносимо скучных). Большинство программ первой главы — модели, иллюстрирующие ход какого-нибудь реального процесса. Последние модели («черепашья графика», «конечный автомат») посвящены абстрактным, но очень полезным понятиям.

Вторая глава посвящена принципам создания компьютерной анимации и графических эффектов. Занимаясь компьютерной анимацией, автор сталкивался со множеством подводных камней; судя же по кое-каким вполне известным играм (разумеется, анимация чаще всего используется в компьютерных играх), многие другие тоже. О графических эффектах разговор отдельный. Вы можете рассматривать их как готовые куски кода, которые не возбраняется просто скопировать в свою программу, но главной целью книги было описание идей, что могут быть использованы и в будущем, использованы новыми разработчиками для создания эффектов, не известных доселе. Навряд ли можно придумать что-то новое, не познакомившись с тем, что уже есть и работает.

Третья глава связана с числом «три» не только потому, что она третья, но и потому, что посвящена трехмерной графике. Основные идеи этой главы — матричные вычисления, а также ортогональное и перспективное проецирование. Эти приемы останутся у вас в памяти, даже если вы забудете все остальное содержание главы.

В четвертой главе речь идет о лабиринтах. В ней вы найдете ответы на вопросы о том, как создать лабиринт автоматически, как найти в нем путь из пункта А в пункт Вив чем преимущества одних методов создания лабиринтов и поиска пути над другими. Вы увидите, что алгоритмы поиска пути — это нечто большее, чем кажется с первого взгляда. Возможно, сначала ваши подозрения будут смутными и туманными, но после прочтения шестой главы они окончательно прояснятся.

Пятая глава (пожалуй, наиболее теоретизированная) посвящена сжатию данных. Красота алгоритма сжатия сродни красоте шахматной партии — лишь немногие способны оценить ее по достоинству. Читая отдельные статьи об алгоритмах вроде LZW, вы никогда не получите полноценного представления о том, что есть искусство сжатия данных. Кроме того, уважаемые авторы подобных статей часто увлекаются, безусловно, полезными для разработчика техническими деталями, мешающими, однако, разглядеть лес за деревьями. Пятая глава — это взгляд с птичьего полета на архивацию. В ней нет листингов, зато есть пища для ума. Надеюсь, ценителям глава придется по вкусу.

Шестую главу, описывающую алгоритмы на графах, автор написал уже тогда, когда все остальные главы были готовы. Если темы вроде задачи Прима—Краскала или алгоритма Дейкстры затрагиваются часто, то, к примеру, алгоритм эвристического поиска А* так просто не найдешь. Глава содержит хорошее описание некоторых весьма полезных алгоритмов из теории графов.

Седьмая глава — это компьютерные игры (или Как Это Делается). Здесь вы найдете описание четырех простых игр — Сапера, Сокобана, Удава и Тетриса.

В конце каждой главы есть раздел под названием «Проекты для самосовершенствования». Если после прочтения той или иной главы вас не покидает чувство неудовлетворенности, обратите на предлагаемые проекты самое пристальное внимание



Заказать книгу Занимательное программирование: Самоучитель

Скачать книгу Занимательное программирование: Самоучитель

Последнее обновление ( 18.05.2010 г. )
 
След. »
Скачать книги по программированию