アレアレ

お役立ち情報、お悩み解決情報を発信!

基礎編

アルゴリズムを作るときに「繰り返し」の便利さがわかる具体例

このサイトの プログラミング教育 のコーナーでは、これからプログラミングを学び始める子供を持つ親御さんに向けて、プログラミングについてわかりやすく解説しています。全くプログラミング経験のない方は、基礎編の記事から、基礎編を読んだ方は実践編の記事をご覧ください。

アルゴリズムを作るときに「繰り返し」の便利さがわかる具体例

前回の、アルゴリズム作りに不可欠な「繰り返し」と「条件判定」では、プログラムとして実行するアルゴリズムを作る際には、「繰り返し」と「条件判定」を多用する、と言うことをお伝えしました。

今回は、子供向けのプログラミング学習教材を利用して、「繰り返し」の便利についてご紹介します。

鳥を豚まで連れて行くゲーム

以前、小さい子供はどのようにプログラミングを学ぶのか?の記事では、Code.orgと言う、無料のプログラミング学習教材をご紹介しました。

次の画像は、そのCode.orgの教材のうち、「繰り返し(=ループ)」について理解するための、練習問題の1つです。

code.orgの繰り返しを学習するための練習問題
code.orgの繰り返しを学習するための練習問題

※Code.org: コース1、ステージ13、パズル4より引用

この練習問題は、画像内にある赤い鳥を、上下左右(東西南北)に、一歩ずつ歩かせる指示を出すことで、緑の豚まで連れて行くゲームとなっています。白い矢印は、鳥を歩かせる正解の方向をわかりやすくするために、私が補足して追加したもので、実際の練習問題には、表示されていません。

繰り返しを使えない場合のアルゴリズム

さて、上の問題で、鳥を豚まで連れて行くためのアルゴリズム(=鳥を豚まで動かすための指示)を考えます。まず、一番簡単に思いつくのは、次のアルゴリズムです。

簡単に思いつくアルゴリズム

下に1歩進め
下に1歩進め
下に1歩進め
右に1歩進め
右に1歩進め
右に1歩進め
右に1歩進め

このアルゴリズムで鳥を動かすと、下に3歩進んだのち、右に4歩進み、無事豚までたどり着くことができます。

繰り返しを使ったアルゴリズム

次に、同じことを繰り返しを使ったアルゴリズムで表現すると、次の通りです。

繰り返しを使ったアルゴリズム

「下に1歩進め」を3回繰り返せ
「右に1歩進め」を4回繰り返せ

ここで、簡単に思いつくアルゴリズムと繰り返しを使ったアルゴリズムを比較して見てください。簡単な方は、そのアルゴリズムの手順として、7行必要でしたよね。一方、繰り返しを使ったアルゴリズムでは、2行で済んでいます。このように「繰り返し」が、使えるとアルゴリズムをスッキリと簡単に表現できるようになるわけです。

ちなみに、この例では、「7行」と「2行」の比較ですので、それほど効果のほどを感じないかもしれません。ですが、例えば、豚にたどり着くまでに、下に100歩、右に500歩必要になる場合を考えてください。繰り返しを使わず、このアルゴリズムを作ると、600行もの指示が必要になるわけです。

一方、繰り返しを使った場合は、この場合でも、同じく2行で済みます。下方向と横方向に進む指示の繰り返す回数を変えるだけ済むからです。

次に読む記事: アルゴリズムを作るときに「条件判定」が役立つ具体例

Return Top