Конструкция переключателя
Для осуществления множественного выбора (или ветвления) используется конструкция с переключателем типа 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
Ошибка в задании