Skip to content
EntityQ8868615· pop 27· linked from 402 articles

Also known as loop routine, software loop, loop control structure, loop construct, loop, programming loop

コンピュータプログラムの制御構造

Wikidata facts

Subclass of
control flow
Show 6 more facts
manifestation of
iteration
different from
event loop
on focus list of Wikimedia project
WikiProject Computer Science
Commons category
Programming loops
Sources (1)

via Wikidata · CC0

Article · 日本語

この記事では、コンピュータプログラムにおけるループ (英: loop) について説明する。ループとは、特定の条件下において特定の処理を繰り返すこと、あるいはそのように作られた制御構造のことを言う。日本語の名詞として「繰り返し」とも。特定の条件が成立している限り、特定の処理を繰り返し何度でも実行する。逆に言えば、条件が成立しなくなったときに、処理を中止する。 ループの、特別な形あるいは最も一般的な形として、無条件に繰り返す無限ループがある。詳細は無限ループの記事を参照。 ループは、繰り返しを継続するかどうかを判断するための条件式(反復条件)を持つ。反復条件がループ構造の始まりに置かれる場合、そのようなループ構造のことを前判定ループと呼ぶ。一方、反復条件がループ構造の後ろに置かれる場合、これを後判定ループと呼ぶ。しかし結局のところ以上のような分類は、プログラミング言語の発展の初期に、まず最初にどちらか片方だけが作られ、後から別のものが追加されたという歴史的由来に過ぎず、ループの「内側」のどこかに「ループの脱出」がある、という構造に一般化できるので前判定/後判定という分類は本質ではない(実際に、たとえばVisual Basicの「Do...Loop 文」は、どの場合にも対応するよう対称的に作られている)。単にその「内側のどこか」が、その前端か後端にある場合が多い、というだけである。 むしろ、ループの先頭で何らかのデータをファイルから読み込んで計算を開始し、その途中で、繰り返しのその回を打ち切り次の繰り返しに進む、あるいは繰り返しを終わる、といったこともよくあり(ダイクストラは、最後が途中で終わる場合を「n+1/2回の反復」と名づけた)、さらには入れ子になった内側のループの中から外側のループを終わる、というような処理にどう対応するか、が思案のしどころである。 関数型プログラミングのスタイルでは、再帰によってループを扱うことが多い。単純な再帰呼び出しはスタックオーバーフローを引き起こす可能性があるが、末尾再帰はコンパイラ最適化によってループに展開される。

Abstract from DBpedia / Wikipedia · CC BY-SA

ループ · Vinony