10.3 Оператор while ¶
В программировании цикл означает часть программы, которая (или, по крайней мере, может быть) выполняется два или более раз подряд.
Оператор while является простейшим оператором цикла в Octave. Он многократно выполняет оператор, пока условие истинно. Как и в случае с условием в операторе if, условие в операторе while считается истинным, если его значение не равно нулю, и ложным, если его значение равно нулю. Если значение условного выражения в операторе while является вектором или матрицей, оно считается истинным только в том случае, если оно непустое и все его элементы не равны нулю.
Оператор цикла while в Octave выглядит так:
while (condition) body endwhile
Здесь body представляет собой оператор или список операторов, которые мы называем телом цикла, а condition — выражение, которое контролирует, как долго цикл продолжает выполняться.
Первым делом оператор while проверяет condition. Если condition истинно, он выполняет оператор body. После выполнения body condition проверяется снова, и если он по-прежнему истинен, body выполняется снова. Этот процесс повторяется до тех пор, пока condition не станет ложным. Если condition изначально ложно, тело цикла никогда не выполняется.
В этом примере создается переменная fib, которая содержит первые десять элементов последовательности Фибоначчи.
fib = ones (1, 10); i = 3; while (i <= 10) fib (i) = fib (i-1) + fib (i-2); i++; endwhile
Здесь тело цикла содержит два оператора.
Цикл работает следующим образом: сначала значение i устанавливается в 3. Затем оператор while проверяет, является ли i меньше или равно 10. Это выполняется, когда i равно 3, поэтому значение i-го элемента fib устанавливается в сумму двух предыдущих значений в последовательности. Затем оператор i++ увеличивает значение i и цикл повторяется. Цикл завершается, когда i достигает 11.
Перевод строки после условия и тела цикла необязателен; но использование его делает программу более понятной, за исключением случаев, когда тело цикла очень простое.
© 1996–2023 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v9.2.0/The-while-Statement.html