Предмет: Информатика, автор: nebot285

Поясните принцип работы каскадного ветвления. Почему удобнее использовать каскадное ветвление?​

Ответы

Автор ответа: alxndr0628
2

Ответ:

Объяснение:

Ветвление в программировании — операция, применяющаяся в случаях, когда выполнение или невыполнение некоторого набора команд должно зависеть от выполнения или невыполнения некоторого условия. Ветвление — одна из трёх (наряду с последовательным исполнением команд и циклом) базовых конструкций структурного программирования.Основные формы реализации ветвления в императивных языках программирования — условный оператор (оператор if) и оператор многозначного выбора (переключатель, case, switch). В ранних языках низкого уровня ветвление реализуется посредством оператора условного перехода.

При выполнении условного оператора с двумя ветвями if <условие> then <команды1> else <команды2> end при истинности условия выполняются команды после ключевого слова then, при ложности — команды после ключевого слова else. При необходимости проверить последовательно несколько условий возможно каскадирование условных операторов:if условие1

 then команды1

 else if условие2 then команды2

   else if условие3 then команды3

       ...

         else if условиеN+1 then командыN+1

           else команды end;

В этом случае условия будут проверяться последовательно, и как только встретится истинное, будет выполнен соответствующий набор команд и исполнение перейдёт к команде, следующей за условным оператором. Если ни одно из условий не окажется истинным, выполняются команды из ветви else.Ряд языков программирования содержит специальную конструкцию для каскадирования условных операторов, позволяющую записать множественное ветвление несколько компактнее и менее подверженную ошибкам написания:if условие1 then команды1

elsif условие2 then команды2

elsif условие3 then команды3

...

else команды end;

порядок выполнения этого оператора в точности соответствует вышеприведённому каскаду простых операторов if-then-else, а отличие чисто формальное: вместо вложенных нескольких условных операторов эта конструкция является единым целым и содержит дополнительное ключевое слово elsif, требующее после себя очередное условие.Реализации[править | править код]Паскаль унаследовал от Алгола-60 синтаксис, согласно которому в ветвях условного оператора может быть помещена только одна команда. Поэтому для размещения там большего количества команд они группируются в составной оператор с помощью пары ключевых слов begin и end. Ветвь else необязательна. begin и end необходимы, только если операторов несколько (например, из соображений единообразия оформления кода). В примере — оператор выбора в Паскале:If условие

  then

     begin

       операторы;

     end

  else

     begin

       операторы;

     end;

Необходимость условного оператора в Алголе и Паскале с момента появления была объектом критики. Критики говорили, что многочисленные составные операторы загромождают программу, мешают нормальной расстановке отступов и провоцируют ошибки (если в последней ветви оператора if забыть составной оператор там, где он необходим, то компилятор ничего не заметит, но при выполнении программы из группы операторов, которые должны выполняться в этой ветви, по условию будет выполняться только первый, все остальные — всегда). Следующие поколения языков — потомков Алгола попытались избавиться от этого недостатка. В их числе три широко известных языка: Алгол-68, Модула-2 и Ада. Конструкция оператора if в них практически одинакова, с точностью до отдельных ключевых слов:Алгол-68:if условие

Похожие вопросы