Для разработчика » Содержание справочника » Раздел 1. Введение во встроенный язык » Выражения » 
2

Математические выражения

Математические выражения – выражения, содержащие знаки арифметических операций и подчиняющиеся при вычислении арифметическим правилам. Результатом вычисления таких выражений является значение одного из простых (базовых) типов языка.

Математические выражения используются в правой части оператора присваивания, а также в качестве параметров процедур и функций

Во встроенном языке определены арифметические операции двух видов:

Символ Описание
Унарные
Минус
Бинарные
+ Операция сложения
Операция вычитания
* Операция умножения
/ Операция деления (делитель должен быть отличен от нуля)
% Определение остатка от деления

Унарные арифметические операции

Унарный минус
Данная арифметическая операция выполняет получение отрицательного (противоположного) значения.

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

Значение = 1;
//результат
// 1

Значение = -Значение;
//результат
// -1

Бинарные арифметические операции

Операция сложения
Данная арифметическая операция выполняет добавление значения второго операнда к значению первого. При этом тип значения получаемого результата определяется типом первого операнда. Если тип второго операнда не совпадает с типом первого, выполняется неявное преобразование типов.

Применимость операции сложения:

ОперандА ОперандБ Результат Комментарий
Число Число, Строка, Дата Число
Дата Число Дата К исходной дате добавляется количество дней, заданное вторым оператором
Строка Строка, Число, Дата Строка К исходной строке добавляются все символы второй. Длина конечной строки определяется суммой длин обеих строк. Такую операцию называют еще конкатенацией строк
Сумма = 1 + 1;
//результат
// 2

Сумма = 1 + «1»;
//результат
// 2

КонецМесяца = '01.01.2014' + 30;
//результат
// '31.01.2014'

Конкатенация = «Первая» + «Вторая»
//результат
// ПерваяВторая

Операция вычитания

Данная арифметическая операция выполняет вычитание значения второго операнда из значения первого. При этом тип значения получаемого результата определяется типом первого операнда. Если тип второго операнда не совпадает с типом первого, выполняется  неявное преобразование типов.

Применимость операции вычитания:

ОперандА ОперандБ Результат Комментарий
Число Число, Строка, Дата Число
Дата Число Дата От исходной даты отнимается количество дней, заданное вторым оператором
Дата Дата Число Вычисляется количество дней на которое первая дата больше второй
Разность = 1 - 1;
//результат
// 0

Разность = 1 - «1»;
//результат
// 0

НачалоМесяца = '31.01.2014' - 30;
//результат
// '01.01.2014'

КоличествоДней = '31.01.2014' - '01.01.2014';
//результат
// 30

Операция умножения

Данная арифметическая операция выполняет умножение значения первого операнда на значение второго. Операция применима только для типа Число. Если тип второго операнда не совпадает с типом первого, выполняется неявное преобразование типов.

Операция деления

Данная арифметическая операция выполняет деление значения первого операнда на значение второго. Операция применима только для типа Число. Если тип второго операнда не совпадает с типом первого, выполняется неявное преобразование типов.

Остаток от деления

Данная арифметическая операция вычисляет остаток от деления значения первого операнда на значение второго. Операция применима только для типа Число. Если тип второго операнда не совпадает с типом первого, выполняется неявное преобразование типов. Следует учитывать, что оба операнда операции округляются до целого значения.

Деление = 27.3 / 3;
//результат
// 9.1

ОстатокОтДеления = 10.1 % 3;
//результат
// 1

Приоритет выполнения арифметических операций

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

  1. Унарный минус;
  2. Умножение, деление, остаток от деления;
  3. Сложение и вычитание;

Для того, чтобы повлиять на порядок вычислений можно использовать круглые скобки.

Результат = (20 + 5) * 5 - 25 % 5;
//результат
// 125
1С Интерес

Комментарии

  1. день добрый, есть неточность в примере:
    ОстатокОтДеления = 10.1 % 3;
    правильный результат 1.1 , а не 1.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *