Глава 4 Выражения и оператор присваивания
Операция конкатенации (+) используется для того, чтобы присоединить
одну строку к другой. Длина результирующей строки равна сумме длин соединяемых
строк. В случае несовпадения типа данных второго или последующих операндов со
строковым типом, их значение преобразуется к строковому типу в соответствии
с правилами преобразования типов.
Пример:
·
Для того, чтобы удалить ненужные пробелы, используются системные
функции СокрЛ и СокрП.
ФИО = СокрП(Фамилия) + + СокрП(Имя) +
+ СокрП(Отчество);
Логическая операция сравнивает операнды и вырабатывает логическое значение:
«истина» или «ложь». Существует два вида логических операций: операции сравнения
и булевы операции. В операциях сравнения сравниваются два значения. Булевы операции
выполняются над логическими значениями, реализуя булеву алгебру. Символы булевых
операций могут комбинироваться, образуя составные операции.
Операции сравнения:
В языке определены следующие виды операций сравнения:
больше |
(Оп1 Оп2) |
больше или равно |
(Оп1 = Оп2) |
равно |
(Оп1 = Оп2) |
не равно |
(Оп1 Оп2) |
меньше |
(Оп1 Оп2) |
меньше или равно |
(Оп1 = Оп2) |
Операции сравнения определены для следующих типов операндов:
Больше |
Число Число |
|
Строка Строка |
|
Дата Дата |
Больше или равно: |
Число = Число |
|
Строка = Строка |
|
Дата = Дата |
Меньше: |
Число Число |
|
Строка Строка |
|
Дата Дата |
Меньше или равно: |
Число = Число |
|
Строка = Строка |
|
Дата = Дата |
Равно: |
Число = Число |
|
Строка = Строка |
|
Дата = Дата |
|
АгрегатныйТип = АгрегатныйТип |
Не равно: |
Число Число |
|
Строка Строка |
|
Дата Дата |
|
АгрегатныйТип АгрегатныйТип |
Булевы операции:
В языке определены следующие виды булевых операций:
И или AND |
конъюнкция (булево И) |
ИЛИ или OR |
дизъюнкция (булево ИЛИ) |
НЕ или NOT |
логическое отрицание (булево отрицание НЕ) |
Константа числового типа представляется в виде:
[‘+’| ‘-’]{‘0’|’1’|’2’|’3’|’4’|’5’|’6’|’7’|’8’|’9’}[.{‘0’|’1’|’2’|’3’|’4’|’5’|’6’|’7’|’8’|’9’}]
Пример:
0 123 -15 +24.11 0.245
Дата задается в формате 'ДД.ММ.ГГ' или 'ДД.ММ.ГГГГ' (дата заключается в одиночные
кавычки). Неопределенная дата задается как '00.00.00'.
Пример:
'12.04.95' '01.01.1996'
Константа строкового типа представляется как любая последовательность символов,
заключенных в двойные кавычки.
Пример:
Ура заработала
Это самая правильная строка
Кроме того, допускаются «многострочные» строковые константы. В исходном тексте
многострочные константы могут задаваться двумя способами:
·
Первый вариант: В данном случае между фрагментами, представляющими
отдельные строки многострочной константы, не должно встречаться никаких символов,
за исключением пробелов, переводов строки и строк комментариев.
Пример:
Стр = Первая строка // пример строковой константы
Вторая строка
Третья строка;
·
Второй вариант: В данном примере значение константы полностью
идентично предыдущему примеру. Отличие заключается в том, что каждая отдельная
составляющая не замыкается кавычками, а на каждой последующей строке помещен
символ переноса строки |. В этом варианте комментарии между открывающей
и закрывающей кавычками не допускаются.
Пример:
Стр = Первая строка
|Вторая строка
|Третья строка;
Строковые выражения могут использоваться в качестве параметров методов, процедур
и функций, либо в правой части оператора присваивания. Строковым выражением
может быть отдельная строка или сложное сочетание строковых констант, функций
и операций. То, что выражение является строковым, определяется по первому операнду.
В случае несовпадения типа второго и последующих операндов со строковым типом,
их значения преобразуются к требуемому типу в соответствии с правилами преобразования
типов. Чтобы указать, что выражение является строковым, можно, например, начинать
его с пустой строки символов .
Пример:
Стр = СокрП(Фамилия + , + Имя + ,
+ отчество);
Стр1 = + Докум.Цена + Валюта.СокрНаим;
В логических выражениях происходит вычисление логического значения (истина/ложь).
Обычно логические выражения используются в управляющих операторах, в которых
на основании результата логического выражения определяется дальнейшая последовательность
выполнения программы. Логические выражения вычисляются слева направо. Для того,
чтобы избежать неоднозначности и управлять последовательностью операндов, следует
применять круглые скобки.
Уровни старшинства логических операций:
Уровень 1 |
операнды, заключенные в скобки |
Уровень 2 |
NOT |
Уровень 3 |
AND |
Уровень 4 |
OR |
Пример:
Стр = Угадал!;
а = ВвестиСтроку(Стр, Назови пароль!, 15);
Если (а=1) И ((Стр = пароль) ИЛИ (Стр = Пароль))
Тогда
Сообщить(Стр);
КонецЕсли;
Оператор присваивания
Синтаксис:
Назначение = Источник;
Параметры:
Назначение |
В качестве Назначения может выступать простая
переменная, элемент массива, атрибут агрегатного типа данных (который
допускает запись). Элемент массива задается как
Имя_массива[Индексное_выражение]. |
Источник |
Выражение. |
Описание:
Оператор присваивания (символ =) означает присваивание значения
Источник переменной, обозначенной как
Назначение.
Пример:
А = В;
Стр1 = 777;
ДатаДок = '14.04.96';
Содержание раздела