К статьям

Арифметические операции

6 мин


Описание арифметических операций

Арифметические операции выполняются по математическим правилам. Результатом вычисления будет значение одного из простых типов. 

Существуют следующие арифметические операции: 

Операция

Описание

Приоритет

Разыменование, вызов метода и тп. (), . 1
Унарный минус -Значение  2
Умножение Множитель1 * Множитель2 3
Деление  Делимое / Делитель 3
Остаток от деления Делимое % Делитель 3
Сложение Слагаемое1 + Слагаемое2 4
Вычитание Уменьшаемое - Вычитаемое 4

Под цифрой 1 наивысший приоритет, операторы с одинаковым приоритетом вычисляются слева направо. Чтобы самостоятельно управлять последовательностью, нужно использовать круглые скобки ().

Результат = 3 * (+ 1) - 6 / 2;

Сообщить(Результат); // 15

  1. Действие в (): 5 + 1 = 6.
  2. Умножение: 3 * 6 = 18.
  3. Деление: 6 / 2 = 3.
  4. Разность: 18 - 3 = 15.

Функции работы с числами

1. Pow (<Основание>, <Степень>)

Возвращает число, <Основание> в степени <Показатель>.

  • <Основание> (обязательный) - Число, основание степени.
  • <Степень> (обязательный) - Число, степень.

Возвести число 2 в степень 10.

Результат = Pow(2, 10);

Сообщить(Результат); // 1 024

2. Sqrt(<Число>)

Возвращает квадратный корень числа.

  • <Число> (обязательный) - Число, подкоренное выражение.

Извлечь корень из числа 25.

Корень = sqrt(25);

Сообщить(Корень); // 5

3. Окр(<Число>, <Разрядность>, <РежимОкругления>)

Возвращает округленное число до числа знаков после запятой, указанного в разрядности (если не указывать, то 0).

  • <Число> (обязательный) - число, исходное число.
  • <Разрядность> (необязательный) - Число знаков после точки.
  • <РежимОкругления> (необязательный) -  Режим округления, если указан РежимОкругления.Окр15как10, округляет в меньшую сторону 1.5 = 1, если РежимОкругления.Окр15как20 (или не указано), округляет в большую сторону 1.5 = 2. Допустимо указывать числа вместо <РежимОкругления>, соответственно 0 и 1.

Округлить 123.455 с точностью до 2 знаков,  округлять 15 как 10.

Результат = Окр(123.455, 2, РежимОкругления.Окр15как10);

Сообщить(Результат); // 123.45

Округлить 123.455 с точностью до 2 знаков,  округлять 15 как 20.

Результат = Окр(123.455, 2, РежимОкругления.Окр15как20);

Сообщить(Результат); // 123.46

4. Цел (<Число>)

Возвращает целую часть числа, отбрасывая дробную.

  • <Число> - Число, исходное число

Получить целую часть числа 123.455.

Результат = Цел(123.455);

Сообщить(Результат); // 123

5. Тригонометрические функции

Функция(<Число>)

Возвращает число, результат вычисления тригонометрической функции.

  • <Число> (обязательный) - аргумент функции, определенный математическими правилами.

Примеры функций.

Пи = 3.14;

Сообщить(Cos(Пи / 3)); // Пи = 3.14

Сообщить(ACos(1));

Сообщить(Sin(Пи / 3));

Сообщить(ASin(0));

Сообщить(Tan(Пи / 2)); 

Сообщить(ATan(1)); 

Сообщить(Pow(E, 2)); // Е = 2.72 

Сообщить(Exp(2));

Сообщить(Log(10)); 

Примеры

1. Формулы на встроенном языке

S = a * b;

А = 1 / 2 * b * h;

S = a + b / 2 * n;

S = P * pow(R, 2);

S = a + d * (n - 1);

S = (b * -1) / (q - 1);

S = a * sqrt(3) / 4;

2.  Увеличить значение переменной «Индекс», равной 0, на 1. 

Индекс = 0;

Индекс = Индекс + 1;

Сообщить(Индекс); // 1

3. Уменьшить значение переменной Сч, равной 3, на 1. 

Сч = 3;

Сч = Сч - 1;

Сообщить(Сч); // 2

4. Округлить сумму 123.456 до сотых.

Результат = Окр(123.123, 2);

Сообщить(Результат); // 123,12

5. Получить целую часть числа 123.456.

Результат = Цел(123.456);

Сообщить(Результат); // 123

6. Получить остаток от деления 7 на 2.

 

ОстатокДеления = 7 % 2;

Сообщить(ОстатокДеления); // 1

7.  Найти модуль числа -1.

Функция Макс(<Значение1>, <Значение2>, ..., <ЗначениеN>) среди перечисленных значений возвращает максимальное.

Число = -1;

МодульЧисла = Макс(Число, -Число);

Сообщить(МодульЧисла); // 1

8. Найти минимальное число из трех чисел 10, 20, 30.

Функция Мин(<Значение1>, <Значение2>, ..., <ЗначениеN>) среди перечисленных значений возвращает минимальное.

ПервоеЧисло = 10;

ВтороеЧисло = 20;

ТретьеЧисло = 30;

МинимальноеЧисло = Мин(ПервоеЧисло, ВтороеЧисло, ТретьеЧисло);

Сообщить(МинимальноеЧисло); // 10

 9. Найти процент от числа. НДС 20% от 100 000.

Процент = 20;

Сумма = 100000;

Результат = Сумма * Процент / 100;

Сообщить(Результат); // 20 000

10. Выделить процент из числа. Найти сумму без НДС 20%, если сумма с НДС 12 000.

Сумма = 12000;

Процент = 20;

СуммаНДС = Сумма * Процент / (Процент + 100);

СуммаБезНДС = Сумма - СуммаНДС;

Сообщить(СуммаБезНДС); // 10 000

 11. Найти число, если известен процент. Найти сумму, если сумма НДС 20% 10 000.

СуммаНДС = 10000;

Процент = 20;

СуммаОбщая = СуммаНДС * 100 / Процент;

Сообщить(СуммаОбщая); // 50 000

12. Поменять значение двух переменных Число1, Число2, не используя третью.

Число1 = 3;

Число2 = 5;

Число1 = Число1 + Число2;  // Число1 = 8

Число2 = Число1 - Число2; // Число2 = 8 - 5 = 5

Число1 = Число1 - Число2; // Число1 = 8 - 5 = 3

Сообщить(Число1); // 5

Сообщить(Число2); // 3

13. Получить случайное число от 1 до 10.

ГенераторСлучайныхЧисел = Новый ГенераторСлучайныхЧисел();

СлучайноеЧисло = ГенераторСлучайныхЧисел.СлучайноеЧисло(1, 10);

Сообщить(СлучайноеЧисло);

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

Правильно:

ЧасоваяСтавка = 2000;

ЧасовОтработано = 2100;

Сумма = ЧасоваяСтавка * ЧасовОтработано;

Сообщить(Сумма);

 

ЧислоСекундСуток = 24 * 60 * 60; // Здесь числа и наименование переменной легко дает представление о смысле чисел

 Неправильно:

Сумма = 2000 * 2100// Здесь не ясно откуда получены числа 2000, 2100 и какой их практический смысл 

Сообщить(Сумма);

Задачи на эту тему:

Рейтинг 1

Комментарии