26. Конструкция переключателя

 

Конструкция переключателя

Для осуществления множественного выбора (или ветвления) используется конструкция с переключателем типа switch:

switch switch_Bыражение 

case саsе_Выражение 

Список_инструкций

case {саsе_Выражение1, Саsе_выражение2, саsе_ВыражениеЗ....} 

Список_инструкций

otherwise. Список_инструкций end

Если выражение после заголовка switch имеет значение одного из выражений са5е_Выражение..., то выполняется блок операторов case, в противном случае — список инструкций после оператора otherwise. При выполнении блока case исполняются те списки инструкций, для которых сазе_Выражение совпадает со switch_Bbipa-жением. Обратите внимание на то, что сазе_Выражение может быть числом, константой, переменной, вектором ячеек или даже строчной переменной. В последнем случае оператор case истинен, если функция strcmp (значение, выражение) возвращает логическое значение «истине».

Поясним применение оператора switch на примере m-файла swl.m:

switch van 

case {1,2,3}

dispCПервый квартал') 

case {4,5,6}

disp('Второй квартал') 

case {7,8,9}

d.isp( 'Третий квартал') 

case {10.11,12}

dispC Четвертый квартал') 

otherwise

disp('Ошибка в задании') 

end

Эта программа в ответ на значения переменной van — номера месяца — вычисляет, к какому кварталу относится заданный месяц, и выводит соответствующее сообщение:

» var=2;

» swl

Первый квартал 

» var=4;swl 

Второй квартал 

» var=7:swl 

Третий квартал 

» var=12;swl 

Четвертый квартал

» var=-l;swl 

Ошибка в задании