В
языке Delphi есть инструкция case, которая позволяет эффективно
реализовать множественный выбор. В общем виде она записывается
следующим образом:
case Селектор of список1:
begin
{ инструкции 1 } end; список2:
begin
{ инструкции 2 } end; списокМ:
begin
{ инструкции N }
end;
else
begin
{ инструкции )
end;
end;
где:
- Селектор — выражение,
значение которого определяет дальнейший ход выполнения программы (т.
е. последовательность инструкций, которая будет выполнена);
- Список
N — список констант. Если константы представляют собой диапазон чисел,
то вместо списка можно указать первую и последнюю константу диапазона,
разделив их двумя точками. Например, список 1, 2, 3, 4, 5, 6 может
быть заменен диапазоном 1..6.
Выполняется инструкция case следующим образом:
1. Сначала вычисляется значение выражения-селектора.
2. Значение выражения-селектора последовательно сравнивается с константами из списков констант.
3.
Если значение выражения совпадает с константой из списка, то
выполняется соответствующая этому списку группа инструкций. На этом
выполнение инструкции саsе завершается.
4.
Если значение выражения-селектора не совпадает ни с одной константой
из всех списков, то выполняется последовательность инструкций,
следующая за else.
Синтаксис
инструкции case позволяет не писать else и соответствующую
последовательность инструкций. В этом случае, если значение выражения
не совпадает ни с одной константой из всех списков, то выполняется
следующая за case инструкция программы.
case n_day of
1,2,3,4,5: day:='Рабочий день. ' ;
6: day:='Cyббoтa!';
7: day:='Воскресенье!';
end;
case n_day of
1..5: day:='Рабочий день.';
6: day:='Суббота!';
7: day:='Воскресенье!';
end;
case n_day of
6: day:='Суббота!';
7: day:='Воскресенье!';
else day:='Рабочий день.';
end;