Задачник по Паскалю
В сотый раз повторяется одно и то же. Человек учит язык — неважно Питон, Кложу, что угодно — и спрашивает: посоветуйте задачки. Ему кидают ссылки на Exercism, Project Euler и похожие сайты. Мой ответ не меняется годами: покупаешь задачник по Турбо-Паскалю за 300 рублей и решаешь на своей Кложе, Питоне или PHP. Или просто качаешь из интернета первый попавшийся.
Думаете, кто-то так делает? Конечно, нет. Мало того, поднимается драма: как так, у нас современные языки, а ты со своим Паскалем! Оставь дерьмо мамонта в покое.
Сколько себя помню, всегда поражала эта избирательность. Эти задачи буду решать, а эти не буду. Эти современные и хорошие, а эти старые. Иной раз мне доказывают, мол, концепции Паскаля плохо ложатся на Кложу, поэтому решать их неудобно.
Я аж представил себе. Начальство: Иван, вот тебе задача, надо сделать то и это. А я такой: ребята, она плохо ложится на концепцию языка, не буду делать. А они: конечно, дорогой, вот задача получше, а эту делать не будем. Исправим, чтобы ложилась.
Думаю, ясно, что решать надо все задачи. В том числе те, что в старых учебниках. А почему именно из учебников, тому следуют пункты.
-
Сразу много задач. Купив сборник, вы получите не две-три интересных задачки, а две-три сотни.
-
Если это толковый сборник, задачи в нем собраны по разделам: арифметика, циклы, массивы, связные списки, файлы, графика и так далее. В каждом разделе задачи идут по нарастанию сложности. Это позволит набить руку в той теме, где вы плаваете.
-
Поскольку задачи составлены для школьников и студентов, они перекликаются с учебной программой. Решая задачи, вы заодно ее подтяните.
Примеры задач, которые можно сделать на любом языке:
-
квадратное уравнение. По коэффициентам a, b, c найти корни или сообщить, что их нет.
-
игра “угадай число”. Компьютер загадывает число от 0 до 100, ваша задача — угадать его. На ваши попытки компьютер отвечает “нет, больше”, “нет, меньше” или “угадал”.
-
пересечение прямоугольников, точки и окружности по их координатам
-
задачи на массивы и связные списки, чтобы лучше понимать коллекции
-
графики, исследование функций.
-
запись данных о сотруднике в файл и их чтение.
Что из этого плохо ложится на современный язык? Может, за “не хочу” стоит “не могу” или “лень вспоминать”?
Какой смысл открывать условный Exercism, регистрироваться, подтверждать почту, отписываться от рассылки? Чтобы что? Я уже накидал задач на неделю, сиди решай. В учебнике их на год. Что ты хочешь найти? Чего не хватает?
Наконец, еще один пункт в пользу сборника задач — это работа с книгой. Не знаю как это работает, но бумажная книга эффективней, чем тупление в монитор. Для меня это совершенно очевидно. Скорей всего, включается другой отдел мозга, но объяснение не так важно.
Изучать язык тяжело. Красивые сайты пытаются это скрыть или развлечь пользователя, потому что их цель — донаты и показ рекламы. У задачника этой цели нет. Это более хардкорный вариант, но тем он и лучше.
Нашли ошибку? Выделите мышкой и нажмите Ctrl/⌘+Enter
Павел Сутырин, 15th May 2023, link
Более того, их и решать-то на бумаге полезно.
Умные люди, вон, говорят, что каллиграфия (а мы скажем — программирование на бумажке ;) развивает мозг тем уникальным образом, что активирует взаимосвязанным образом сразу несколько его областей, обычно активирующихся лишь порознь, а именно — моторная, визуальная, лигвистическая и абстрактная.
Вместе с тем, польза от упражений в динамических структурах данных на динамических же языках представляется сомнительной. Уровень реализации, кажется, должен быть ниже — скажем, на языке ассемблера (плюс-минус любом) реализовать какие-нибудь списки в куче — самое милое дело!
ПерлухаБратуха, 17th May 2023, link
Все верно Вано говорит, удваиваю!
k0rs4r, 10th Jun 2023, link
Соглашусь, если есть учебник с кучей задач - почему бы им не воспользоваться. И как человек, ни в школе, ни в универе не сталкивавшийся с Паскалем и изучившим его основы много лет спустя, не понимаю неприязни к нему, мне он понравился. Другое дело что мне бы и в голову не пришло что именно по Паскалю может быть много учебников с задачами. Но одно дело не догадываться, другое игнорировать советы. А вот на счет источника .. тут хз. Для меня кажется странным сам факт того что человек не просто хочет изучить что-то, а изучить в “подходящих для этого условиях и с удовлетворяющих источников”. Когда я что-то хочу знать, на меня нападает “режим одержимости”, я могу неделю продираться через скачанную, плохо отсканированную, залитой чернилами djvu, забывая при этом поесть, и еще буду благодарен что мне материал вообще попался.