Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПСвСреде Матлаб Мет Ук к ЛР 1-8.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
598.82 Кб
Скачать

2.1.2. Оператор переключения

Синтаксис оператора переключения имеет вид:

switch <выражение, скаляр или строка символов>

case <значение_1>

<операторы_1>

case <значение_2>

<операторы_2>

otherwise

<операторы>

end

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

Пример.

>> n=input('<Введите порядок системы n = > ');

<Введите порядок системы n = > 5 % Ввод значения n

>> switch n

case 1

disp('порядок системы = 1')

case{2,3,4}

disp(' порядок системы равен 2 или З или 4')

case 5

disp('порядок системы = 5')

otherwise

disp('порядок системы >5')

end

порядок системы = 5 % Вывод результата

2.1.3. Оператор цикла с определенным количеством повторений for…end

Синтаксис оператора:

for переменная цикла = начальное значение : [шаг :] конечное значение

операторы;

end

Правило выполнения. По умолчанию шаг равен 1. Можно задавать любое приращение, в том числе отрицательное. Поле шаг в конструкции оператора не является обязательным, например:

for i=1 : 100

x(i) = sin(2*PI*i /100) ;

end

Допустимо задание переменной цикла в виде вектора:

for i= [1 2 4 8 16 32]

x(i) = sin(2*PI*i /100) ;

end

Тело цикла заканчивается служебным словом end.

Использование массива в качестве переменной цикла.

Пример:

Пусть массив A имеет размер mxn. Оператор цикла

for i = A

операторы;

end

определяет переменную цикла i как вектор A(:, k). Для первого шага цикла k равно 1; для второго – k равно 2 и так далее, пока k не достигнет значения n. То есть цикл выполнится столько раз, сколько столбцов в матрице A.

При работе с циклом for допустимо использование оператора прерывания цикла break. При выполнении оператора break работа цикла завершается и управление передается на следующий после конца цикла оператор.

Пример:

for i=1:100

операторы;

if a(i) == 0

break

end

операторы;

end

2.1.4. Цикл с неизвестным количеством повторений

Синтаксис оператора цикла с неизвестным количеством повторений:

while условие

операторы;

end

Пример:

% Программа определения машинной точности вычислений:

a=1 ;

while a+1 ~= 1

a=a/2 ;

end

a

a =

1.1102e-016

В отличие от цикла for в структуре цикла while не предусмотрены элементы для изменения переменной, по которой организован цикл. Эти элементы должен предусмотреть сам пользователь.

Задание.

Проверьте действие операторов рассмотренных управляющих конструкций. Результаты и выводы представьте в отчете по работе.