【アルゴロジック1】解答と考え方 ジュニア問題その4「繰り返し」

プログラミング

前回のプログラミング体験ゲーム「アルゴロジック」のアルゴロジック1のジュニア問題「回転」の解答編に続き、今回は、アルゴロジック1 ジュニア問題の「繰り返し」5問について、解答に加えクリアするための考え方を解説します。
ルールがまだよくわからないという方はルール解説編をご一読ください。

【プログラミング体験ゲーム】アルゴロジック1のルールとは?
2020年、プログラミング教育が小学校で必修化されましたが、親としては学校などで実際にどのような学習が行われているかよくわかっていませんでした。 そこで本記事は、プログラミング勉強中の筆者がアルゴロジックをやってみたという話題です。

また、各問題に解答例を記載しますが、ここでの解答例は公式サイトの解答例を記載します。

「繰り返し」の各問題の解答と考え方

ここではプログラミングにおいても必ずと言っていいほど出てくる「繰り返し処理」を使用します。

同じ動作の場合、毎回同じブロックを置いても良いですが、使えるブロックが足りなくなったりするため、「繰り返し」ブロックを使って同じ動作を繰り返し実行するようにしてみましょう。

繰り返しブロック
繰り返しブロック
数字のあるカッコと、カッコ閉じのセットで使います。
このカッコ内に置かれたブロックの命令を、数字の回数繰り返します。
数字をマウスでクリックするごとに①~④、⑧まで指定できます。

16 たての旗

アルゴロジック1 16 たての旗
画像引用:JEITA

まずは繰り返しブロックの使い方を覚えましょう。

1マス先にある旗を4つ取ります。
「↑4」とすると一直線上に旗を全部取ってくれそうに思えますが、アルゴロジックではロボットの通り道にある旗は取ってくれません。(止まった場所の旗しか取れません)

次にパッと思いつく方法は、「↑1」を4個並べる形です。

もちろんそれでも正解ですが、繰り返しブロックを使って「↑1」を4回繰り返す動作にチャレンジしてみましょう。
繰り返しブロックの数字を「4」にして、カッコの中に「↑1」を入れることで、「まっすぐ1マス」を4回繰り返して旗を4つ取ることができます。

解答例
アルゴロジック1 16 たての旗 解答例
画像引用:JEITA

まっすぐ1マス移動します
繰り返しブロックにより同じ動作を4回繰り返します

17 ななめ2列の旗

アルゴロジック1 17 ななめ2列の旗
画像引用:JEITA

先ほどは前に進むだけでしたが、ここでは縦と横の動きが必要になります。
繰り返しブロックは、カッコの中であれば複数の動きでもOKですので「まっすぐ2マス」「右1マス」の動きをを繰り返してみましょう。

解答例
アルゴロジック1 17 ななめ2列の旗 解答例
画像引用:JEITA

まっすぐ2マス移動します
右1マス移動します
繰り返しブロックにより同じ動作を3回繰り返します

18 たて2列の旗

アルゴロジック1 18 たて2列の旗
画像引用:JEITA

ここでは、縦に4つずつ並んだ旗を左右1列ずつ取っていく事も考えられますが、別の方法を考えてみると左→右と2つ旗を取る動作を手前から繰り返すことでクリアできそうです。

ポイントとなるのは、繰り返し処理の最後のロボットの場所です。

繰り返し処理が終わる最終地点は、次の繰り返しの開始地点となりますので、この面のように同じ間隔で規則的に同じ動作を繰り返したい場合、最初の位置(中央)に戻る動作を入れるのがポイントです。
わかりづらい方は下の解答例の図をご覧ください。

解答例
アルゴロジック1 18 たて2列の旗 解答例
画像引用:JEITA

左1マスまっすぐ1マスを組み合わせて移動します
右2マス移動します
左1マス移動します
繰り返しブロックにより同じ動作を4回繰り返します

※上記③の左1マスで中央に戻る動作を入れるのがポイントです

19 たて3列の旗

アルゴロジック1 19 たて3列の旗
画像引用:JEITA

先ほどの「たて2列」から1列増えましたが、考え方としては先ほどの2列と同じです。

繰り返し処理が終わる最終地点は、次の繰り返しの開始地点であると先ほど説明しましたが、この面も同じ間隔で規則的に旗が並べられているため、スタート地点と同じ左端が最終地点になるように繰り返し処理の中身を指定してみましょう。

目の前の旗を最初に取りたくなりますが、あえて遠い所の旗を最初に取るようにすると、ブロックの数が少なくて済みます。

解答例
アルゴロジック1 19 たて3列の旗 解答例
画像引用:JEITA

まっすぐ1マス右4マスを組み合わせて移動します
左2マス移動します
左2マス移動します
繰り返しブロックにより同じ動作を4回繰り返します

20 四角の旗

アルゴロジック1 20 四角の旗
画像引用:JEITA

ジュニア問題の基本問題の最後の面では、方向転換と繰り返しの合わせ技でクリアします。
また、繰り返し処理を更に繰り返します。

具体的には、まっすぐ1マス4回繰り返し90°方向転換し、その動作を4回繰り返す。という事になります。

繰り返しブロックのカッコの中に、繰り返しブロックを入れます。
↑1を4回繰り返し90°方向転換 を、さらに繰り返しブロックで囲むような形になります。

解答例
アルゴロジック1 20 四角の旗 解答例
画像引用:JEITA

まっすぐ1マス移動します
繰り返しブロックにより同じ動作を4回繰り返します
③回転ブロックでロボットを90°回転します
繰り返しブロックにより同じ動作を4回繰り返します

アルゴロジック1 ジュニア問題「繰り返し」まとめ

いかがでしたでしょうか。ここまででアルゴロジックにおいて基本的なブロックの使い方を学習しました。
冒頭でも述べましたが、繰り返し処理はプログラミングにおいて必ずと言って良いほど出てきます。最後の問題のように、繰り返し処理を更に繰り返すことも出てきます。

面を見たときに、どのように旗を取って行けば良いか、どこで繰り返しが使えるか。というのを最初に思い描けるようになると、プログラミング的思考が身に付いているのではないでしょうか。

次回は【アルゴロジック1】解答編 ジュニア問題「応用問題」を解説したいと思います。

【アルゴロジック1】解答と考え方 ジュニア問題その5「応用問題」
前回のプログラミング体験ゲーム「アルゴロジック」のアルゴロジック1のジュニア問題「繰り返し」の解答編に続き、今回は、アルゴロジック1 ジュニア問題の「応用問題」の3問を解説します。

コメント

  1. 親指 より:

    ありがとうございます♪

  2. たたない より:

    最kin♪やっていたからちょうどよかったと思ゥ sei♪確にわかった。

  3. 匿名 より:

    「20 四角の旗」には難易度の高い別解がありますね。
    何通りかありますが以下に一例をあげます。

    ループ開始8
    ↑2
    ↑1
    右135度
    ←1
    ループ終

    難易度的にジュニア問題の範囲からは外れていますが、
    この別解の考え方が、タイトルの似たチャレンジ問題の最短解で使われます。

  4. 胃名293・・228・62 より:

    ・・・・・・・・・・・・・・わかりやすいです

  5. うんこ より:

    わかないところをやさしくおしえてくれるからうれしいめりけんぱーくのまんなかでまちあわせね

  6. うんこ より:

    わからないところをおしえてくれるからうれしいね

  7. 真麻衣恵子 より:

    たすかった

  8. 江口 大樹 より:

    弟も喜んでた。

  9. 江口 大樹 より:

    ありがとうございます

  10. うんちくん より:

    うそつき

  11. アーニャ より:

    面白いし楽しい

  12. アーニャ より:

    わかりやすい!!

  13. 匿名 より:

    っっっっっっっっっっっっっっh

タイトルとURLをコピーしました