33 Вопрос
Условный оператор(оператор ветвления)
Условный оператор реализует выполнение определённых команд при условии, что некоторое логическое выражение (условие) принимает значение «истина» true. В большинстве языков программирования условный оператор начинается с ключевого слова if.
Встречаются следующие формы условного оператора:
Условный оператор с одной ветвью
if условие then команды end
При выполнении такого оператора вычисляется условие, и если оно истинно, то выполняются команды до ключевого слова end, в противном случае выполнение программы продолжается со следующей за условным оператором команды. В языках низкого уровня (ассемблерах) это — единственная доступная форма условного оператора. В некоторых языках для условного оператора с одной ветвью используется специальное ключевое слово (обычно это when).
Условный оператор с двумя ветвями
if условие then команды1 else команды2 end
Здесь при истинности условия выполняются команды1 при ложности — команды2. При необходимости проверить последовательно несколько условий возможно каскадирование условных операторов:
if условие1
then команды1
else if условие2 then команды2
else if условие3 then команды3
...
else if условиеN-1 then командыN-1
else командыN end;
В этом случае условия будут проверяться последовательно, и как только встретится истинное, будет выполнен соответствующий набор команд и исполнение перейдёт к команде, следующей за условным оператором. Если ни одно из условий не окажется истинным, выполняются командыN из ветви else.
Условный оператор с несколькими условиями
Выше приведённая схема каскада условных операторов используется достаточно часто, поэтому ряд языков программирования содержит специальную конструкцию для неё, позволяющую записать множественное ветвление несколько компактнее и менее подверженную ошибкам написания:
if условие1 then команды1
elsif условие2 then команды2
elsif условие3 then команды3
...
else командыN end;
порядок выполнения этого оператора в точности соответствует вышеприведённому каскаду простых операторов if-then-else, а отличие чисто формальное: вместо вложенных нескольких условных операторов эта конструкция является единым целым и содержит дополнительное ключевое слово elsif требующее после себя очередное условие.
Оператор case(опеатор выбора)
Данный оператор служит для выбора одного из возможных вариантов в ситуации, которая может иметь несколько (более двух) возможных исходов. В зависимости от значения переменой (селектора) выполняется оператор, помеченный соответствующей константой. Если же ни одна константа не подходит, выполняется оператор, записанный после else. Оператор case имеет вид:
Case порядковая_переменная of константа_1: оператор_1; константа_2: оператор_2; … константа_n: оператор_n; Else оператор; End;
Возможно использование сокращенной формы оператора case, в которой строка else отсутствует. В этом случае, если ни одна константа не совпадает со значением порядковой переменой, управление передается оператору, следующему за end. Например:
|
Case n of 1: writeln ('красный'); 2: writeln ('зеленый'); 3: writeln ('белый'); End; |