Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетодРук_ОММ.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
812 Кб
Скачать
☆

Команды if, else, and elseif

Команда if оценивает логическое выражение и обрабатывает группу операторов, основыва-ясь на значении указанного выражения. В свое простейшей форме синтаксис команды имеет вид:

if (логическое выражение)

операторы

end

Если логическое выражение истинно, MatLab выполняет все операторы между строками, содержащими команды if и end . После этого он продолжает выполнять команды, находящиеся за строкой с end. Если логическое выражение ложно, MatLab пропускает все выражения между if и end, и продолжает свою работу со строки, следующей за командой end.

Между строками с if и end вы можете включить произвольное число операторов, содержащих, в свою очередь, любые команды и циклы.

При использовании с if , команды else и elseif дают следующие дополнительные возможности создания программ:

• Команда else не имеет логического условия. Операторы, связанные с данной командой выполняются, если предшествующее условие команды if (и, возможно, elseif) является ложным.

• Команда elseif имеет логическое условие, которое оценивается, если предшествующее условие команды if (и, возможно, elseif), является ложным. Если логическое условие данной команды elseif является истинным, то выполняются соответствующие операторы, следующие за данной командой. Вы можете иметь произвольное число команд elseif в пределах одного блока с if.

if n < 0 % Если n отрицательно, дать сообщение об ошибке

disp('Input must be positive');

elseif rem (n, 2) == 0 % Если n положительно и четно, разделить на 2.

A = n/2;

else

A = (n+1) /2; % Если n положительно и нечетно, прибавить 1 и

% разделить на два.

end

Команда switch

Команда switch осуществляет обработку определенных операторов, исходя из значения пере-менной или выражения. Ее базовая форма имеет вид

switch выражение (скаляр или строка символов)

case значение 1

операторы % Выполняются если выражение == значение 1

case значение 2

операторы % Выполняются если выражение == значение 2

.

.

otherwise

операторы %Выполняются если выражение не соответствует

% не одному значению, связанному с командами

end

Данный блок состоит из:

• Слова switch за которым следует выражение, которое нужно оценить..

• Любого числа блоков с командами case. Эти блоки состоят из слова case, за которым на той же строке следует возможное значение выражения за словом switch. Последующие строки содержат операторы, которые необходимо выполнить при указанном значении выражения в первой строке за словом switch. Эти строки могут быть любыми допустимыми выражени-ями, включая другие циклы switch. Выполнение группы операторов, связанных с данной ко-мандой case прекращается, когда MatLab встречает следующую команду case или слово

otherwise. Отметим, что всегда выполняется только первый подходящий блок с case.

• Не обязательной группы операторов, начинающихся словом otherwise; эта группа обрабатывается, если значение выражения не было перехвачено каким-либо предшествующим блоком с case. Обработка группы операторов за словом otherwise прекращается на команде end.

• Заключительной команды end.