10.3 Оператор цикла while
В программировании цикл означает часть программы, которая (или, по крайней мере, может быть) выполняется два или более раз подряд.
Оператор while является простейшим оператором цикла в Octave. Он многократно выполняет оператор до тех пор, пока условие истинно. Как и в случае с условием в операторе if, условие в операторе while считается истинным, если его значение ненулевое, и ложным, если его значение нулевое. Если значение условного выражения в операторе while представляет собой вектор или матрицу, оно считается истинным только в том случае, если оно непустое и все элементы ненулевые.
Оператор цикла while выглядит следующим образом:
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–2022 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/v7.2.0/The-while-Statement.html