Доброго времени суток! Заранее прошу прощения за такой глупый, но в то же время важный для меня вопрос. Дело в том, что учусь в универе, и в плане теоретической подготовки, я о программировании/средствах языка/общей структуры/малой части реализации/ и т.д. знаю достаточно много для того, чтобы реализовать ту или иную задачу. Но проблема в том, что как только я сажусь писать код, я ловлю жуткий тупняк, я просто не могу понять, с чего мне надо начать, как это сделать вообще. То есть я начинаю тупить даже на базовых конструкциях языка уже, что в какой последовательности надо сделать, что от меня вообще требуется и т.д. В то же время с теор. подготовкой никаких проблем нет (спокойно разобрал указатели, понимаю и люблю математику, но на бумаге - реализовать сложный матан в коде - для меня паника ). Вопрос в следующем, как перебороть этот "тупняк" и нормально "мочь" писать код? P.S. программирование очень люблю, и заменять на что-то другое не собираюсь, просто вот такая вот трудность, и как ее преодолеть, кроме как нереально много писать всякого, не знаю. P.P.S а практики у меня действительно, очень-очень мало. Заранее благодарю!)
Перебороть вполне можно, ещё не родился тот человек, который бы сел и написал без опыта код. Начинай с учебных заданий из любой книжки по программированию, они хорошо развивают программистское мышление.
Начните с простых задач.
Ну, не "Hello, world", но что-то не слишком сложное.
Нужно почувствовать, что (императивное) программирование - это просто последовательность инструкций. Ну, это классика, так что беру за основу. То есть это как бы переход от алфавита к чтению целыми словами.
Дальше точно так же нужно освоить условный оператор (if-else) и циклы. Их тоже нужно научиться чувствовать. А точнее переводить русские формулировки со словами "если", "повторять", "пока", "до тех пор" в условия и циклы. Это уже как бы переходим от слов к целым предложениям. И всё равно это уровень маленьких программ.
А дальше самое интересное - декомпозиция. Сложную задачу нужно разбить на маленькие, реализация каждой из которых занимает (желательно) не больше одного экрана текста. Это как бы переход от предложений к целым абзацам. Вы же умеете разбивать свою сложную мысль на абзацы? (По вашему вопросу не скажешь....)
Вот из таких "абзацев" и состоит вся ваша повесть. Она может быть на несколько страниц, а может быть уровня "Война и мир".
Был в похожей ситуации, советую решать больше задач и читать документацию.
Вот вам интересная задачка не требующая особой подготовки.
Суть её заключается в том, что дан массив чисел, допустим от 1 до 100.
Нужно сделать так, что бы числа, делящиеся на 3 без остатка принимали значения Foo, а числа, делящиеся на 5 принимали значение Bar, а числа делящиеся на 3 и на 5 принимали значение Foobar.
Спасибо, знаю эту задачу, но до реализации не доходил (считал ее слишком простой), а как показывает практика, даже если считаешь что-то простым, все равно надо это сделать самому, от того у меня и проблема такая. Еще раз спасибо!