ループ・繰り返し処理をわかりやすく!




こんにちは、プロクラスの和方です!

プログラミングには、何か処理を行う上で避けては通れない考え方がいくつもあります。
今回はその中でも特に代表的な「ループ・繰り返し処理」(以下、ループ処理と言います)について簡単に説明して見たいと思います。

ループ処理とは読んで字のごとく処理を繰り返す事ですが、この一見単純に思えるループ処理こそがプログラムを行う上でとてもややこしく、同時にプログラム全体の効率化・軽量化を行うためには欠かせない要素になります。
今回はスクラッチ(※1)の画面を抜粋して説明してみたいと思います。

※1…スクラッチとは、専門用語のプログラミング構文を覚えることなく、初心者や子供でもプログラミングの考え方を学ぶことが出来るプログラミング言語学習環境です。
MITメディアラボが開発し、遊び心のある実験やインタラクティブアニメーション、ゲームなどの製作を通してさらなる学習のやる気を起こさせることを意図している。(wikiペディアより)

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2018-12-25-00-44-05
今回はこのリンゴに「Hello!」と言わせるだけのシンプルなプログラムをベースに考えていきます。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2018-12-25-00-32-58
たとえば画像のように①「Hello!」の文字を一秒表示し、②一秒待つといった動作を3回繰り返す場合、①②を交互に3回並べることができます。
サンプルのように3回程度の繰り返しならこう言った書き方でも問題ありませんが、もっと膨大な回数の記述を行う場合、人の労力だけで再現するのは非効率ですし、見た目もきれいではありません。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2018-12-25-00-45-20
先ほどのものにループ処理を加えてみました。
見た目的にはそこまで変わりませんが、繰り返しの回数が10回、100回、となった時は「◯かいくりかえす」の数字だけを変えれば実現することができます。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2018-12-25-00-45-26

少し処理を拡張してみました。
「3かいくりかえす」の中に「3かいくりかえす」が入っています。処理の継ぎ目がわかりやすいように「Hmm…と1びょうかんがえる」を加えておきました。
これを実行するとHelloは9回実行されるかと思います。
さらに「3かいくりかえす」を加えて三重にした場合は27回繰り返されます。
このような処理を多重に行うことを「ネスト」と言います。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2018-12-25-00-45-32

ここまでは回数を指定したループ処理を紹介しましたが、画像のような「無限ループ」という方法もあります。
実行すると①②が延々繰り返されます。
永続的な処理の実行を行いたい時には無限ループは重宝されます。


いかがでしたでしょうか?
今回はかなり初歩的なループ処理を説明しましたが、これに加え「変数」や「条件分岐」といった要素を混ぜていくことにより、もっと豊かなプログラムを作ることが可能です。
ご興味を持たれた方は、一度スクラッチ等でプログラミングを体験してみてはいかがでしょうか。