HTML Diff
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>