[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.3 whileステートメント

プログラミングにおいて,ループは,連続して2回以上実行される(ある いは,少なくとも実行される可能性がある)プログラムの一部分を意味します。

whileステートメントは,Octaveにおける最も単純なループ実行ステー トメントです。これは,条件が真である限り,そのステートメントを繰り返し 実行します。ifステートメントにおける条件と同様に,whileに おける条件は,その値がゼロでないときに真,ゼロのときに偽であると見なさ れます。もしwhileステートメントにおける条件式の値がベクトルまた は行列であるならば,要素のすべてがゼロでないときのみ,真であると 見なされます。

Octaveのwhileステートメントは,以下のように見えます。

 
while (condition)
  body
endwhile

ここで,bodyはループの本体と呼ばれるステートメント(または そのリスト)であり,conditionは,そのループがどのくらいのあいだ実 行を維持するかを制御する式です。

whileステートメントが行う最初のことは,conditionをテストす ることです。もしconditionが真ならば,body部分を実行します。 bodyがを実行した後,conditionが再びテストされ,これがまだ真 であればbodyを再度実行します。この過程を,conditionが真でな くなるまで繰り返します。もしconditionが最初に偽であれば,ループの 本体を一度も実行しません。

この例では,フィボナッチ数列の10番めまでの要素を含む変数fibを生成 します。

 
fib = ones (1, 10);
i = 3;
while (i <= 10)
  fib (i) = fib (i-1) + fib (i-2);
  i++;
endwhile

ここでループの本体には,2つのステートメントを含みます。

このループは以下のように動作します:まず,iの値を3にセットします。 その後,whileは,iが10以下であるかどうかをテストします。この 場合はiが3に等しいので,fibi番めの要素の値には,直 前の連続する2値の和をセットします。その後,i++iの値をイン クリメントし,ループを繰り返します。このループは,iが11に達するとき に終了します。

条件と本体の間に,改行は必要ありません。しかし,本体が非常に単純でない 場合は,改行を入れるとプログラムが読みやすくなります。

変数warn_assign_as_truth_valueの説明については, ifステートメントを参照してください。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]

This document was generated on July, 20 2006 using texi2html 1.76.