Условный оператор Если — различия между версиями

Материал из ТХАБ.РФ
Перейти к: навигация, поиск
м (***)
м
Строка 1: Строка 1:
 
{{Описание языка Перфолента.NET-Содержание}}
 
{{Описание языка Перфолента.NET-Содержание}}
  
Как изменить последовательность выполнения операторов в зависимости от истинности каких-либо условий?  
+
Как изменить последовательность выполнения операторов в зависимости от выполнения каких-либо условий?  
  
В самом простом случае мы можем воспользоваться блочным условным оператором Если.
+
В самом простом случае мы можем воспользоваться условным оператором Если.
  
 
[[Файл:Изменение последовательности выполнения операторов.png|обрамить|слева|Изменение последовательности выполнения операторов]]
 
[[Файл:Изменение последовательности выполнения операторов.png|обрамить|слева|Изменение последовательности выполнения операторов]]
  
 +
=== *** ===
  
=== *** ===
+
В языке программирования [[Перфолента.Net]] условные операторы используются для изменения логики работы программы путем изменения порядка выполнения операторов.
В языке программирования Перфолента.Net условные операторы используются для изменения логики работы программы путем изменения порядка выполнения операторов.
 
  
 
Условный оператор Если используется чаще всего:
 
Условный оператор Если используется чаще всего:
  
  Если Условие Тогда
+
  '''Если''' Условие '''Тогда'''
     //блок операторов программы, которые выполнятся только если выполнится условие.
+
     // блок операторов программы, которые выполнятся только если выполнится условие.
  КонецЕсли     
+
  '''КонецЕсли'''    
 +
 
 +
'''Умнику на заметку''': Ключевое слово '''Тогда''' не является обязательным и может быть пропущено.
  
'''Умнику на заметку''': Ключевое слово Тогда не является обязательным и может быть пропущено.
+
Условием в операторе Если может быть любое выражение, результат которого можно привести к логическому типу Булево, например, выражение (Было Или Будет) в следующих строках программы:
  
Условием в операторе Если может быть любое выражение, результат которого можно привести к типу Булево, например, выражение (Было Или Будет) в следующих строках программы:
+
Б = 10
 +
'''Если''' Б > 0 '''Тогда'''
 +
    ВыполнитьВажнуюПроцедуру()
 +
'''КонецЕсли'''   
  
 +
Другой вариант
 
  Было = Истина
 
  Было = Истина
 
  Будет = Ложь
 
  Будет = Ложь

Версия 16:49, 27 сентября 2020

'Показать Содержание Описание языка Перфолента.NET'

Синтаксис языка Перфолента

2.1 Переменные. Объявление переменных, инициализация и их использование

2.2 Типы данных в языке Перфолента

2.3 Массивы. Создание массивов, заполнение данными, обращения к элементам и другие операции с массивами

2.4 Структура программы на языке Перфолента.Net

2.5 Условный оператор Если

2.6 Циклы в языке Перфолента

2.7 Оператор условного выбора блока кода Выбор Для

2.8 Функции и процедуры в языке Перфолента

2.9 Оператор Попытка. Структурная обработка ошибок

2.10 Работа с файлами

2.11 Директивы препроцессора. Выполнение действий перед компиляцией

Практика программирования на языке Перфолента

3.1. Многозадачность и многопоточность в языке Перфолента.Net


Как изменить последовательность выполнения операторов в зависимости от выполнения каких-либо условий?

В самом простом случае мы можем воспользоваться условным оператором Если.

Изменение последовательности выполнения операторов

***

В языке программирования Перфолента.Net условные операторы используются для изменения логики работы программы путем изменения порядка выполнения операторов.

Условный оператор Если используется чаще всего:

Если Условие Тогда
   // блок операторов программы, которые выполнятся только если выполнится условие.
КонецЕсли    

Умнику на заметку: Ключевое слово Тогда не является обязательным и может быть пропущено.

Условием в операторе Если может быть любое выражение, результат которого можно привести к логическому типу Булево, например, выражение (Было Или Будет) в следующих строках программы:

Б = 10
Если Б > 0 Тогда
   ВыполнитьВажнуюПроцедуру()
КонецЕсли    

Другой вариант

Было = Истина
Будет = Ложь
Если Было Или Будет
   ВыполнитьВажнуюПроцедуру()
КонецЕсли    

Теперь представим, что условие не выполнилось и нам хочется выполнить кусочек кода для обработки этой ситуации. Используем форму оператора Если-Тогда-Иначе:

Если УсловноеВыражение
   //блок операторов программы
   //которые выполнятся
   //когда условное выражение имеет значение Истина
Иначе
   //блок операторов программы
   //которые выполнятся
   //когда условное выражение имеет значение Ложь
КонецЕсли    

А что делать, если условий много, но принять во внимание мы можем только одно из них, а именно то, которое первое по списку имеет значение Истина? Тогда используем более сложную форму оператора, в которой может быть несколько секций ИначеЕсли:

Если Условие1
   Стр = "Истинно условие 1"
ИначеЕсли  Условие2
   Стр = "Истинно условие 2"
ИначеЕсли  Условие3
   Стр = "Истинно условие 3"
ИначеЕсли  Условие4
   Стр = "Истинно условие 4"
Иначе
   Стр = "Все условия ложны"
КонецЕсли
ВыводСтроки Стр

В какую секцию условного оператора мы не попадем, все равно, после выполнения всех операторов этой секции, управление будет передано на оператор, следующий за ключевым словом КонецЕсли.

Хорошо, но что делать, если один и тот же блок операторов должен выполняться тогда, когда истинно одно из нескольких условий?

В этом случае мы можем объединить все условия в одно выражение с помощью оператора Или:

Если Условие1
 или Условие2
 или Условие3
 или Условие4 Тогда
   Стр = "Истинно одно из условий"
Иначе
   Стр = "Все условия ложны"
КонецЕсли

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

Только в этом случае мы объединим условия в одно выражение с помощью оператора И:

Если Условие1
      и Условие2
      и Условие3
      и Условие4 Тогда
   Стр = "Истинны все условия"
Иначе
   Стр = "Все условия ложны"
КонецЕсли

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

Если ГлавноеУсловноеВыражение
       Если ВнутреннееУсловноеВыражение
           //блок операторов программы
       Иначе
               Если Условие1
                или Условие2
                        //блок операторов программы
               Иначе
                       //блок операторов программы
               КонецЕсли
       КонецЕсли    
Иначе
       //блок операторов программы
       Если ПромежуточноеУсловие Тогда
               //блок операторов программы
       КонецЕсли    
       //блок операторов программы

КонецЕсли

Иногда, кое-кому, хочется записать условный оператор в одну строку. Есть такие программисты, которые любят писать много текста в одну строку.

В этом случае необходимо не забывать об использовании разделителя точка с запятой (;) между операторами в блоках кода расположенных в секциях оператора Если:

Пример:

   А=4; Б=2; С=Истина;
   Если А>Б Тогда Б=7; С=Ложь Иначе Б=5 КонецЕсли
   ВыводСтроки ""+Б+" "+С

Итог:

Если вам необходимо изменить последовательность выполнения операторов программы в зависимости от выполнения каких-либо условий – используйте блочный условный оператор Если.


'Показать Содержание Описание языка Перфолента.NET'

Ссылки