配列上のループとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 配列上のループの意味・解説 

配列上のループ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/02 16:40 UTC 版)

Off-by-oneエラー」の記事における「配列上のループ」の解説

配列のm番目の要素からn番目までの要素処理する場合考える。処理対象要素はいくつだろうか?この場合直感的に考えるとn-m個となるが、実際には1個異なりn-m+1個が正しい。これは「植え木算エラー」の一種である。 上記のような理由により、コンピュータ上で数の範囲表現する場合はしばし半開区間用いられる。mとnを含む区間は、植木算エラー避けるためにmを含みn+1含まない区間として表現される例えば、5回繰り返して実行されるループは0から5までの左閉半開区間用いて以下のように表現される。 for (i = 0; i < 5; i++) { /* ループ中の処理 */} ループ中の処理は最初iが0の状態で開始される以降、iは1, 2, 3と増加し、4までは問題なく実行される次の時点でiは5となり、条件文i < 5が偽と判定されループ終了する。 もし、条件文使用されている比較演算子が<=(「~未満ではなく「~以下」)だった場合ループの中の処理は6回実行されてしまう。つまり、iは0, 1, 2, 3, 4, 5と増加し、5まで実行される同様に、iが0でなく1で初期化されていた場合にはループは4回し実行されない。つまり、iは1, 2, 3と増加し、4まで実行される。これらのケースどちらもoff-by-oneエラー一種である。 このようなエラー発生する他の例としては、while文使用すべきところでdo-while文使用した場合(逆も同じ)が挙げられる。do-whileループは必ず1回実行される配列関連勘違いプログラミング言語ごとの差異由来する場合もある。配列添え字は0から始まる場合一般的だが、1から始まる言語いくつかある。Pascalでは配列添え字ユーザ指定した数字から始めることができるが、これにより配列添え字問題ドメイン合わせて設定することができる。

※この「配列上のループ」の解説は、「Off-by-oneエラー」の解説の一部です。
「配列上のループ」を含む「Off-by-oneエラー」の記事については、「Off-by-oneエラー」の概要を参照ください。

ウィキペディア小見出し辞書の「配列上のループ」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「配列上のループ」の関連用語

配列上のループのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



配列上のループのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのOff-by-oneエラー (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS