Математика для программистов: что надо знать для типовых проектов
Рассказываем, нужна ли математика программистам, что действительно пригодится в программировании и что нужно для типовых проектов.
3К открытий5К показов
Вопрос “нужна ли математика в программировании” занимает лидирующие позиции на протяжении десятилетий. Одни говорят, что без математики никуда, другие, что нужно уточнять о какой математике идет речь, третьи считают что в программировании математики нет.
Так нужна или не нужна? Короткий ответ: не нужна.
Подробнее о том, что из математики действительно пригодится в программировании, — рассказал Кирилл Мокевнин, сооснователь онлайн-школы программирования Хекслет.
Какая математика нужна в программировании
Математика в программировании конечно же есть, но на очень базовом уровне. Даже если вдруг вы забыли основы из школьного курса, то это легко восстанавливается (или учится) в процессе.
Что туда входит
В основном это арифметика, немного логики (если 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К открытий5К показов