Выражения и оператор присваивания
Выражение – это математическая или логическая формула, по которой вычисляется значение. Математическое выражение может стоять справа от знака равенства в операторах присваивания, быть параметром процедур или функций, индексом массива переменных. Логическое выражение может быть условием в управляющих операторах Если, Пока, Для. Выражения состоят из констант, переменных и функций, связанных символами логических и/или арифметических операций.
Арифметические операции
В языке определены следующие виды арифметических операций:
сложение | (Оп1 + Оп2) |
вычитание | (Оп1 – Оп2) |
умножение | (Оп1 * Оп2) |
деление | (Оп1 / Оп2) |
остаток от деления | (Оп1 % Оп2) |
унарный минус | (-Оп1) |
Арифметические операции имеют один или два операнда, в зависимости от типа которых операция имеет ту или иную семантику. Тот или иной семантический вариант операции определяется по первому операнду. В случае несовпадения типа второго операнда с требуемым, значение преобразуется к требуемому типу в соответствии с правилами преобразования типов. Если тип первого операнда не соответствует ни одному из допустимых типов, то в зависимости от ситуации может производиться преобразование типов или возбуждаться состояние ошибки выполнения.
Сложение определено для следующих типов операндов: | Число + Число |
Дата + Число (к дате прибавляется число дней) | |
Вычитание определено для следующих типов операндов: | Число – Число |
Дата – Число (от даты отнимается число дней) | |
Дата – Дата (результатом является число дней между датами) | |
Умножение: | Число * Число |
Деление: | Число / Число |
Остаток от деления: | Число % Число |
Замечание
При выполнении операции % (остаток от деления) оба операнда операции округляются до целого значения.
Операция конкатенации
Операция конкатенации ("+") используется для того, чтобы присоединить одну строку к другой. Длина результирующей строки равна сумме длин соединяемых строк. В случае несовпадения типа данных второго или последующих операндов со строковым типом, их значение преобразуется к строковому типу в соответствии с правилами преобразования типов.
Пример:
· Для того, чтобы удалить ненужные пробелы, используются системные функции СокрЛ и СокрП. ФИО = СокрП(Фамилия) + " " + СокрП(Имя) + " " + СокрП(Отчество);