Написать пост

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

Аватарка пользователя Kirill Mokevnin

Рассказываем, нужна ли математика программистам, что действительно пригодится в программировании и что нужно для типовых проектов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

10 / 5 = 2 Тут остаток от деления — 0, так как 10 делится на 5 без остатка; 11 / 5 = ? 11 на 5 нацело не делится, но 10 делится, поэтому остаток от деления – 1.

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

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

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

Выглядит это так:

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

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

Проценты

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

Как, например, найти 10 процентов от какого-то числа? Умножить на 0.1: 200 * 0.1 = 20Как найти 120% от числа?200 * 1.2 = 240

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

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

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

Множества

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

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

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

Следите за новыми постами
Следите за новыми постами по любимым темам
3К открытий3К показов