logo search
matlab_final

3.5. Оператор while

Кроме оператора for для организации циклов, в MATLAB содержится также оператор while, который работает аналогично одноименным операторам в таких языках программирования как Pascal, C и др. Синтаксис оператора while выглядит следующим образом:

while условие

операторы

end

Цикл с телом, содержащим операторы, выполняется до тех пор, пока условие после ключевого слова while истинно.

Например, следующий скрипт на каждой итерации цикла просит пользователя ввести число, а затем выводит квадрат введенного числа. Если пользователь вводит пустую строку, то цикл прерывается.

clear

% Переменная, которая хранит значение, введенное пользователем

input_prev = 0;

% Пока пользователь не введет пустую строку, цикл выполняется

while ~isempty (input_prev)

% Просим пользователя ввести число

input_prev = input ('Введите число или нажмите Enter для выхода: ', ...

's');

% Преобразовываем строку, введенную пользователем, в число

number = str2double (input_prev);

% Если число преобразовано удачно, выведем квадрат этого числа

if ~isnan(number)

result_str = sprintf ('Квадрат введенного числа равен %f\n', ...

number ^ 2);

disp (result_str);

end

end

В приведенном выше примере используется функция isnan, которая возвращает 1, если в качестве аргумента ей передано значение NaN, и 0 в противном случае.