7.4.3. ОПЕРАТОР ВЫБОРА CASE

 

Оператор case используется для выбора одного из нескольких направлений дальнейшего хода программы. Этот оператор имеет вид:

case p of

  a: s1;

  b: s2;

  . .

  n: sn;

  else sn+1; 

end;

 

При выполнении оператора case сначала вычисляется выражение p, называемое селектором выбора. Выражение p должно принадлежать типу данных, имеющему конечное число значений (например: integer). Затем, в зависимости от полученного значения (если оно равно одной из констант a, b, …, n, которые называются константами выбора), выполняется один из операторов s1, s2, …, sn, помеченный соответствующей константой. Каждый из этих операторов может быть составным. Затем управление передается следующему (после case) оператору в программе.

Если значение выражения p не совпадает ни с одной из констант выбора,  выполняется оператор sn+1, содержащийся после ключевого слова else, причем ветвь else в операторе case необязательна.

Зарезервированные слова case, of, else и end имеют смысл вариант, из, иначе и конец.

Кроме одиночных констант в вариантах оператора case могут использоваться диапазоны значений и списки (представленные через запятую).

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

 

program number; {Определение времени года по номеру месяца}

var

   month : integer; {номер месяца}

begin

    write(’Введите номер месяца:’);

    readln(month);

   writeln(Время года:’);

    case month of

        1,2,12: writeln (’зима’);

        3..5: writeln (’весна’);

        6..8: writeln (’лето’);

        9..11: writeln (’осень’);

        else writeln (’число должно быть от 1 до 12’);

    end;

end.