Условный оператор в Паскаль

При решении большинства задач вычислительные процессы разветвляются. Для определения дальнейшего направления исполнения программы используются выбирающие операторы. К этому классу относится условный оператор и оператор выбора.

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

Условный оператор может быть в двух формах: полной и краткой.

Полная форма условного оператора

Полная форма условного оператора в языке Паскаль имеет следующий вид:

  • 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);