Условный оператор Если — различия между версиями
Тест (обсуждение | вклад) м |
Тест (обсуждение | вклад) м (→***) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 11: | Строка 11: | ||
В языке программирования [[Перфолента.Net]] условные операторы используются для изменения логики работы программы путем изменения порядка выполнения операторов. | В языке программирования [[Перфолента.Net]] условные операторы используются для изменения логики работы программы путем изменения порядка выполнения операторов. | ||
− | Условный оператор Если используется чаще всего: | + | Условный оператор '''Если''' используется чаще всего: |
'''Если''' Условие '''Тогда''' | '''Если''' Условие '''Тогда''' | ||
Строка 17: | Строка 17: | ||
'''КонецЕсли''' | '''КонецЕсли''' | ||
− | ''' | + | '''Замечание''': Ключевое слово '''Тогда''' оставлено для совместимости с кодом 1С-совместимых языков программирования, не является обязательным и может быть пропущено. |
− | + | * '''Если Вы не знаете''', что такое [[Логические операции в языке Перфолента.NET]] - освежите в памяти. | |
− | Б = 10 | + | Условием в операторе '''Если''' может быть любое выражение, результат которого будет к логического типа '''Булево''' () : |
− | '''Если''' Б > 0 '''Тогда''' | + | |
− | + | Б = 10 // присваиваем переменной Б | |
+ | '''Если''' (Б + 6) > 0 '''Тогда''' // 10+6 = 16 -> 16 > 0 - результат ЛОГИЧЕСКОЙ (Булевой) операции сравнения 16 и 0 будет '''Истина''' | ||
+ | ВыполнитьВажнуюПроцедуру() | ||
'''КонецЕсли''' | '''КонецЕсли''' | ||
− | Другой вариант | + | Другой вариант - выражение (Было Или Будет) в следующих строках программы: |
Было = Истина | Было = Истина | ||
Будет = Ложь | Будет = Ложь |
Текущая версия на 17:04, 27 сентября 2020
Содержание
Синтаксис языка Перфолента
2.1 Переменные. Объявление переменных, инициализация и их использование
2.2 Типы данных в языке Перфолента
2.3 Массивы. Создание массивов, заполнение данными, обращения к элементам и другие операции с массивами
2.4 Структура программы на языке Перфолента.Net
2.5 Условный оператор Если
2.7 Оператор условного выбора блока кода Выбор Для
2.8 Функции и процедуры в языке Перфолента
2.9 Оператор Попытка. Структурная обработка ошибок
2.10 Работа с файлами
2.11 Директивы препроцессора. Выполнение действий перед компиляцией
Практика программирования на языке Перфолента
3.1. Многозадачность и многопоточность в языке Перфолента.Net
Как изменить последовательность выполнения операторов в зависимости от выполнения каких-либо условий?
В самом простом случае мы можем воспользоваться условным оператором Если.
***
В языке программирования Перфолента.Net условные операторы используются для изменения логики работы программы путем изменения порядка выполнения операторов.
Условный оператор Если используется чаще всего:
Если Условие Тогда // блок операторов программы, которые выполнятся только если выполнится условие. КонецЕсли
Замечание: Ключевое слово Тогда оставлено для совместимости с кодом 1С-совместимых языков программирования, не является обязательным и может быть пропущено.
- Если Вы не знаете, что такое Логические операции в языке Перфолента.NET - освежите в памяти.
Условием в операторе Если может быть любое выражение, результат которого будет к логического типа Булево () :
Б = 10 // присваиваем переменной Б Если (Б + 6) > 0 Тогда // 10+6 = 16 -> 16 > 0 - результат ЛОГИЧЕСКОЙ (Булевой) операции сравнения 16 и 0 будет Истина ВыполнитьВажнуюПроцедуру() КонецЕсли
Другой вариант - выражение (Было Или Будет) в следующих строках программы:
Было = Истина Будет = Ложь Если Было Или Будет ВыполнитьВажнуюПроцедуру() КонецЕсли
Теперь представим, что условие не выполнилось и нам хочется выполнить кусочек кода для обработки этой ситуации. Используем форму оператора Если-Тогда-Иначе:
Если УсловноеВыражение //блок операторов программы //которые выполнятся //когда условное выражение имеет значение Истина Иначе //блок операторов программы //которые выполнятся //когда условное выражение имеет значение Ложь КонецЕсли
А что делать, если условий много, но принять во внимание мы можем только одно из них, а именно то, которое первое по списку имеет значение Истина? Тогда используем более сложную форму оператора, в которой может быть несколько секций ИначеЕсли:
Если Условие1 Стр = "Истинно условие 1" ИначеЕсли Условие2 Стр = "Истинно условие 2" ИначеЕсли Условие3 Стр = "Истинно условие 3" ИначеЕсли Условие4 Стр = "Истинно условие 4" Иначе Стр = "Все условия ложны" КонецЕсли ВыводСтроки Стр
В какую секцию условного оператора мы не попадем, все равно, после выполнения всех операторов этой секции, управление будет передано на оператор, следующий за ключевым словом КонецЕсли.
Хорошо, но что делать, если один и тот же блок операторов должен выполняться тогда, когда истинно одно из нескольких условий?
В этом случае мы можем объединить все условия в одно выражение с помощью оператора Или:
Если Условие1 или Условие2 или Условие3 или Условие4 Тогда Стр = "Истинно одно из условий" Иначе Стр = "Все условия ложны" КонецЕсли
Точно так же поступим, если один и тот же блок операторов должен выполняться тогда, когда истинны все из нескольких условий?
Только в этом случае мы объединим условия в одно выражение с помощью оператора И:
Если Условие1 и Условие2 и Условие3 и Условие4 Тогда Стр = "Истинны все условия" Иначе Стр = "Все условия ложны" КонецЕсли
Условные операторы, как и другие блочные операторы, могут быть вложены друг в друга, для создания более изощрённой логики:
Если ГлавноеУсловноеВыражение Если ВнутреннееУсловноеВыражение //блок операторов программы Иначе Если Условие1 или Условие2 //блок операторов программы Иначе //блок операторов программы КонецЕсли КонецЕсли Иначе //блок операторов программы Если ПромежуточноеУсловие Тогда //блок операторов программы КонецЕсли //блок операторов программы
КонецЕсли
Иногда, кое-кому, хочется записать условный оператор в одну строку. Есть такие программисты, которые любят писать много текста в одну строку.
В этом случае необходимо не забывать об использовании разделителя точка с запятой (;) между операторами в блоках кода расположенных в секциях оператора Если:
Пример:
А=4; Б=2; С=Истина; Если А>Б Тогда Б=7; С=Ложь Иначе Б=5 КонецЕсли ВыводСтроки ""+Б+" "+С
Итог:
Если вам необходимо изменить последовательность выполнения операторов программы в зависимости от выполнения каких-либо условий – используйте блочный условный оператор Если.
Синтаксис языка Перфолента
2.1 Переменные. Объявление переменных, инициализация и их использование
2.2 Типы данных в языке Перфолента
2.3 Массивы. Создание массивов, заполнение данными, обращения к элементам и другие операции с массивами
2.4 Структура программы на языке Перфолента.Net
2.5 Условный оператор Если
2.7 Оператор условного выбора блока кода Выбор Для
2.8 Функции и процедуры в языке Перфолента
2.9 Оператор Попытка. Структурная обработка ошибок
2.10 Работа с файлами
2.11 Директивы препроцессора. Выполнение действий перед компиляцией
Практика программирования на языке Перфолента
3.1. Многозадачность и многопоточность в языке Перфолента.Net