0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Есть ли смысл в решении дополнительных задач, или можно ограничиться только заданиями из курсов? Как решать испытания эффективно, не глядя по несколько часов в пустой экран? Что делать, если не проходят тесты? На эти вопросы я постараюсь ответить в данной статье.</p>
1
<p>Есть ли смысл в решении дополнительных задач, или можно ограничиться только заданиями из курсов? Как решать испытания эффективно, не глядя по несколько часов в пустой экран? Что делать, если не проходят тесты? На эти вопросы я постараюсь ответить в данной статье.</p>
2
<h2>Содержание</h2>
2
<h2>Содержание</h2>
3
<ul><li><a>Введение</a></li>
3
<ul><li><a>Введение</a></li>
4
<li><a>Алгоритм действий при решении испытаний:</a></li>
4
<li><a>Алгоритм действий при решении испытаний:</a></li>
5
<li><a>Заключение</a></li>
5
<li><a>Заключение</a></li>
6
</ul><h2>Введение</h2>
6
</ul><h2>Введение</h2>
7
<p>Дополнительная практика, как ни крути, всегда несёт в себе дополнительную пользу. С каждой решенной задачей, понимание предмета увеличивается. Однако, есть такие задачи, которые могут полностью отбить желание программировать, в виду их кажущейся сложности.</p>
7
<p>Дополнительная практика, как ни крути, всегда несёт в себе дополнительную пользу. С каждой решенной задачей, понимание предмета увеличивается. Однако, есть такие задачи, которые могут полностью отбить желание программировать, в виду их кажущейся сложности.</p>
8
<h2>Алгоритм действий при решении испытаний:</h2>
8
<h2>Алгоритм действий при решении испытаний:</h2>
9
<ol><li>Внимательно и вдумчиво прочитать техническое задание. Иногда задачу не получается решить только из-за того, что упущена какая-то малозначительная подробность, из-за неё может не пройти единственный тест, но его одного хватит чтобы запороть задание, а заодно и ваше нервы.</li>
9
<ol><li>Внимательно и вдумчиво прочитать техническое задание. Иногда задачу не получается решить только из-за того, что упущена какая-то малозначительная подробность, из-за неё может не пройти единственный тест, но его одного хватит чтобы запороть задание, а заодно и ваше нервы.</li>
10
<li>Просмотреть файл с тестами, найти пограничные случаи работы функции (border cases) и начать с них. Но не стоит злоупотреблять тестами, а именно подгонять решение под каждый тест, вместо написания алгоритма. Это медвежья услуга. К тому же, подробное изучение тестов позволяет прочувствовать логику задачи в целом и разбить её на этапы.</li>
10
<li>Просмотреть файл с тестами, найти пограничные случаи работы функции (border cases) и начать с них. Но не стоит злоупотреблять тестами, а именно подгонять решение под каждый тест, вместо написания алгоритма. Это медвежья услуга. К тому же, подробное изучение тестов позволяет прочувствовать логику задачи в целом и разбить её на этапы.</li>
11
<li>Если задача связана с математикой (например: умножение матриц или треугольник Паскаля), найти информацию об этом алгоритме в интернете. Не нужно заново изобретать велосипед.</li>
11
<li>Если задача связана с математикой (например: умножение матриц или треугольник Паскаля), найти информацию об этом алгоритме в интернете. Не нужно заново изобретать велосипед.</li>
12
<li>Почитать, с какими сложностями столкнулись другие пользователи Хекслета в обсуждениях испытания. Особенно актуально, когда все предыдущие пункты не помогают, и вы все ещё сидите с пустым экраном.</li>
12
<li>Почитать, с какими сложностями столкнулись другие пользователи Хекслета в обсуждениях испытания. Особенно актуально, когда все предыдущие пункты не помогают, и вы все ещё сидите с пустым экраном.</li>
13
<li>Если все же задача никак не получается, оставить её на время, и решить схожее испытание из этого же курса.</li>
13
<li>Если все же задача никак не получается, оставить её на время, и решить схожее испытание из этого же курса.</li>
14
<li>Не забывайте об отладочной печати!</li>
14
<li>Не забывайте об отладочной печати!</li>
15
<li>После успешного прохождения всех тестов, сравнить свой вариант с вариантом учителя и посмотреть другие ревью. Попробовать реализовать это же испытание в другой парадигме. Чем больше вариантов, тем выше понимание данной темы.</li>
15
<li>После успешного прохождения всех тестов, сравнить свой вариант с вариантом учителя и посмотреть другие ревью. Попробовать реализовать это же испытание в другой парадигме. Чем больше вариантов, тем выше понимание данной темы.</li>
16
</ol><h2>Заключение</h2>
16
</ol><h2>Заключение</h2>
17
<p>Не бойтесь решать сложные задачи, это единственный путь к росту как специалиста. Для меня самыми сложными были испытания "без двух нулей" и "обратная польская запись". Помимо программирования для их решения, нужно еще подтянуть знание комбинаторики и систем счисления. Испытание с римскими цифрами я решил через switch-case, рассматривая каждый случай в отдельности. Сравнив с решением учителя, я понял всю красоту использования объектов.</p>
17
<p>Не бойтесь решать сложные задачи, это единственный путь к росту как специалиста. Для меня самыми сложными были испытания "без двух нулей" и "обратная польская запись". Помимо программирования для их решения, нужно еще подтянуть знание комбинаторики и систем счисления. Испытание с римскими цифрами я решил через switch-case, рассматривая каждый случай в отдельности. Сравнив с решением учителя, я понял всю красоту использования объектов.</p>