Условный оператор в Паскаль
При решении большинства задач вычислительные процессы разветвляются. Для определения дальнейшего направления исполнения программы используются выбирающие операторы. К этому классу относится условный оператор и оператор выбора.
Условный оператор, используемый для разветвления алгоритма на два направления, является одним из ключевых средств не только языка Паскаль, но и любого другого языка программирования.
Условный оператор может быть в двух формах: полной и краткой.
Полная форма условного оператора
Полная форма условного оператора в языке Паскаль имеет следующий вид:
- if выражение then
- оператор1
- else
- оператор2
Элемент выражение является логическим выражением. Если выражение имеет значение true (истина), то выполняется оператор1 (ветвь then), иначе – оператор2 (ветвь else). Затем, управление передается оператору, следующему после условного.
Рассмотрим фрагмент кода программы, определяющей минимальное значение из двух чисел:
{Фрагмент кода программы}
- if (a > b) then
- minDig := b
- else
- minDig := a;
- writeln (minDig);
Если значение переменной a окажется больше значения переменной b, то выполнится оператор присваивания по ветке then (minDig получит значение b), иначе - по ветке else (minDig получит значение a), затем будет выведено значение переменной minDig.
В условном операторе после then и после else может располагаться только один оператор. Поэтому, если требуется использовать не один, а несколько операторов, то применяется составной оператор.
Краткая форма условного оператора
Краткая форма условного оператора записывается в следующем виде:
- if выражение then
- оператор
Если выражение принимает значение true (истина), то выполняется оператор, в противном случае происходит переход к следующему оператору программы. Так, в ниже следующем фрагменте кода программы, если число х окажется нечетным, то его значение будет увеличено на 1 (т. е. станет четным), в противном случае происходит переход к выводу значения х на экран:
{Фрагмент кода программы}
- if (x mod 2 <> 0) then
- x += 1;
- writeln (x);