【フローチャートの書き方】繰り返しってどうやって書くの?

プログラミング教育で育成する能力の代表とも言える「プログラミング的」指向。これらを育成するためにはアルゴリズムの理解は必須でしょう。また、アルゴリズムを視覚的に表現する方法としてフローチャートを使うのが有効です。
しかし、フローチャートをいざ書こうとした場合、「どうやって書いたら良いの?」とか、「図形は何を使えば良いの?」といった疑問が湧いてくるでしょう。今回は、アルゴリズムの基本的な動作の中から「繰り返し」を使った書き方と紹介します。
【フローチャートからプログラムを書いてみた!繰り返し処理はこちらでチェック!】
【Scratchを使った繰り返し処理の作り方はこちらでチェック!】
【フローチャートの基本のキはこちらでチェック!】
アルゴリズムの基本動作
- 順次処理:処理(命令)を上から順番に実施する
- 分岐処理:「ある条件」に応じて処理(命令)を2通り以上に分けて実施する
- 繰り返し処理:「ある条件」を満たすまで同じ処理(命令)を実施する
書き方のポイントは「条件」
「繰り返し」と聞けば「同じ処理(命令)を実施させれば良い」とイメージすることは簡単だと思います。では、それをフローチャートに表すにはどうすれば良いのでしょうか?
そのポイントは繰り返すための「条件」を書くことにあります。
プログラミング的な話に限らず、日常生活の中で「繰り返す」という動作をイメージしてみましょう。
例えば、あなたが晩ごはんの準備をするために「ごはんをお茶碗に盛る」という動作をしたとします。このとき、お茶碗にご飯を盛る動作はおおよその場合数回繰り返していると思います。このとき頭の中では何を考えているでしょうか?
- 自分が食べたい量になっているか?
- 家族に言われた量になっているか?
- レシピに書いてあった量になっているか?
このような感じのことを考えていないでしょうか?考えていなくとも、無意識の中でどうようの判断をしていると思います。そしてこれが「繰り返しの条件」となっているのです。
繰り返しの条件は2通り
繰り返しの条件は、前述のとおり「繰り返しを終了するための条件」として設定します。他にも繰り返しの動作と条件の例を挙げてみると、
- 25mプールで100m泳ぐためには、レーンを4回泳ぐ
- 手袋を編むときには指が入る部分を(片手で)5本作る
- 10人の友人に年賀状や暑中見舞いのはがきを書くので10回「あいさつ文」を書く
と、いうような行動と条件の組み合わせもあります。
また、もう少しだけ条件の部分に注目してみると、条件は数値で表しています。
つまり、定量的なものを条件としているのですが、一方で、定量的に表すことができない場合もあります。例えば以下のようなパターンが該当します。
- 庭や校庭に生えている雑草を抜く
- コップ一杯の水を無くなるまで飲む
- 雨がやむまで屋根の下で待つ
雑草や水の量や、雨など頑張れば数値化できるものではありますが、日常生活の中でわざわざそのようなことをしていないはずです。では、何を条件にしているかと言えば、「できた」または「できていない」といった2択で表しています。
コンピュータの仕組み的に考えてみても、この2択という条件は理にかなっています。コンピュータの仕組みは、0と1の信号を組み合わせることで成り立っています。
この仕組みは昔から変わっておらず、今でも様々仕組みの中でこの原理は活きています。それでは先程のパターンに2択の条件を組み合わせてみましょう。
- 庭や校庭に生えている雑草を抜く(雑草が残っているか or 雑草が残っていないか?残っていれば雑草を抜く)
- コップ一杯の水を無くなるまで飲む(コップに水が残っているか or 水が残っていないか?残っていれば水を飲む)
- 雨がやむまで屋根の下で待つ(雨が降っているか or 降っていないか?降っていれば屋根の下で待つ)
以上のように、繰り返しの条件には「定量的な条件」と「2択の条件」が存在します。
繰り返しの書き方
それでは最後に、繰り返しのフローチャートの書き方について見ていきましょう。フローチャートの書き方にも色々とパターンが存在しますが、繰り返しを表現するには以下の2種類を覚えておくと良いでしょう。
繰り返しの図形を使う
繰り返しの条件には台形のような六角形の図形で、開始と終了を表現します。なお、終了の六角形については、開始の図形を反転させていることに注意してください。また、それぞれの図形には「繰り返し名」と「繰り返しの条件」を書きます。
「繰り返し名」とは、開始と終了の図形がペアであることを示すキーワードです。使用するキーワードは任意ですが、わかりやすいものにしておきましょう。
次に「繰り返しの条件」ですが、この場所には「繰り返しを続けるための条件」を書きます。繰り返しの終了条件ではないので注意が必要です。
最後に、開始と終了の図形の間に「繰り返したい処理」を書けば完成です。
先程挙げたパターンを使って繰り返しのフローチャートを作成してみましょう。
条件の図形を使う
条件の図形とは、ひし形の図形を用いて「条件分岐」を行う際に使用します。本来であれば目的は異なるのですが、繰り返しには「繰り返しを続けるための条件」が必要になるため、十分に使用できるのです。
では、先程と同様にパターンに当てはめてみましょう。
以上のように、繰り返しでは図形を組み合わせて繰り返しの処理を表現します。
「繰り返し」という処理は、身近であるものの、フローチャートに書き起こすとなると少々慣れが必要かもしれません。今回の記事を参考にしていただき、繰り返し処理をマスターしていきましょう。
【フローチャートを考える流れを1から見てみたい方はこちらもチェック!】