Редактирование и вычитка книги

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

Модераторы: Oleg_D, Модераторы

Oleg_D
постоялец
Сообщения: 391
Зарегистрирован: 09.05.2011 11:28:36

Сообщение Oleg_D »

Paster Fob писал(а):индекс должен быть 8

Исправил сегодня и выложил на сайте.
Исправлено, также, решение задачи 17-К (в файле ответов).
paspascaler
незнакомец
Сообщения: 6
Зарегистрирован: 23.06.2012 18:20:52

Сообщение paspascaler »

"Песни о Паскале" видел и мне показалось, что там очень недостает примеров, связанных с графикой, а также примеров создания каких-нибудь игровых приложений.
По первой проблеме отсылаю к книге М.Мозгового - "Занимательное программирование", 2005г. издательства "Питер" или книга Лукина С.Н. "Турбо Паскаль 7.0. Самоучитель для школьников, студентов и начинающих" 1999г.
По второй - есть книги Arsac J. "Программирование игр и головоломок" или Корнилова Е.Н. "Программирование шахмат и других логических игр".
Графика или игровая графика - это то, что действительно нужно на первых порах, тем более, если вы своей книгой обращетесь к школьникам, у которых ещё не в полную меру развито логическое мышление. Скопировал код ->исполнил->на экране что-то шевелится , что-то куда-то движется->интересно. А что если изменить пару параметров? Будет ли шевелиться?
Как иллюстрация:

Код: Выделить всё

USES Graph, CRT;
VAR Device, Mode, x,r, y_red, y_yellow, y_green : Integer;
       klavisha                               : Char;
BEGIN
    Device:=0;
    InitGraph(Device, Mode, '');
    x:=320; {задаем центp светофоpа по гоpизонтали}
    r:= 50; {задаем pадиус огней светофоpа}
    y_red:=110; {задаем центp кpасного огня по веpтикали}
    y_yellow :=240; {задаем центp желтого огня по веpтикали}
    y_green :=370; {задаем центp зеленого огня по веpтикали}
    Rectangle(x-100,40,x+100,440); {pисуем светофоp}
    Circle(x,y_red,r);
    Circle(x,y_yellow,r);
    Circle(x,y_green, r);
    repeat
       if KeyPressed then begin {Если нажата какая-нибудь клавиша, то:}
         SetFillStyle(1,Black); {пpежде всего гасим:}
         FloodFill(x,y_red, White); {веpхний огонь, даже если он не гоpел}
         FloodFill(x,y_yellow,White); {сpедний огонь, даже если он не гоpел}
         FloodFill(x,y_green, White); {нижний огонь, даже если он не гоpел}
         klavisha:= ReadKey;
         if klavisha='r' then {если была нажата r, то зажигаем кpасный:}
             begin SetFillStyle(1,red); FloodFill(x,y_red, White) end;
         if klavisha='y' then {если была нажата y, то зажигаем желтый:}
             begin SetFillStyle(1,yellow); FloodFill(x,y_yellow,White) end;
         if klavisha='g' then {если была нажата g, то зажигаем зеленый:}
             begin SetFillStyle(1,green); FloodFill(x,y_green, White) end;
      end{if}
    until klavisha='q'; {если была нажата q, то выходим из пp-мы}
    CloseGraph
END.
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

paspascaler
К сожалению, современная ОС (что Windows, что Linux) - это уже не DOS. Начинающий, который захочет применить старую, написанную для DOS, графику, столкнётся с совершенно непонятными для него трудностями. Поэтому объяснение графики с помощью примеров из TurboPascal - это плохой подход. Графику нужно объяснять сразу же с использованием GUI-приложений, где она будет ложиться в программу и пониматься легко.
Какие проблемы будут с досовской графикой - читайте тут: http://www.freepascal.ru/article/freepa ... 215095658/
Чтобы не быть голословным - Ваш пример кода заработает только в 3-ёх случаев из 100. Прочитаете статью - поймёте, почему. ;)
Oleg_D
постоялец
Сообщения: 391
Зарегистрирован: 09.05.2011 11:28:36

Сообщение Oleg_D »

paspascaler писал(а):Графика или игровая графика - это то, что действительно нужно на первых порах

Ув. paspascaler,
отчасти за меня ответил Vadim, к тому же я стремился сделать примеры универсальными и годными для разных IDE. Но главная причина отказа от графики в том явлении, которое я наблюдал. Вот пример: сильная школа с физмат уклоном, в средних классах детишки с увлечением программируют «черепашек» и «роботов», ничто не предвещает беды. В старших классах переходят на Паскаль, и тут как отрезало: почти все потеряли интерес к программированию. Свистульками-погремушками можно ненадолго увлечь многих, но программистами станут лишь те, кому интересна внутренняя, а не внешняя красота программ.
Или взять Ваш пример. Чтобы понять его, ученик должен усвоить почти весь материал «песен» (кроме, разве что, множеств и динамических структур) плюс графическую библиотеку. А эксперименты с программой без понимания со стороны ученика вряд ли принесут ему пользу. Судите сами, годится ли этот пример для начинающих?
А приведенные Вами книги несомненно полезны, но годятся на более поздних этапах обучения после освоения азов программирования.
Сквозняк
энтузиаст
Сообщения: 1159
Зарегистрирован: 29.06.2006 22:08:32

Сообщение Сквозняк »

paspascaler писал(а):"Песни о Паскале" видел и мне показалось, что там очень недостает примеров, связанных с графикой, а также примеров создания каких-нибудь игровых приложений.
Примеров создания игр на паскале полно в архивах конкурсов на http://glscene.ru/ но они не для новичков. Качайте пока ссылки живые.
paspascaler
незнакомец
Сообщения: 6
Зарегистрирован: 23.06.2012 18:20:52

Сообщение paspascaler »

Vadim, Oleg_D, Сквозняк,
спасибо за разъяснения. Просто мы сейчас приучены к различным красивым графическим оберткам алгоритмов - играм, презентациям и т.п., чтобы всё сопровождалось фейерверком спрайтов, и блеском шейдерного бэмп-маппинга и глоу-эффекта. Они ведь делаются в 3d-редакторах, написанных на развитых языках программирования (а Паскаль - один из таких) и когда начинаешь читать учебник по ЯП, то учишь в ожидании главы, посвященной созданию чего-то типа, если не Doom, Free Orion или Settlers, но для начала какого-нибудь маджонга, паззла или платформера.

Добавлено спустя 15 часов 43 минуты 35 секунд:
И тут на помощь на первых порах пришла бы графика, которая в системе Windows называется "досовской", а в Линуксах гордо именуется "консольной". Естественно, со всеми рекомендациями из статьи http://www.freepascal.ru/article/freepa ... 215095658/
Oleg_D
постоялец
Сообщения: 391
Зарегистрирован: 09.05.2011 11:28:36

Сообщение Oleg_D »

paspascaler писал(а):... чего-то типа, если не Doom, Free Orion или Settlers, но для начала какого-нибудь маджонга, паззла или платформера.

Я и слов-то таких не знаю. :)
Создавать учебные графические программы полезно, никто не спорит, но всему свое место и время. Всё-таки графические средства капризны и в разных средах сильно различаются, тут даже с опытом непросто разобраться. Потому и не касался этой темы. Содержанием «песен» являются лишь базовые средства языка и некоторые базовые алгоритмы. Те, кто стремятся в профессионалы, попадут на олимпиады и будут покушаться на ведущие факультеты страны: ВМиК МГУ, ИТМО и т.п. Там им быстро объяснят, что графикой им можно подождать, а без графов далеко не уедешь. Вот из этого я исходил.
Oleg_D
постоялец
Сообщения: 391
Зарегистрирован: 09.05.2011 11:28:36

Сообщение Oleg_D »

Издательство prostobook печатает книгу "Песни о Паскале":

http://prostobook.com/product/12-379574/

Книга разбита на две части (2 тома).
Первый том: главы 1 - 34
Второй том: с главы 35 и далее.
Формат книги 200 x 290 мм.
Общая цена за два тома = 24.70 USD
При заказе от 5 до 100 экземпляров даётся скидка от 5 до 20%.
Для удешевления доставки рекомендуется самовывоз из Москвы, Питера или Киева (издательство расположено в Киеве).
Предлагается множество способов оплаты.
Ответы на прочие вопросы см. здесь: http://prostobook.com/faq/
Аватара пользователя
Paster Fob
постоялец
Сообщения: 188
Зарегистрирован: 22.02.2011 20:53:36
Откуда: Новосибирск.

Сообщение Paster Fob »

Oleg_D т.е. это последняя 12 редакция и больше не будет изменений?
Oleg_D
постоялец
Сообщения: 391
Зарегистрирован: 09.05.2011 11:28:36

Сообщение Oleg_D »

Paster Fob писал(а):Oleg_D т.е. это последняя 12 редакция и больше не будет изменений?

Это текущая 12-я редакция. Существенных изменений не планирую, но не исключаю каких-то очень мелких правок в будущем (устранение опечаток и т.п.).
Oleg_D
постоялец
Сообщения: 391
Зарегистрирован: 09.05.2011 11:28:36

Сообщение Oleg_D »

08 июля 2012 выложил книгу в формате FB2 (без приложений).
Жду отзывов от тех, у кого есть "читалки", поскольку сам ими не пользуюсь.
xokkai
незнакомец
Сообщения: 2
Зарегистрирован: 16.07.2012 03:55:04

Сообщение xokkai »

stduviewer пишет что файл поврежден. FBReader открывает только первые 10 страниц
Oleg_D
постоялец
Сообщения: 391
Зарегистрирован: 09.05.2011 11:28:36

Сообщение Oleg_D »

xokkai писал(а):stduviewer пишет что файл поврежден. FBReader открывает только первые 10 страниц

Я проверяю на компьютере программой AlReader2, других возможностей нет. Сама книга произведена программой htmlDocs2fb2 из вордовского файла. Качество меня не совсем устраивает, хочу, как минимум, добавить тэг "code", но это ручная работа и потребует времени.
xokkai
незнакомец
Сообщения: 2
Зарегистрирован: 16.07.2012 03:55:04

Сообщение xokkai »

Уважаемый Олег, stduviewer и FBReader это тоже программы-читалки для настольного пк. Stduviewer, универсальная многоформатная читалка , поглядите вот на этом сайте - http://www.stdutility.com/ , скачивание самой программы - http://www.stdutility.com/download/stduviewer.exe . FBReader есть под многие платформы - http://www.fbreader.org/content/other-platforms , ссылка на скачивание - http://www.fbreader.org/files/win32/FBR ... .12.10.exe . Еще на телефоне проверял, Zxreader- открывает но тоже частично. А AlReader2 насколько я помню это устаревшая программа, изначально сделанная для телефонов, и потом приспособленная для пк.

Добавлено спустя 24 минуты 58 секунд:
Вот здесь рассмотренны самые распостраненные способы конвертирования - http://www.reeed.ru/creation_fb2_05.php ( в этой ссылке особо выделен § 3.6 Конвертор ExportToFB21 для Open Office) . Рекомендуют так же для конвертации программу calibre, пишут что правильно конвертит, вот список форматов поддерживаемых к конвертации http://manual.calibre-ebook.com/faq.html#id13 , скачать можно по ссылке - http://citylan.dl.sourceforge.net/proje ... 0.8.60.msi . И еще пишут что cool reader и all reader все fb2 открывает))

Добавлено спустя 2 минуты 3 секунды:
Надеюсь был полезен, а насчет аллридера ошибся.
Oleg_D
постоялец
Сообщения: 391
Зарегистрирован: 09.05.2011 11:28:36

Сообщение Oleg_D »

xokkai писал(а):Надеюсь был полезен

Уважаемый xokkai, спасибо за полезную информацию, буду разбираться потихоньку, и надеюсь со временем улучшить вариант для читалок.
Ответить