If-then-else
В примере движения по городу Главная дорога может оказаться закрыта на ремонт. Такую ситуацию нужно обработать с помощью специальных инструкций. В противном случае выполняется первоначальный набор инструкций. Учесть в программировании такие особые случаи позволяет одна из наиболее естественных управляющих структур If-then-else (если-то-иначе). Ее общий вид:
If (условие) then
{
Набор инструкций, выполняемых при соблюдении условия;
}
Else
{
Набор инструкций, выполняемых при несоблюдении условия;
}
Для удобства используем псевдокод, похожий на С, поэтому каждая инструкция заканчивается точкой с запятой, а наборы инструкций определяться с помощью фигурных скобок. Если приведенную выше инструкцию преобразовать в псевдокод, получиться примерно следующее:
Двигаться по Главной улице;
If (движение перекрыто)
{
Повернуть направо на 15-ю улицу;
Повернуть налево на Сосновую улицу;
Повернуть направо на 16-ю улицу;
}
Else
{
Повернуть направо на 16-ю улицу;
}
Каждая инструкция занимает определенную строку, а наборы инструкций, выполняющихся при определенном условии, определяться фигурными скобками и для большей наглядности размещаться с отступом.
В С и многих других языках программирования ключевое слово then подразумевается по умолчанию, поэтому в приведенном псевдокоде оно опущено.
Конечно, есть много языков, синтаксис которых требует слова then, например BASIC, Fortran и даже Pascal. Такие синтаксические различия между языками очень поверхностны, базовая структура остается той же. Понимающий основные концепции этих языков программист достаточно легко освоит синтаксические различия между ними.
Далее в этой книге используется язык C, поэтому и псевдокод здесь имеет аналогичный синтаксис, хотя, вообще говоря, видов псевдокода много.
Другое стандартное правило синтаксиса C состоит в том, что, если набор инструкций в фигурных скобках состоит всего из одной инструкции, фигурные скобки можно опустить. Для наглядности кода полезно писать эти инструкции с отступом, но синтаксически это необязательно. Приведенную выше схему проезда можно переписать так:
Двигаться по Главной улице;
If (движение перекрыто)
{
Повернуть направо на 15-ю улицу;
Повернуть налево на Сосновую улицу;
Повернуть направо на 16-ю улицу;
}
Else
Повернуть направо на 16-ю улицу;
Это правило действует для всех управляющих структур, встречающихся в книге, и оно само может быть записано с помощью псевдокода.
If (набор инструкций состоит всего из одной команды)
Использовать фигурные скобки,
служащие для объединения инструкций, необязательно;
Else
{
Использование фигурных скобок обязательно;
Поскольку необходим логический способ объединения инструкций;
}
Даже само описание синтаксиса можно рассматривать как простую программу. Существуют разновидности конструкции if-then-else, например операторы select/case, но логический принцип сохраняется: если случится это, то надо действовать так, иначе следует выполнять другие действия (которые могут включать новые конструкции if-then).
© ООО «Знанио»
С вами с 2009 года.