Всем доброго времени суток! Учу язык Python чуть больше месяца и сталкиваюсь постоянно при решении задач с тем, что мне очень тяжело даётся писать алгоритмы, если задачи чуть сложнее среднего. И какого-то особого роста и ускорения своей думалки по ходу времени я что-то не замечаю.
Стартовал с курса на stepik.org от BEEGEEK. По началу вообще всё шло замечательно, без тормозов. Ближе к середине стало трудно, а под конец так вообще. До сих пор не могу доделать элементарные, со слов тех же однокурсников, мини-проекты(шифр цезаря, виселица). Да, в интернете много способов решений, но дело в том, что я хочу знать не их, я хочу знать, КАК мне доходить до таких решений. Синтаксис по пройденному материалу знаю, можно сказать, хорошо. А вот как его применять - совсем не понимаю. Прочел книгу Свейгарта “Автоматизация рутинных задач” (пока что только те темы, которые прошёл ранее) для закрепления знаний. Думал поможет. Безрезультатно. Туплю также. Повторил то же самое с книгой Лутца. Также безрезультатно.
Бросать это дело не хочется, потому что данная профессия действительно мне кажется интересной и перспектива самостоятельно уметь писать клёвые программы в будущем притягивает.
В общем, вопрос следующий: что делать? Как развить именно эту мышцу мышления алгоритмами?
Просьба не писать вещи в духе “бросай, это не твоё”. Тут уж сам разберусь, что моё, а что нет. В остальном, жду каких-либо замечаний, советов, интересных подходов… Быть может кто-то тоже сталкивался с подобного рода тупняками.
Заранее спасибо!
Дык оно так и работает. Сначала вы смотрите чужие решения, много-много чужих решений, много-много чужих алгоритмов, а потом, когда будете понимать, как решить ту или иную задачу, ваша думалка начнет добавлять что-то свое к этим чужим алгоритмам, создавать что-то новое и более сложное. А пока вы не натренированы на основы основ, то чего вы вообще хотите от своей думалки? Сейчас ваш вопрос звучит как звучал бы от первоклассника вопрос: “Почему я не могу придумать, как взять производную?”
В общем, тренировки, тренировки и еще раз тренировки.
Но а вообще не хватает конкретики, что именно вы подразумеваете под “задачами сложнее среднего” и под “как применить синтаксис”. Примерчик бы. Тогда советы станут более дельными.
Может все таки пойти в универ тогда?? Как не крути а только там все разложат по полочкам в голове. Начиная с самых основ. Да и изучение языков без применения в контексте - пустая трата времени.
Все эти книги и учебники по программированию нужно использовать как справочную литературу. Смысл из заучивать?
Берите задачи из окружения. Чем вы там занимаетесь в жизни…
Изучать предметную область долго и нудно. Мне вообще не понятно почему все кто хочет изучать программирование первым делом хватаются за выбор языка. Алгоритмы - это первоочередная задача. Если в голове не будет четкого понимания этапов решения то никакой язык за вас это не сделает. Язык это лишь инструмент.
А с другой стороны вы уверены что у вас прям искреннее увлечение этой сферой?? Или может быть вы себя заставляете делать это ради чего то еще?
Подхода в основном два:
- Решить задачу для частного случая (т.е. значительно упростив), а затем постепенно усложнять.
- Расписывать алгоритм решения обычными словами, уточняя до тех пор, пока не станет очевидной запись на языке программирования.