Конструкция переключателя
Для осуществления множественного выбора (или ветвления) используется конструкция с переключателем типа switch:
switch switch_Выражение case case_Выражение Список_инструкций case {case_Выражение1, Case_выражение2, case_Выражение3....} Список_инструкций otherwise. Список_инструкций endЕсли выражение после заголовка switch имеет значение одного из выражений case _Выражение…, то выполняется блок операторов case, в противном случае – список инструкций после оператора otherwise. При выполнении блока case исполняются те списки инструкций, для которых case_Выражение совпадает со switch_Выражением. Обратите внимание на то, что case_Выражение может быть числом, константой, переменной, вектором ячеек или даже строчной переменной. В последнем случае оператор case истинен, если функция strcmp (значение, выражение) возвращает логическое значение "истине".
Поясним применение оператора switch на примере m-файла swl.m:
switch van case {1.2.3} disp('Первый квартал') case {4.5.6} disp('Второй квартал') case {7.8.9} d.isp('Третий квартал') case {10.11.12} disp('Четвертый квартал') otherwise disp('Ошибка в задании') endЭта программа в ответ на значения переменной var – номера месяца – вычисляет, к какому кварталу относится заданный месяц, и выводит соответствующее сообщение:
>> var=2; >> swl Первый квартал >> var=4;swl Второй квартал >> var=7:swl Третий квартал >> var=12;swl Четвертый квартал >> var=-1;swl Ошибка в задании