Как научиться решать задачи и развить логическое мышление?
Здравствуйте! На моём пути становления программистом существует большая проблема: у меня очень слабо развито логическое мышление и я не умею решать задачи. Ну, например, на собеседовании я могу ответить на вопросы по языку, а вот решить математические/логические/алгоритмические задачки - для меня, пожалуй, непосильная задача. Я вряд ли даже осилю задачки за 7 класс школы... Например, я моментально проваливаю собеседование, если требуют решить какие-нибудь задачи на подобии этих:
1) "Предприниматель купил несколько подержанных автомобилей за 3500 долларов, а продал их за 5500 долларов, заработав при этом 50 долларов за автомобиль. Сколько автомобилей он продал?"
2) "Пять полукилограммовых пачек мясного фарша стоят 2 доллара. Сколько килограмм фарша можно купить за 80 центов?"
3) "В офис привезли три автомата с напитками. Первый выдаёт чай, второй кофе, а третий случайным образом чай или кофе. Стакан любого напитка стоит одну монету. На каждом автомате есть наклейка с названием продукта, который он выдаёт. Так получилось, что на заводе перепутали местами наклейки и на каждом автомате оказалась неправильная. Сколько нужно потратить монет, чтобы выяснить, где какой автомат?"
Ладно бы эти задачи ещё решали на только собеседовании, но ведь программист должен решать задачи. А у меня не получается решить даже вот эти простые. Я банально не знаю с чего начать и чем закончить решение подобных задач... Преподаватели и родители говорят, что я круто ошибся с профессией... Я их не особо слушаю, пытаюсь что-либо сделать, но всем мои попытки решить такие задачи выглядят как жалкие потуги "родить" хоть что-нибудь... Я, кстати, также не смог сдать ГИА по математике в 9 классе. Мне помогли. Это долгая история. Но, правда, в университете попался классный препод и я научился решать некоторые разделы в алгебре (квадратные и биквадратные уравнения, несложные неравенства; задания на производные и первообразные, несложные задания в тригонометрии и лёгкие задания с интегралами). В школе в точных науках был абсолютно беспомощен. Если в алгебре мог как-то побрыкаться, то по геометрии и физике мне ставили итоговые тройки чисто из жалости...
Подскажите, пожалуйста, как научиться решать задачи и развить логическое мышление? Это реально важно. Сейчас мне 25 лет. Думаю, что ещё не всё потеряно... Заранее благодарю за ответы и советы!
Логическое мышление тут ни при чём IMHO. Подобные задачи мы решали классе в третьем обычной общеобразовательной школы. И если "Пять полукилограммовых пачек мясного фарша стоят 2 доллара. Сколько килограмм фарша можно купить за 80 центов?" вызывает проблемы... То тут я даже не знаю что сказать. Преподаватели и родители правы по ходу.
AVKor, да, знаю. Но я умудрился закончить университет (учился на программиста). Вот поэтому и думал им стать. Плюс по состоянию здоровья хотел выйти на удалёнку (после 2-3-летней практики в команде с опытными людьми), а программирование для этого отлично подходит. Какая ещё профессия может похвастаться возможностью удалённой работы и получать хорошие деньги? Сейчас работаю в интернет-магазине, параллельно с работой намерен изучать программирование...
AlGrohoff, В IT почти всё можно делать удалённо (хотя есть позиции, по которым надо в офисе находиться, например, работа эникейщиком). Попробуйте заняться тестированием, например.
xmoonlight, чисто смекалкой, умением входить в доверие и умением выходить из любого положения) Наибольшие сложности были с высшей математикой, но сдал на 3. Самое ржачное было с дискретной математикой. У нас был старый преподаватель. Его было надурить проще простого. Ну и чаще всего он ленился сам.
Помню, было задание: дана формула, по ней нужно построить табличку и в каждой ячейке должен быть 0 или 1. Потом по этой таблице нужно было нарисовать какие-то диаграммы вроде бы. Я вообще понятия не имел что это и как это делать. В итоге табличку заполнил чисто рандомном и диаграмму срисовал у другого человека. Препод видит, что формула решена, таблица заполнена, рисунок есть. А проверять на правильность ему лень. И поставил мне 5. Я орнул на славу. В итоге так делал весь семестр и получил по этому предмету 5 в диплом) Как-то так)
AVKor, тестирование не особо интересно... Кстати, а относятся ли графический дизайн и 3D-моделирование к IT? Помню, ещё с детства я был беспомощен в математике, зато классно рисовал. Рисую для себя по сей день. А последние пару месяцев увлекаюсь созданием 3D-моделей в Blender. Может, там получится стать специалистом. Пока только изучаю рынок труда и учусь, но всё равно присматриваюсь и к этому варианту...
У нас был старый преподаватель. Его было надурить проще простого.
Вот эта пара фраз показывает, в частности, что у вас и в самом деле проблемы с логикой. Вы, видимо, полагаете, что из первого следует второе (иначе зачем было упоминать возраст?). Это неверно. Второе следовало не из первого, а из того, что он был ленив, как вы сами ниже и описал. У меня вы бы получали стабильно 2 балла.
Препод видит, что формула решена, таблица заполнена, рисунок есть. А проверять на правильность ему лень. И поставил мне 5. Я орнул на славу. В итоге так делал весь семестр и получил по этому предмету 5 в диплом) Как-то так)
А последние пару месяцев увлекаюсь созданием 3D-моделей в Blender. Может, там получится стать специалистом. Пока только изучаю рынок труда и учусь, но всё равно присматриваюсь и к этому варианту...
Очень неплохой вариант! Моделлеры - нужны всегда. А хороших - по-пальцам пересчитать!
AlGrohoff , просто от корки и до корки. Желательно к этой книге отнестись с абсолютным вниманием, даже к приведенному в ней словарю.
Желательно будет совместить с рефлексией на тему твоих нерешенных задач.
Примеры задач (в тексте вопроса) - это не логическое мышление, это понимание порядка математических действий, изложенного текстом (AI бы здесь точно не помешал, да?!)).
Касательно этих задач - научитесь текст переводить в математическую запись.
"Предприниматель купил несколько подержанных автомобилей за 3500 долларов, а продал их за 5500 долларов, заработав при этом 50 долларов за автомобиль. Сколько автомобилей он продал?"
1. Предприниматель купил несколько подержанных автомобилей за 3500 долларов: 3500=count*price
2. а продал их за 5500 долларов, заработав при этом 50 долларов за автомобиль: 5500=count*(price+50)
3. Сколько автомобилей он продал? - count=?
Научиться решать задачи можно лишь путём решения задач.
Стократную пользу имеют те решения, которые вы сами придумали (без подсказок). Но даже если нет, а просто самостоятельно потели над задачей полдня, а потом подсмотрели решение, то это тоже хорошо.
Классическую логику можно изучить и по учебнику. Но, опять же, нужна практика в виде логических задач. Тренировка состоит из совершения ошибок. Поэтому важно решать задачи самостоятельно. Неправильные решения содержат ошибки, из которых можно извлекать уроки для себя, чтобы потом не допускать эти ошибки. И чем больше времени заниматься такой практикой, тем больше пробелов и изъянов в логическом аппарате будет исправлено.