0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>На базовом уровне компьютеры оперируют только числами. Для сложения двух чисел в математике мы пишем, например, 3 + 4. В программировании - то же самое. В этом уроке разберем, как проводить арифметические операции в коде.</p>
1
<p>На базовом уровне компьютеры оперируют только числами. Для сложения двух чисел в математике мы пишем, например, 3 + 4. В программировании - то же самое. В этом уроке разберем, как проводить арифметические операции в коде.</p>
2
<h2>Арифметика в программировании</h2>
2
<h2>Арифметика в программировании</h2>
3
<p>Рассмотрим пример программы, которая складывает два числа:</p>
3
<p>Рассмотрим пример программы, которая складывает два числа:</p>
4
<p>Арифметика в программировании практически не отличается от школьной. Инструкция 3 + 4; заставит интерпретатор сложить числа и узнать результат. Эта программа будет работать, но в ней нет смысла, потому что по сути мы не даем команду интерпретатору, мы просто говорим ему "смотри, сумма трех и четырех".</p>
4
<p>Арифметика в программировании практически не отличается от школьной. Инструкция 3 + 4; заставит интерпретатор сложить числа и узнать результат. Эта программа будет работать, но в ней нет смысла, потому что по сути мы не даем команду интерпретатору, мы просто говорим ему "смотри, сумма трех и четырех".</p>
5
<p>В реальной работе недостаточно сообщать интерпретатору о математическом выражении. Например, при создании интернет-магазина недостаточно просить интерпретатор посчитать стоимость товаров в корзине. В этом случае нужно просить посчитать стоимость и показать цену покупателю.</p>
5
<p>В реальной работе недостаточно сообщать интерпретатору о математическом выражении. Например, при создании интернет-магазина недостаточно просить интерпретатор посчитать стоимость товаров в корзине. В этом случае нужно просить посчитать стоимость и показать цену покупателю.</p>
6
<p>Нам нужно попросить интерпретатор сложить 3 + 4 и дать команду сделать что-то с результатом. Например, вывести его на экран:</p>
6
<p>Нам нужно попросить интерпретатор сложить 3 + 4 и дать команду сделать что-то с результатом. Например, вывести его на экран:</p>
7
<p>Кроме сложения доступны следующие операции:</p>
7
<p>Кроме сложения доступны следующие операции:</p>
8
<ul><li>* - умножение</li>
8
<ul><li>* - умножение</li>
9
<li>/ - деление</li>
9
<li>/ - деление</li>
10
<li>- - вычитание</li>
10
<li>- - вычитание</li>
11
<li>% -<a>остаток от деления</a></li>
11
<li>% -<a>остаток от деления</a></li>
12
<li>** - возведение в степень</li>
12
<li>** - возведение в степень</li>
13
</ul><p>Эти знаки операций называют операторами. Поговорим о них подробнее.</p>
13
</ul><p>Эти знаки операций называют операторами. Поговорим о них подробнее.</p>
14
<h2>Операторы</h2>
14
<h2>Операторы</h2>
15
<p>Знак операции, например, +, называют<strong>оператором</strong>. Операторы обычно представлены одним или несколькими символами, реже - словом. Обычно они соответствуют математическим операциям.</p>
15
<p>Знак операции, например, +, называют<strong>оператором</strong>. Операторы обычно представлены одним или несколькими символами, реже - словом. Обычно они соответствуют математическим операциям.</p>
16
<p>Операторы выполняют операции над определенными значениями, которые называются<strong>операндами</strong>.</p>
16
<p>Операторы выполняют операции над определенными значениями, которые называются<strong>операндами</strong>.</p>
17
<p>Рассмотрим пример:</p>
17
<p>Рассмотрим пример:</p>
18
<p>Здесь + - это оператор, а числа 8 и 2 - это операнды.</p>
18
<p>Здесь + - это оператор, а числа 8 и 2 - это операнды.</p>
19
<p>Операции, которые требуют наличия двух операндов, называются<strong>бинарными</strong>. В случае сложения у нас есть два операнда: один слева от знака +, другой - справа. Если пропустить хотя бы один операнд, например, 3 + ;, то программа завершится с синтаксической ошибкой.</p>
19
<p>Операции, которые требуют наличия двух операндов, называются<strong>бинарными</strong>. В случае сложения у нас есть два операнда: один слева от знака +, другой - справа. Если пропустить хотя бы один операнд, например, 3 + ;, то программа завершится с синтаксической ошибкой.</p>
20
<p>Еще операции бывают<strong>унарными</strong>- с одним операндом, и<strong>тернарными</strong>- с тремя операндами. Причем операторы могут выглядеть одинаково, но обозначать разные операции.</p>
20
<p>Еще операции бывают<strong>унарными</strong>- с одним операндом, и<strong>тернарными</strong>- с тремя операндами. Причем операторы могут выглядеть одинаково, но обозначать разные операции.</p>
21
<p>Символы + и - используются не только как операторы. Когда речь идет про отрицательные числа, то знак минуса становится частью числа:</p>
21
<p>Символы + и - используются не только как операторы. Когда речь идет про отрицательные числа, то знак минуса становится частью числа:</p>
22
<p>Выше пример применения унарной операции к числу 3. Оператор - перед тройкой говорит интерпретатору взять число 3 и найти противоположное, то есть -3. Это может сбить с толку, потому что -3 - это одновременно и число, и оператор с операндом. Но у языков программирования такая структура:</p>
22
<p>Выше пример применения унарной операции к числу 3. Оператор - перед тройкой говорит интерпретатору взять число 3 и найти противоположное, то есть -3. Это может сбить с толку, потому что -3 - это одновременно и число, и оператор с операндом. Но у языков программирования такая структура:</p>
23
<p>То же самое касается и плюса:</p>
23
<p>То же самое касается и плюса:</p>
24
<h2>Коммутативная операция</h2>
24
<h2>Коммутативная операция</h2>
25
<p>В программировании используется базовый закон арифметики: от перемены мест слагаемых сумма не меняется. Он называется<strong>коммутативным законом</strong>. Если поменять местами операнды в бинарной операции, и получится тот же результат, такая операция будет коммутативной. Получается, что сложение - коммутативная операция: 3 + 2 = 2 + 3.</p>
25
<p>В программировании используется базовый закон арифметики: от перемены мест слагаемых сумма не меняется. Он называется<strong>коммутативным законом</strong>. Если поменять местами операнды в бинарной операции, и получится тот же результат, такая операция будет коммутативной. Получается, что сложение - коммутативная операция: 3 + 2 = 2 + 3.</p>
26
<p>Вычитание не будет являться коммутативной операцией: 2 - 3 ≠ 3 - 2. В программировании этот закон тоже работает. Большинство операций, с которыми мы будем сталкиваться в реальной жизни, не являются коммутативными. Поэтому всегда нужно обращать внимание на порядок того, с чем работаем.</p>
26
<p>Вычитание не будет являться коммутативной операцией: 2 - 3 ≠ 3 - 2. В программировании этот закон тоже работает. Большинство операций, с которыми мы будем сталкиваться в реальной жизни, не являются коммутативными. Поэтому всегда нужно обращать внимание на порядок того, с чем работаем.</p>
27
<h2>Композиция операций</h2>
27
<h2>Композиция операций</h2>
28
<p>Разберем пример композиции операций:</p>
28
<p>Разберем пример композиции операций:</p>
29
<p>Операции можно соединять друг с другом. Это дает возможность вычислять более сложные составные выражения. Такое свойство операций называется<strong>композицией</strong>.</p>
29
<p>Операции можно соединять друг с другом. Это дает возможность вычислять более сложные составные выражения. Такое свойство операций называется<strong>композицией</strong>.</p>
30
<p>Композиция арифметических операций в программировании аналогична композиции из школьной программы. Она распространяется на все операции, а не только на арифметические.</p>
30
<p>Композиция арифметических операций в программировании аналогична композиции из школьной программы. Она распространяется на все операции, а не только на арифметические.</p>
31
<p>Чтобы представить, как происходят вычисления внутри интерпретатора, разберем пример: 2 * 4 * 5 * 10.</p>
31
<p>Чтобы представить, как происходят вычисления внутри интерпретатора, разберем пример: 2 * 4 * 5 * 10.</p>
32
<ol><li>Сначала вычисляется 2 * 4 и получается выражение 8 * 5 * 10</li>
32
<ol><li>Сначала вычисляется 2 * 4 и получается выражение 8 * 5 * 10</li>
33
<li>Затем 8 * 5. В итоге имеем 40 * 10</li>
33
<li>Затем 8 * 5. В итоге имеем 40 * 10</li>
34
<li>В конце происходит последнее умножение, и получается результат 400</li>
34
<li>В конце происходит последнее умножение, и получается результат 400</li>
35
</ol><h2>Приоритет операций</h2>
35
</ol><h2>Приоритет операций</h2>
36
<p>В школьной математике есть понятие "приоритет операции". Приоритет определяет, в какой последовательности должны выполняться операции.</p>
36
<p>В школьной математике есть понятие "приоритет операции". Приоритет определяет, в какой последовательности должны выполняться операции.</p>
37
<p>Допустим, нам нужно вычислить такое выражение: 2 + 2 * 2:</p>
37
<p>Допустим, нам нужно вычислить такое выражение: 2 + 2 * 2:</p>
38
<p>Интерпретатор производит арифметические вычисления в правильном порядке: сначала деление и умножение, потом сложение и вычитание, а приоритет возведения в степень выше всех остальных арифметических операций: 2 ** 3 * 2 вычислится в 16.</p>
38
<p>Интерпретатор производит арифметические вычисления в правильном порядке: сначала деление и умножение, потом сложение и вычитание, а приоритет возведения в степень выше всех остальных арифметических операций: 2 ** 3 * 2 вычислится в 16.</p>
39
<p>Иногда вычисления должны происходить в другом порядке. В этом случае приоритет задают круглыми скобками, например: (2 + 2) * 2. Скобки можно ставить вокруг любой операции. Они могут вкладываться друг в друга сколько угодно раз. Вот пара примеров:</p>
39
<p>Иногда вычисления должны происходить в другом порядке. В этом случае приоритет задают круглыми скобками, например: (2 + 2) * 2. Скобки можно ставить вокруг любой операции. Они могут вкладываться друг в друга сколько угодно раз. Вот пара примеров:</p>
40
<p>В этом случае главное закрывать скобки в правильном порядке. Это часто становится причиной ошибок не только у новичков, но и у опытных программистов. Для удобства можно сразу ставить открывающую и закрывающую скобки, а потом писать внутреннюю часть.</p>
40
<p>В этом случае главное закрывать скобки в правильном порядке. Это часто становится причиной ошибок не только у новичков, но и у опытных программистов. Для удобства можно сразу ставить открывающую и закрывающую скобки, а потом писать внутреннюю часть.</p>
41
<p>Сейчас большинство редакторов кода делают это автоматически. Например, мы ставим открывающую скобку, а он автоматически ставит закрывающую. Это касается и других парных символов, например, кавычек. О них - в будущих уроках.</p>
41
<p>Сейчас большинство редакторов кода делают это автоматически. Например, мы ставим открывающую скобку, а он автоматически ставит закрывающую. Это касается и других парных символов, например, кавычек. О них - в будущих уроках.</p>
42
<p>Иногда выражение сложно воспринимать визуально. Тогда можно расставить скобки, не повлияв на приоритет. Код пишется для людей, а машины будут только исполнять его. Для машин код - или корректный, или не корректный. Для них нет "более" понятного или "менее" понятного кода. Явная расстановка приоритетов упрощает чтение кода другими разработчиками.</p>
42
<p>Иногда выражение сложно воспринимать визуально. Тогда можно расставить скобки, не повлияв на приоритет. Код пишется для людей, а машины будут только исполнять его. Для машин код - или корректный, или не корректный. Для них нет "более" понятного или "менее" понятного кода. Явная расстановка приоритетов упрощает чтение кода другими разработчиками.</p>