Я не лучший в математике, не очень ужасный, но ниже среднего, я всегда думал, чтобы улучшить свою математику, но школы и книги не делали работу, потому что мне скучно слишком быстро. Единственное, что мне не наскучило, это кодирование и игры, поэтому я подумал, что если кодирование программы, которая решает математические задачи, поможет мне лучше понять математику, большинство из этих проблем - это ограничения (исчисление), функции, дифференциальное исчисление и некоторые другие предметы (я уже сказал, что это не так хорошо), аналогичные предыдущим.
У меня вопрос: смогу ли я получить более глубокие знания по математике, если буду заниматься определенным программированием, и если это возможно, возможна ли физика и так? Или я ошибаюсь, и перед программированием нужно изучать математику, чтобы улучшить кодирование?
PS: C ++ является предпочтительным языком.
источник
Ответы:
Вы будете изучать математику или физику из программирования только в том случае, если вы фактически используете программирование для решения математических и физических задач, хотя в таких функциональных языках, как Haskell, есть очень «математические» понятия. Я бы предложил посетить веб-сайт, такой как Kahn Academy или Project Euler . Решите проблемы с помощью кода, и вы улучшите свои навыки кодирования и математические навыки одновременно.
источник
Очевидно, вы должны изучать математику через программирование. Если вы попытаетесь симулировать физические объекты, вам нужно будет изучить все виды физики и математики, и вам это понравится.
источник
Это мое взятие ...
Программирование поможет проверить ваши знания
Когда я учился в средней и средней школе, я программировал свои калькуляторы так, чтобы они делали для меня однообразную математику. Некоторые люди утверждали, что это мошенничество, но я всегда утверждал, что не смогу писать программы, если я не совсем понимаю математику.
Например, предположим, вы хотели создать небольшую программу для вычисления значения C, заданного A и B, в рамках теоремы Пифагора. Как мы делаем это? Ну, мы знаем, что:
Итак, чтобы решить для C, мы имеем:
Следовательно, программа может выглядеть примерно так (при условии правильных заголовков, это простой пример):
ОДНАКО...
Где и как вы получаете эти знания?
В предыдущем примере нам нужно было знать, как решить для C в уравнении.
A^2 + B^2 = C^2.
Если мы не знали квадратный корень обеих сторон, чтобы найти C, как мы могли бы решить проблему?IMO, это сводится к следующему: программирование не научит вас абсолютно математике, но улучшит приобретенные вами навыки.
источник
В книге SICP есть очень хороший раздел по математике. Но я бы посоветовал вам попытаться использовать линейную алгебру, дискретную математику и исчисление как минимум, если вы учитесь только на написании программ, ваше образование, вероятно, будет очень глубоким, но не очень широким.
источник
Я думаю, что они идут рука об руку. Твердое знание математических методов откроет возможности для программирования, которых у вас не было бы иначе, а программирование может открыть интересные возможности для математического изучения.
Недавно я начал использовать wxMaxima , хороший графический интерфейс для превосходной системы компьютерной алгебры Maxima с открытым исходным кодом (также называемой CAS , как коммерческие системы Maple или Mathematica ).
Сама по математике она ничего не научит, но она наверняка сделает игру с математикой более интересной и увлекательной, что само по себе может побудить вас узнать больше.
источник
Вам не нужно много математики для "программирования".
Вам нужна математика для "информатики".
Если вы планируете использовать уже существующие библиотечные решения для всего, то вам, вероятно, все равно, как они работают. Но если вы планируете создавать свои собственные алгоритмы и структуры данных, вам нужно знать математику, поскольку CS в значительной степени основан на математике.
источник
Если вы заинтересованы в работе над искусственным интеллектом, обработкой данных, физическим моделированием или графикой, вам нужна математика. И наоборот, если нет, то я думаю, что нет. Это тот случай, когда вы используете его или теряете его, зачем учить французский, если вы не хотите жить во Франции? Есть много проблемных областей, которые просто требуют условной логики.
Сказав это, в программировании есть естественная склонность к математике, и она не принесет вам ничего, кроме хорошего, чтобы получить некоторое понимание этого.
источник
Посмотрите на Matlab . Это язык, предназначенный для выполнения математических функций в коде.
источник
Математика - это наука с очень широкой областью. Существуют разные виды математики, которые явно не имеют ничего общего (кроме математики).
Теперь программирование часто ассоциируется с математикой, потому что компьютеры вычисляют и вычисляют, в основном они делают это с целочисленными типами данных или типами данных с плавающей запятой в дискретных шагах.
Есть области математики, которые вы можете изучать, программируя, «приближая» математику в программе. Допустим, вы изучаете дифференциальное исчисление и вычисляете числовые значения для небольших интервалов, тем самым «эмулируя» предел «чистой» математики.
Другие аспекты программирования легко сопоставляются с математикой (возможно, она не является частью вашего математического класса в старшей школе, но все же является ценной математикой, которая не входит в традиционную учебную программу). Теория типа для примера - или математическая индукция.
Часто единственным способом рассуждать о «правильности» фрагмента кода является, например, математическая индукция. Такое рассуждение особенно заметно в функциональных языках (рекурсия и т. Д.).
Т.е. есть много способов изучить математику во время программирования, но не вся математика легко доступна в вычислительной модели наших компьютеров и языков программирования.
источник
Я не смог найти запись в блоге, но я вспоминаю дизайнерский «шрифт» из поздней до первой эры пузыря (до '01-го), который писал в блоге об обнаружении любви к математике, став веб-разработчиком и осознавая, что он был на самом деле он был довольно хорош в этом, даже несмотря на то, что он всегда с треском проваливался в старших классах и полагал, что он просто не из тех, кто когда-либо будет хорош в математике, а затем считал себя хитрым типом.
Нет, не я. Мне было просто лень. Я должен переучивать триг иногда, но это все.
ИМО, вы можете написать много приличного кода без глубоких математических знаний, пока не сможете, в основном.
Однако то, что программирование МОЖЕТ сделать для любого, кто интересуется им с достаточным интересом, - это помочь вам преодолеть представление о том, являетесь ли вы этим человеком или таким человеком, и дать вам инструменты, необходимые для того, чтобы просто попробовать что-то узнайте сами, насколько далеко зайдут ваши интересы в данной области.
И, конечно, все, что мы делаем, связано в беде с математикой, так что вы можете обнаружить, что вы уже узнали больше, чем вы поняли, когда вы делаете такие вещи, как узнавать о том, что такое обратное суммирование.
источник
Другой вариант - использовать вашу любовь к программированию, чтобы стимулировать желание изучать математику. Практически все становится легче учиться, если вы изучаете его с определенной проблемой, к которой хотите применить, и математика не является исключением. Вам просто нужно выяснить сложные математические проблемы программирования, которые вас интересуют, и использовать их в качестве причины для изучения соответствующей математики. Изучение линейной алгебры, чтобы вы могли играть, например, с графикой или с вероятностью и статистикой для обработки изображений / компьютерного зрения.
Я думаю, что ваш пробег будет варьироваться в зависимости от этого, так как разные люди имеют разные способы изучения вещей, но сидеть и изучать математику в резюме для изучения математики просто никогда не работал для меня.
источник
Ну, вы можете попросить студентов решить некоторые геометрические задачи, такие как рисование квадрата, пятиугольника, шестиугольника и круга с помощью Scratch. Попросите их разработать решения и НЕ отвечайте им о том, КАК его кодировать. Пусть они исследуют и тестируют решения. По крайней мере, вы можете задать такие вещи, как сумма углов в многоугольниках. Затем они могут строить алгоритмы и свои собственные категории.
источник