@yellow_pus

Как можно развить математическое/логическое мышление для решения задач?

Учу программирование уже примерно полтора года. Начинал с питона, переходил на плюсы и джаву, не углублялся ни в один из этих языков серьезно, потому что искал именно ту область, которая заинтересует. Месяца 3-4 назад заинтересовался веб программированием(php,sql,html,css,js) И мне эта область реально понравилась. на данный момент, как не кажется я разобрался с базовыми принципами php, а именно: знаю и понимаю как работают циклы, массивы, условия , зачем нужно ООП и его основные концепции, даже если дадут какой нибудь код, то скорее всего разберусь как он работает.
Но как дело только доходит до решение каких либо задач(чуть связанных с логикой/математикой) я встаю в тупик, но дело даже не в том, как хорошо я понимаю математику, ведь в школе у меня не было с ней проблем, я понимал, что откуда вытекает и откуда берутся те или иные формулы/теоремы. Я пытался найти похожие вопросы на различных форумах, но всё что находил это советы по типу "больше решай головоломок" или "загугли сайт с логическими задачами и решай их" Я пытался делать и так, но после прочтения задачи я пытался решить ее и в уме, и на листке, но просто-напросто спустя часов раздумья, я просто выходил из себя, а когда смотрел решение, то мне становилось все понятно, что я мог эту задачу перевести и в программный вид(php,python).
От вас я бы хотел услышать совет, какую книгу прочесть, либо может сайт, который поможет мне в этой "нелегкой" ситуации(ведь терпения у меня достаточно, не сдвинусь с места, пока что то не пойму на 100%).
p.s Когда я учил питон, я прочитал книгу Адитии Бхаргавы, "Грокаем Агоритмы", она полностью перевернуло мое представление о логарифмах, очередях, кредитах, процентах и о числах в целом. Может есть что то похожее на эту книгу, только с пояснением на php-коде?
  • Вопрос задан
  • 952 просмотра
Решения вопроса 1
@eskendarov
Java-разработчик
Попробуйте решать задачи на алгоритмы, это хорошо развивает логическое мышление. Можете изучить как работают разные структуры данных, например:
Set, List, Queue, Deque, Map. (Это из Java, но думаю в каждом языке есть эти коллекции)
У этих коллекций есть разные интересные реализации, посмотрите исходный код попытайтесь понять как это работает изнутри, попробуйте реализовать простые версии этих коллекций с основным функционалом.
Вы написали, что читали книгу "Грокаем Агоритмы", найдите применение этим алгоритмам. Только путем решения задач можно развить логическое мышление.
Тут есть некоторые задачи:
www.itmathrepetitor.ru/zadachi-po-algoritmam-i-str...
www.itmathrepetitor.ru/zadachi-po-programmirovaniyu
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
Adamos
@Adamos
Математику принято считать наукой о расчетах и решении задач.
На самом деле такой ее делает плохое образование.
Математика - наука о том, как свести проблему к задаче.
Чтобы выучить такую математику, нужно не усидчиво решать шаблонные задачники, а выходить из плоскости - поэтому и советуют всяческие головоломки и логические задачи.
Зубрить алгоритмы в этом плане довольно бесполезно, имеет смысл только как знакомство с приемами и общей логикой.
А полезно собрать в кучку говно и палки и пособирать из них пусть неуклюжее, но свое.
Ответ написан
Комментировать
@mkone112
Начинающий питонист.
Была такая фигня, очень похоже. Сейчас сюда придут люди которые скажут что математика не нужна веб-разрабам. Хотя если с ними пообщатся - окажется что они неплохо с ней знакомы. Немного алгоритмов, дискретки, мат. логики, алгебра, геометрия и т.д. Когда-то я застрял с одной задачей и понял что не помню даже как решаются дроби. Нанял репетитора, сдал егэ, поучился несколько лет в вузе - мозги встали на место. Рекомендую так-же репетитора, книжки, можно в вуз походить(но нужно учитывать что 90% в снг - мусор). Года за три - справишься(но это не точно).
Ответ написан
@AndromedaStar
.Net - monkey
Ну просто нужно признать, что некоторым от природы лучше даются алгоритмические задачи. Кто-то вот от природы лучше бегает, например. Ничего страшного в этом нет.
А чтобы научиться решать алгоритмические задачи нужно их решать, далее смотреть решения других людей и анализировать. В конце концов появится скилл решения таких задач.
Ответ написан
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Ещё одна жертва культа. Выдыхайте, в программировании нет сакрального знания, как бы вас не уверяли в обратном. С какими вы там задачами на логику и математику сталкиваетесь в начале пути? Я с пятого класса прогуливал уроки математики и списывал домашку. Когда я в начале пути писал на Ассемблере утилитку, эксплуатирующую уязвимость NetBIOS для завешивания компа, там не было математики. Когда писал на Perl'е чат, там её не было. Когда на Сях писал асинхронные сетевые сервисы, тоже не было. Когда на Python'е делал интернет-магазины, не было. Когда на JEE писал всякие там ERP для кровавого энтерпрайза, не было. Даже сейчас, когда пишу нагруженные распределённые банковские системы, тоже не особо-то и сталкиваюсь с математикой. mkone112 уверяет, что я знаю дискретку, просто пришёл к этому знанию в результате практики. Если и так, то это интуитивное понимание, с тем же успехом можно обвинять пауков в знании сопромата. Работа подавляющего большинства программистов, особенно прикладных, больше общего имеет с лингвистикой или литературой, чем с математикой. Наша задача - это всего лишь внятно описать задачу на некотором языке. Просто меньше заморачивайтесь и больше практикуйтесь. Начните с простых программок, постепенно усложняйте, старайтесь решать практические задачи, а не числа Фибоначчи считать. Советы решать головоломки и логические задачи не слушайте, практика решения головоломок учит только решать головоломки.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы