Другие языки программирования и технологии

Как начинающему программисту развить абстрактно-логическое мышление?

Здравствуйте. Я отучился на программиста. Знаю несколько языков, но у меня одна очень большая проблема: я не умею решать задачи. На собеседованиях валюсь именно тогда, когда просят решить задачу на логику и/или алгоритмы. Я их вообще не умею решать: не знаю с чего начать и чем закончить, да и вообще что там нужно делать. Сколько себя помню, я всегда был крайне плох и беспомощен в точных науках. Правда, преподаватель в ВУЗе сумел пробудить некоторый интерес к математике и я научился решать уравнения, неравенства, немного понял тригонометрию, получалось решать задания с пределами, производными, первообразными, а также совсем немного с логарифмами и интегралами.

Вопрос: можно ли исправить мой мозг? Как его научить решать задачи? На собеседованиях программисту почти всегда дают задачи на логику и алгоритмы, а я смотрю на них, как идиот и в голову не приходит вообще никаких идей для решения, не могу ничего "родить"... Не знаю, играет ли существенной роли возраст, но мне 25 лет. Встречал мнения о том, что уже поздно и лучше искать другую профессию. Но я пока не сдаюсь)
на самом деле проверить очень просто. сделай программу навроде тотал командера например - просто файловый менеджер двухоконный с основными возможностями, создавать удалять папки файлы, переименовывать, копировать, переносить - если осилишь - значит сможешь быть программистом.
МА
Марат Аплотанов
65 054
Лучший ответ
Дамир Мустаев А ты сам пробовал сделать "программу навроде тотал командера"? Я вот для УК-НЦ много лет назад сделал: даже в очень простом варианте эта задача совсем не для новичков.
Alexxxx Antipin Вот ты сейчас читаешь мой ответ, представь что захотел в туалет. Можешь описать алгоритм твоих действий? Повернулся на кресле, встал, прошел n шагов до выхода из комнаты, поверернулся в сторону wc.. и т. д. если сможешь это с алгоритмами у тебя все норм)
"Принцесса или тигр" - сборник занимательных задач по матлогике для школьников.

"Алгоритмы и структуры данных" (лучше последнее издание) - учебник программирования для начинающих. Как раз изучение основ алгоритмов.
Дамир Мустаев
Дамир Мустаев
77 511
Алексей Тормосов Большое Вам спасибо!!!
В программированнии логика в основном следующая: если задача сложная то для начала смотрим можно ли ее разбить на более мелкие подзадачи. Разбиваем, решаем все подзадачи по отдельности, склеиваем из них общее решение
Что самое интересное)), как раз алгоритмические задачи и развивают мышление. Еще наверное математика, шахматы и т. д. Ну и опыт. А вообще, хочу сказать, что умение мыслить абстракцию кода и моделей, а также уметь проецировать это на задачи реального мира это либо есть, либо этого нет.
Павел Степанов
Павел Степанов
20 187
Ответил случайно в коммент, цетирую ). Вот ты сейчас читаешь мой ответ, представь что захотел в туалет. Можешь описать алгоритм твоих действий? Повернулся на кресле, встал, прошел n шагов до выхода из комнаты, поверернулся в сторону wc.. и т. д. если сможешь это с алгоритмами у тебя все норм)
Развить программное мышление не сложно. Берите любые популярные алгоритмы: поиск числа в массиве, сортировка пузырьком, бинарный поиск, сортировка вставками, быстрая сортировка (самая быстрая для больших массивов); начните их поочерёдно изучать: от простого к сложному.

Из книг рекомендую «Грокаем алгоритмы».

После всего вам незаметно будет просто решать задачи разной сложности.

P.S. Для того чтобы решать сложнейшие задачи, нужны отличные знания математики. Вам не обязательно их знать, как решать. Для собеседования и того вполне хватит.
Дамир Мустаев "Грокаем алгоритмы" - научпоп, а не учебник. Там нет серьёзного сравнения разных алгоритмов решения одной задачи.
Николай Лаврик Аркадий, когда вы успели такой жизненный опыт набрать в ваши года?)