Язык программирования Перфолента.Net - Официальный сайт

 Язык программирования Перфолента.Net - Официальный сайт.

Поиск   
Главная :: О проекте :: Контакты :: Обратная связь :: Благодарности :: ВходГость

   >   >   >   > 



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

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


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

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

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

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

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

 

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

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

 

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

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

 

Секция ИначеЕсли.

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

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

ВыводСтроки Стр

 

Секция Иначе.

В примерах приведенных выше, можно так же увидеть секцию Иначе, блок кода в которой выполнится в том случае, если не выполнится ни одно условие в секциях Если и ИначеЕсли.

 

Выход из оператора.

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

 

Сложные условия.

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

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

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

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

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

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

 

Вложенные условные операторы.

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

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

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

 

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

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

Пример:

    А=4; Б=2; С=Истина;

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

 

Итог:

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

 




К началу статьи


Предыдущая статья:
Структура программы на языке Перфолента.Net

Следующая статья:
Циклы в языке Перфолента

Вернуться в раздел:
Синтаксис языка Перфолента
  Поддержи проект!

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

  Новости:
      04.01.2025 Опубликован новый релиз дистрибутива языка программирования Перфолента.Net версии 0.4.15.0_CE
      23.09.2024 Опубликована новая статья: "Конструируем класс. Делегаты."
      30.08.2024 Опубликован новый релиз дистрибутива языка программирования Перфолента.Net версии 0.4.14.0
      24.05.2024 Обновлён справочный раздел сайта
      01.07.2023 Новая версия 0.4.13.0 языка программирования Перфолента.Net
       Все новости