Нужно ли знать математику при программировании

Нужна ли веб-программисту высшая математика?

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

Одни говорят, что веб-программмисту нужна высшая математика, другие говорят, что школьной достаточно. Один мне говорит, после заданного вопроса: «Ну попробуй без математики в веб пойти. Знаешь, что такое шифрование и алгоритмы шифрования? Так вот — это чистая математика, можно сказать такое страшное для многиг слово — это ДИСКРЕТНАЯ МАТЕМАТИКА», другой говорит, что дискретная математика очень нужная, без нее трудно обойтись.

Спрашиваю: — «В каком языке применяется?», а мне в ответ: — «Эммм. взять хотя бы использование матрицы в массивах. » В общем, завели меня в заблуждение. Скажите Вы мне, люди добрые, нужна ли веб-программисту высшая математика, или будет достаточно математики за 11 классов?

madmages

тут стоит определиться сначала кто такой веб программист: тот кто делает сайты или тот кто делает серверные программы(apache\nodejs\NGnix). Всю жизнь думал и думаю что веб программист это тот кто сайты клепает и вот такому вышка не особо нужна. Сам вощемто такой. В вузе не учился, образование 11 классов, самоучка, и стажа уже почти год. Знаний математики на уровне 0+52 = 52 хватает, но определенно ощущаю что чтобы начать делать серъезные веб приложения с постройкой графиков\стастистики и прочих радостях моих знаний не хватит. Вощем: хочешь делать сайты — школьной математики хватит

Читайте также:  D fly 16 fort программирование брелков

Источник

Насколько программист должен знать математику?

Недавно я прошёлся по Сети и встретил самые разные мнения о том, нужна ли вообще программисту математика, и если да, то насколько. Попробую всё обобщить и подвести итог.

Для начала следует заметить, что математика в нашей жизни присутствует практически везде. Физика без математики немыслима — здесь, я думаю, всё ясно, и пояснять нет надобности. Химия тоже. В биологии влияние математики заметно меньше, но и там она присутствует (взять, например, растительные структуры, многие из них — квазифракталы). Музыку можно представлять в математическом виде. Немыслим без математики дизайн — обязательно присутствует геометрия — раздел математики. Да что там — даже историку и то нужна математика (хотя бы для того, чтобы даты считать).

Правда, есть здесь одно «но»: а что вообще представляет собой математика? Вопрос вовсе не праздный, ибо сам вопрос «насколько нужно знать математику» довольно расплывчатый. Математика представляет собой комплекс наук: сам фундамент — арифметика, затем идёт алгебра, элементарная геометрия, мат. анализ, аналитическая геометрия. Высшие её разделы — дискретная математика, булева алгебра, топология, теория чисел (высшая арифметика) и многие другие разделы, а также теория вероятности и статистика. Теперь уже возникает более чёткий вопрос: что из этого надо знать программисту?

Первый пункт не обсуждается — арифметику нужно знать, разумеется, всем людям. Без неё невозможно составить даже самую простейшую программу, да и вообще без неё немыслима никакая наука.

А вот дальше всё немного сложнее — те разделы математики, которые нужны программисту, определяются спецификацией того, что он пишет. Если написать надо музыкальную студию а-ля Cubase — обязательно нужно знать физику звука и разделы математики, связанные с ней. Если же речь идёт о графической студии — профессионально знать геометрию (а если студия трёхмерная, то также топологию и матричную алгебру). А если речь идёт о трёхмерной игре, то надо знать векторную алгебру и вдобавок ньютоновскую механику.

Так как программирование — это в основном алгоритмы, то любой программист должен очень хорошо знать теорию алгоритмов, теорию графов, булеву алгебру и дискретную математику, чтобы писать не просто работающие программы, а хорошо работающие. Или лучше: очень хорошо работающие.

Так нужна она или нет?

А я вообще так скажу: если, скажем, в античные времена программирование уже существовало бы, программист того времени не просто хорошо знал бы математику. Такой «программист» также умел бы боксировать, фехтовать, устраивать скачки на лошадях, мореходствовать, мастерить, говорить на восьми иностранных языках, сочинять фуги и токкаты, знал, что такое гексаметр, прекрасно писал (с ударением на А) картины и много чего ещё. Причём иногда он делал это одновременно, да с такой скоростью, что любой современный «интел кор» тихо покуривает в сторонке.

Источник

Математика для программистов: что надо знать для типовых проектов

Вопрос “нужна ли математика в программировании” занимает лидирующие позиции на протяжении десятилетий. Одни говорят, что без математики никуда, другие, что нужно уточнять о какой математике идет речь, третьи считают что в программировании математики нет.

Так нужна или не нужна? Короткий ответ: не нужна.

Подробнее о том, что из математики действительно пригодится в программировании, — рассказал Кирилл Мокевнин, сооснователь онлайн-школы программирования Хекслет.

Какая математика нужна в программировании

Математика в программировании конечно же есть, но на очень базовом уровне. Даже если вдруг вы забыли основы из школьного курса, то это легко восстанавливается (или учится) в процессе.

Что туда входит

В основном это арифметика, немного логики (если A то B), нахождение остатка от деления, проверка числа на четность и операции над множествами. Чуть ниже мы разберем каждый из этих пунктов.

Более сложная математика тоже бывает нужна. Но в специфических случаях. Например, для создании редакторов, нужнатригонометрия, для систем аналитики нужна статистика, а в 2d или 3d моделировании (в том числе игры) – линейная алгебра. Кроме того, существуют люди, которые разрабатывают алгоритмы, языки программирования, симуляторы физических процессов (например погоды) и так далее.

Большая же часть разработки — это создание мобильных приложений, десктопных приложений и веб-сервисов, где во многом все сводится к получению, хранению, несложной обработке и выводу пользовательских данных.

Почему же многие считают, что математика нужна

Чаще всего в таких случаях имеют ввиду две вещи:

  • Это говорят люди с высшим образованием. И в большинстве случаев — это история не про обязательные знания математики, а про «мы потратили 5 лет на изучение этого, значит это должно быть не зря».
  • Математикам проще стать программистами. Объясняется это очень просто: математики быстрее видят суть, легко вникают в абстрактные концепции, видят причинно-следственные связи. Аналитическое мышление сильно помогает при старте в профессии и на практике.

Что из математики реально нужно знать в программировании

Как я уже писал выше, в программировании много базовой арифметики, особенно в стиле «прибавить единицу» или «вычесть единицу». Это связано с темой циклов и массивов, где нужно оперировать порядковыми номерами.

Остаток от деления

Следующее по частоте — это остаток от деления. Напомню, что остатком от деления называется число, которое остается после того, как одно число поделили на другое нацело. Пара примеров:

11 / 5 = ? 11 на 5 нацело не делится, но 10 делится, поэтому остаток от деления – 1.

Как это знание применяется? Остаток от деления нужен для определения четности числа. Если число делится без остатка на 2, то это четное число, иначе — нечетное.

10 – четное, 11 – нечетное (остаток 1), 25 – нечетное (остаток 1).

Практически во всех языках операция поиска остатка делается через оператор %.

10 % 5 — такое выражение равно нулю, так как остаток ноль.
11 % 5 — такое выражение равно единице, так как остаток единица.

С помощью остатка от деления мы можем разбить набор данных на группы. Типичный пример это вывод на экране. Чтобы вывести информацию в три колонки, придется определять то, в какую колонку пойдет информация и для этого понадобится остаток от деления.

Проценты

Дальше идут проценты. Причем для поиска процентов символ % не используется. Как мы уже видели, он используется для остатка от деления.

Логические выражения

Так как программирование сильно завязано на условия: «Если нажали кнопку, то надо показать меню», то во все языки вшита булева алгебра. Не пугайтесь сложному и непонятному названию. Это правила, по которым выполняются операции с истинной (true) и ложью (false). Вот несколько практических примеров, как это используется у нас в Хекслете:

  • Если вы заполнили имя и фамилию, то ваших сообщениях выводятся именно они, если нет, то выводится автоматически сгенерированное имя;
  • Если вы оплатили доступ к одному курсу, то у вас открывается доступ ко всем курсам платформы.

Упрощенно, множества это наборы (коллекции или списки) каких-то элементов. В программировании мы все время имеем дело со множествами: у нас есть список пользователей сайта, список студентов курса, список людей, посмотревших эту статью.

Над множествами можно производить операции. Например, мы можем найти общих друзей у двух пользователей, сравнив списки друзей каждого из этих пользователей. В теории множеств такая операция называется пересечением. В программировании такие задачи встречаются регулярно.

По большому счету это все. Конечно с ростом профессионального уровня и сложностью задач, математика может прорываться то тут то там. Но на начальном этапе, в большинстве задач встретятся только указанные выше примеры.

Источник

Оцените статью