Арифметические операторы
Общее представление
Арифметический оператор - символ или сочетание символов в языке программирования и математике, которое задаёт элементарную арифметическую операцию над одним или несколькими операндами.
В школьной информатике под арифметическими операторами обычно понимают операции сложения, вычитания, умножения и деления, а также операции целочисленного деления и остатка от деления. Примеры обыкновенных вычислений выглядят как или более общая запись .
Операторы бывают бинарными — когда требуется два операнда (например, или ), и унарными — когда только один операнд (например, ). Знание семантики каждого оператора важно для написания корректных алгоритмов и программ.
Основные арифметические операторы
Сложение - операция объединения величин, дающая суммарное значение.
Операция сложения в общем виде записывается как , где a и b — числовые значения или выражения. На практике часто встречается простая числовая иллюстрация: .
Вычитание - операция нахождения разности между двумя величинами.
Вычитание записывают как . Эта операция используется для уменьшения величины, сравнения разностей и при вычислении приращений в задачах информатики.
Умножение и деление
Умножение - операция повторного сложения одного числа указанное число раз.
Умножение обозначается как . Оно играет фундаментальную роль при вычислениях площадей, масштабировании и при работе с массивами чисел.
Деление - операция распределения одной величины на равные части.
Обычное (вещественное) деление записывают как . В разных языках программирования один и тот же оператор может возвращать вещественный результат или, при целочисленном делении, отбрасывать дробную часть.
Остаток от деления и целочисленное деление
Оператор остатка (модуль) - вычисляет остаток от деления одного целого числа на другое.
Оператор остатка часто обозначают как . Он полезен для проверки чётности (деление на 2), циклических операций и работы с индексами в структуре данных по модулю размера.
Целочисленное деление - операция деления с усечением дробной части (обычно к целой части вниз).
Целочисленное деление можно записать формально как . В разных языках оно может реализовываться по-разному (округление вниз, округление к нулю), поэтому важно знать семантику конкретного языка.
Унарные операторы и инкремент/декремент
К унарным операторам относятся операции вроде отрицания числа , а также операторы увеличения и уменьшения на единицу. В языках низкого уровня и C-подобных есть формы инкремента и декремента с префиксной и постфиксной семантикой: постфиксная запись и префиксная .
Семантика префиксных и постфиксных форм отличается: сначала увеличивает значение переменной, а затем возвращает новое значение; возвращает старое значение, а затем увеличивает переменную. Эквивалентная более явная запись инкремента — .
Пример: если i равно 1, то операция возвращает 1, но после неё i станет равным 2; операция вернёт 2 сразу.
Приоритет операций и скобки
При записи сложных выражений важно учитывать приоритет (преимущество) операций и ассоциативность. Как правило, умножение и деление выполняются раньше сложения и вычитания. Например запись выполняется как умножение перед сложением.
Если нужно изменить естественный порядок вычислений, используют скобки. В выражении сначала выполняется сложение в скобках, затем результат умножается на c.
Различие видно на примере: даёт другой результат, чем скобочная форма при тех же числах.
Модуль и примеры целочисленных операций
Оператор взятия остатка полезен в задачах, где нужно определить остаток от деления целого числа. Например, вычисление даст остаток, равный .
Если при делении возникает нулевой делитель, то вычисление не имеет смысла и ведёт к ошибке. В формальной записи проблема выглядит так: если выполняется деление с условием , то нужна проверка перед вычислением, иначе программа выдаст ошибку времени выполнения.
Пример вещественного и целочисленного деления: — вещественный результат, в то время как целочисленное деление даст и остаток .
Составные операторы присваивания
Для удобства многие языки поддерживают составные операторы присваивания, которые объединяют арифметическую операцию с присваиванием. Например, операция эквивалентна более явной записи .
Составные операторы сокращают код и уменьшают вероятность ошибок при многократных изменениях одной и той же переменной. Кроме того, они могут давать подсказку о намерении программиста: накопление суммы, умножение на коэффициент и т.п.
Возведение в степень и дополнительные операции
Хотя возведение в степень иногда рассматривается отдельно, его тоже удобно понимать как арифметическую операцию: например квадрат числа записывают как . Эта операция чаще всего реализуется специальными функциями или операторами в конкретных языках.
В задачах информатики комбинация всех перечисленных операторов позволяет решать широкий класс задач: от подсчёта сумм и средних величин до реализации сложных численных алгоритмов и работы с индексами в массивах.
Практические советы и ошибки
Всегда проверяйте типы данных: деление целых чисел в некоторых языках возвращает целую часть, в других — вещественное число. Приведение типов и явные преобразования помогают избежать логических ошибок.
Следите за порядком вычислений и используйте скобки там, где это делает код понятнее. Для наглядности в учебных задачах полезно сопровождать вычисления комментариями или промежуточными шагами, а там, где требуется визуализация, можно вставлять рисунок или диаграмму {IMAGE_0}.