3.6. Операторы break / continue
В теле циклов for и while можно использовать такие управляющие конструкции, как break и continue.
Оператор break прерывает выполнение цикла.
Оператор continue прерывает выполнение текущей итерации цикла и указывает интерпретатору перейти к следующей итерации.
Перепишем пример из предыдущего размера таким образом, чтобы в нем использовались операторы break и continue.
% Демонстрация операторов break и continue
clear
% "Бесконечный" цикл, который будет прерываться с помощью оператора break
while 1
% Просим пользователя ввести число
user_input = input ('Введите число или нажмите Enter для выхода: ', ...
's');
% Если пользователь ввел пустую строку, завершаем цикл
if isempty (user_input)
break
end
% Преобразовываем строку, введенную пользователем, в число
number = str2double (user_input);
% Если пользователь ввел число с ошибкой, проигнорируем ввод
if isnan(number)
continue
end
% Выведем квадрат этого числа
result_str = sprintf ('Квадрат введенного числа равен %f\n', ...
number ^ 2);
disp (result_str);
end
Результат выполнения этого скрипта может выглядеть следующим образом:
Введите число или нажмите Enter для выхода: 4
Квадрат введенного числа равен 16.000000
Введите число или нажмите Enter для выхода: 2.5
Квадрат введенного числа равен 6.250000
Введите число или нажмите Enter для выхода: абырвалг
Введите число или нажмите Enter для выхода: 16
Квадрат введенного числа равен 256.000000
Введите число или нажмите Enter для выхода:
>>
В этом примере используется прием, который называется «бесконечный цикл». Дело в том, что условие оператора while всегда истинно (не равно 0), поэтому, если этот цикл не прервать изнутри оператором break, то он никогда не завершится. Такой прием нужно использовать с осторожностью, так как в данном случае из объявления цикла не видно, при каких условиях он выполняется, и для понимания этого нужно прочитать все тело цикла.
Аналогично операторы break и continue работают внутри оператора for.
Yandex.RTB R-A-252273-3
- Оглавление
- Предисловие
- Раздел 1. Основные сведения о среде программирования «matlab»
- Глава 1. Вычисления в командном режиме
- 1.1. Простейшие математические операции в matlab
- 1.2. Переменные
- 1.3. Создание матриц
- 1.4. Доступ к элементам матриц
- 1.5. Операции с матрицами
- 1.6. Ввод, вывод и работа со строками
- Глава 2. Построение графиков в matlab
- 2.1. Построение графика в виде двумерной линии
- 2.2. Оформление графиков
- 2.3. Построение трехмерных графиков
- 2.4. Построение линий уровня
- 2.5. Построение векторного поля
- 2.6. Отображение нескольких графиков в одном окне
- Глава 3. Скрипты в matlab и управляющие конструкции
- 3.1. Создание и выполнение скриптов в matlab
- 3.2. Оператор for
- 3.3. Логические операции
- 3.4. Оператор if / elseif / else
- 3.5. Оператор while
- 3.6. Операторы break / continue
- 3.7. Оператор switch
- 3.8. Создание функций
- Раздел 2. Краткие теоретические сведения и задания Тема 1. Векторный анализ
- 1.1. Элементы векторного анализа
- Задания
- Тема 2. Уравнения Максвелла (произвольная и гармоническая временная зависимость, статические, стационарные и квазистационарные поля)
- 2.1. Система уравнений электродинамики – уравнения Максвелла
- 2.2. Граничные условия. Принцип эквивалентности
- Задания
- Тема 3. Плоские волны
- 3.1. Явление дисперсии и групповая скорость
- Задания
- Тема 4. Граничные задачи, уравнения и методы
- 4.1. К классификации электромагнитных явлений
- Задания
- 4.2. Метод конечных разностей
- 4.2.1. Конечно-разностная аппроксимация
- 4.2.2. Конечно-разностная аппроксимация уравнений Лапласа и Пуассона
- 4.2.3. Конечно-разностная аппроксимация для граничных узлов
- Задания
- Литература