10.3 while文
プログラミングにおいて、ループとは、連続して 2 回以上実行される (または少なくとも実行できる) プログラムの部分を意味します。
ステートメントwhileは、Octave で最も単純なループ ステートメントです。条件が真である限り、ステートメントを繰り返し実行します。ifステートメント内の条件と同様に、ステートメント内の条件 whileは、値が 0 以外の場合は真とみなされ、値が 0 の場合は偽とみなされます。ステートメント内の条件式の値whileがベクトルまたは行列の場合、その値が空でなく、すべての要素が 0 以外の場合にのみ真とみなされます。
Octave のwhileステートメントは次のようになります。
while (condition) body endwhile
ここで、body はループ本体と呼ぶステートメントまたはステートメントのリストであり 、 condition はループの実行期間を制御する式です。
ステートメントが最初に行うことは、条件whileのテストです。条件が true の場合、ステートメントのbodyを実行します。 body の実行後、条件が再度テストされ、条件がまだ true の場合、bodyが再度実行されます。このプロセスは、 条件が true でなくなるまで繰り返されます。条件が最初に false の場合、ループの body は実行されません。
fibこの例では、フィボナッチ数列の最初の 10 個の要素を含む 変数を作成します。
fib = ones (1, 10); i = 3; while (i <= 10) fib (i) = fib (i-1) + fib (i-2); i++; endwhile
ここで、ループ本体には 2 つのステートメントが含まれています。
ループは次のように動作します。まず、 の値がi3 に設定されます。次に、が 10 以下かどうwhileかをテストします。 が 3 の場合にこれが当てはまるので、の 番目の要素の値は、 シーケンス内の前の 2 つの値の合計に設定されます。次に、は の値を増分し 、ループが繰り返されます。 が 11 に達すると、ループは終了します。 iiifibi++ii
条件と本体の間には改行は必要ありませんが、本体が非常に単純な場合を除き、改行を使用するとプログラムが明確になります。