Структурированные операторы



Структурированные операторы

Напомним, что структурированные операторы — это операторы, которые изменяют ход выполнения команд программы.

К числу структурированных операторов можно отнести:

  • оператор перехода;
  • оператор условия;
  • оператор выбора;
  • операторы цикла.

Рассмотрим эти операторы.


Оператор перехода

Оператор перехода позволяет перейти от текущего места выполнения программы к другому месту, которое не является следующим по порядку. Данный оператор нарушает нормальный ход выполнения программы.

Переход осуществляется при помощи так называемых меток. Метка — это идентификатор или целое число без знака в диапазоне от 0 до 9999, которое находится перед каким-либо оператором программы и отделено от него двоеточием. Все используемые в программе метки должны быть предварительно объявлены в разделе объявления меток, начинающемся словом label.

Оператор перехода выглядит так:

goto метка;

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

label 1; // Объявляем метку с именем 1
var
а:integer; begin
а:=10;
goto 1; // Переход на метку 1
a:=sqrt(a); // Этот оператор не будет выполняться никогда! 1:а:=а+а; // Оператор, помеченный меткой 1 end;

Примечание

Использование меток и операторов перехода не является хорошим тоном программирования. Старайтесь по возможности не использовать этот оператор, т. к. это затрудняет чтение текста программы.

Оператор условия

Оператор условия предназначен для выполнения или невыполнения каких-либо действий, зависящих от результата условия типа Boolean. Этот оператор применяют для разветвления выполнения программы. То есть, если данное условие истинно (и только в этом случае!), выполняется некоторая последовательность операторов, иначе — выполняются другие операторы. Вид оператора условия таков:

If условие then оператор1 else оператор2;

Оператор условия может быть записан и в упрощенной форме:

If условие then оператор;

Приведем примеры использования операторов условия:

If a>0 then b:=sqrt(a) else b:=a*2; // Оператор условия
If a=10 then b:=b+l; // Упрощенная форма

Для того чтобы организовать ветвление на несколько направлений (более двух), можно использовать несколько операторов условия, вложенных друг в друга. Вложение операторов условия происходит по тем же правилам, что и вложение составных операторов.

Примечание

Старайтесь не злоупотреблять чрезмерным вложением операторов условия друг в друга, т. к. это может привести к трудно выявляемым ошибкам.

Оператор выбора

Оператор выбора — это конструкция языка, позволяющая сделать выбор из произвольного числа вариантов и выполнить в соответствии с этим выбором определенные действия. То есть оператор выбора позволяет обойтись без использования нескольких операторов if.

Оператор выбора имеет следующий вид:

case селектор of Список1: Оператор1;
. . . СписокN: ОператорN; else
Оператор; end;

Таким образом, оператор выбора case состоит из селектора, списка вариантов и необязательной части else.

Выражение-селектор должно быть обязательно порядкового типа. Нельзя использовать в качестве селектора строковые типы.

Каждое значение списка вариантов представляет собой вариант значения, принимаемого селектором. Оно должно быть:

  • цифрой, объявленной константой или другим выражением, которое компилятор может определить без выполнения программы. Переменные и вызовы функций не могут быть значением списка вариантов;
  • совместимым по типу с селектором;
  • уникальным. Ни одно из значений списка не может быть продублировано.

Приведем пример использования оператора case (листинг 3.4).



Содержание раздела