CodeZine(コードジン)

特集ページ一覧

「無限ループ」
~マンガでプログラミング用語解説

マンガで分かるプログラミング用語辞典(28)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2013/05/21 14:00

解説

 「無限ループ」は、ループ処理の1つです。ただし、よくないループ処理です。無限ループは、継続条件式が不適切なために、処理が意図したように終わらず、実行され続けるような処理を指します。

 for文でよくあるのは、比較演算子を間違えたり、インクリメントやデクリメントの処理を逆に書いてしまったりすることです。

 また、while文では、終了条件にしている変数に、偽の値がいつまで経っても入らないなどといったケースがあります。

 こういった無限ループは、様々な問題を引き起こします。

 まず、そのプログラム内では、ループ以降の処理が行われないために、意図した動作を実現できません。

 また、OS全体で見ると、CPUを1つのプログラムが延々と占有するために、他のプログラムなどの処理に不都合をきたします。

 それだけでなく、無限ループの中に、ハードディスクへの書き込み処理などが入っていると、ハードウェアを酷使してしまい、不具合を招くような可能性もあります。

 無限ループは、気付かない内に書いてしまったりしますので、ループ処理を書く場合は気を付けてください。

 またゲームなどでは、無限ループになるようなプログラムを書く場合があります。ただしその場合は、処理中に適切な待機処理を入れたり、終了時にループを適切に抜けるような処理を加えます。そのためこの場合は、意図せずループし続けるわけではありません。

サンプル

 無限ループになるような処理を、JavaScriptで簡単に書いてみます。

<html>
    <head>
        <title>「無限ループになる処理」のサンプル</title>
    </head>
    <body>
        <pre><script type="text/javascript">
            for (var i = 0; i < 10; i --) {
                document.writeln(i);
            }
        </script></pre>
    </body>
</html>
<html>
    <head>
        <title>「無限ループになる処理」のサンプル2</title>
    </head>
    <body>
        <pre><script type="text/javascript">
            while (true) {
                document.writeln("true");
            }
        </script></pre>
    </body>
</html>
フィードバックお待ちしております!

 ご感想、解説して欲しい用語、解説内容のアドバイスなどございましたら、FacebookTwitterなどでお気軽に編集部までお寄せください。よろしくお願いいたします。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:マンガで分かるプログラミング用語辞典

もっと読む

著者プロフィール

  • 柳井 政和(ヤナイ マサカズ)

    クロノス・クラウン合同会社 代表社員 http://crocro.com/ オンラインソフトを多数公開。 プログラムを書いたり、ゲームを作ったり、記事を執筆したり、マンガを描いたり、小説を書いたりしています。 「めもりーくりーなー」でオンラインソフト大賞に入賞。最近は、小説家デビューして小説...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5