プログラミング

たりないめいれいをいれよう

「どこが足りない?」を見つけて、プログラムを直そう

これまでのゲームでは、矢印の命令を自分で順番に並べて、ロボットを目的地まで動かしてきました。

今回の「たりないめいれいをいれよう」では、すでにできている命令の中に1つだけ足りない命令があります。「?」に入る矢印を考えて、プログラムを完成させましょう。

うまく動かない原因を見つけて直すことは、プログラミングでいうデバッグの第一歩です。

たりないめいれいをいれようにチャレンジ!

ゲームは専用画面で遊べます。下のボタンを押すと、新しいタブでゲームが開きます。

「?」に入る矢印を選んで、ロボットがゴールできるプログラムを完成させましょう。

あそびかた

  1. ロボットとゴールの場所を見ます。
  2. 画面に並んでいる命令を左から順番に確認します。
  3. 「?」のところで、ロボットがどちらへ進めばよいか考えます。
  4. 「↑」「↓」「←」「→」から、足りない命令を1つ選びます。
  5. 「うごかす」を押して、プログラムを実行します。
  6. ロボットがゴールできたらクリアです。

違う矢印を選んでも大丈夫です。ロボットがどこへ行ったかを見て、「どの向きならよかったかな?」と考えてみましょう。

このゲームで学べること

学習テーマは「デバッグ」です。

プログラムは、命令が1つ足りないだけでも思ったとおりに動きません。そんなときに、「どこに問題があるのか」「何を直せばよいのか」を探して修正する作業をデバッグといいます。

このゲームでは最初から全部の命令を作るのではなく、ほとんど完成している命令を見ながら、足りない1つを見つけることに集中します。

「?」の前と後を見るのがポイント

足りない命令を考えるときは、「?」だけを見るのではなく、その前と後の命令も見てみましょう。

たとえば、「→ → ? ↓」と並んでいたら、最初の2つの命令でロボットがどこまで進むかを考えます。その場所からゴールへ近づくには、次にどちらへ進む必要があるでしょうか。

このように、プログラムを途中まで頭の中で実行してみることは、デバッグするときの大切な考え方です。

対象は小学1年生くらい

目安は小学1年生、難易度は★☆☆です。

矢印の向きが分かり、左から右へ順番に命令を見ることができれば取り組めます。これまでのロボット迷路やアルゴリズムのゲームを遊んでいると、よりスムーズです。

まだ頭の中だけでロボットを動かすのが難しい場合は、画面を指でたどりながら「ここまででどこにいる?」と確認すると考えやすくなります。

これまでのゲームと何が違う?

「剣を取ってモンスターをたおそう」までは、自分で命令を最初から組み立てることが中心でした。

今回は、すでにあるプログラムを読んで、うまく動くために不足している部分を探します。

「作る」だけでなく「読んで直す」ことも、プログラミングでは重要です。ここからは、間違いや不足を見つける力を少しずつ練習していきます。

子どもがつまずいたときの声かけ

答えの矢印をすぐに教えるより、ロボットの現在地を確認する声かけが効果的です。

  • 「最初の命令で、ロボットはどこに行く?」
  • 「『?』のところでは、ロボットは今どこにいるかな?」
  • 「ゴールはロボットのどっち側にある?」
  • 「さっき選んだ矢印だと、どこに行った?」

間違えた結果を手がかりにして次の答えを考えられれば、デバッグの考え方をしっかり体験できています。

間違いは「直す場所」を見つけるヒント

プログラミングでは、一度で正しく動かないことは珍しくありません。

大切なのは、間違えないことではなく、結果を見て原因を探し、直してもう一度試すことです。

このゲームでも、違う矢印を選んだらロボットの動きを見てみましょう。「右に行きすぎたから、今度は下かな?」のように、失敗した結果から次の修正を考えることができます。

慣れてきたら、先に答えを言ってみよう

ゲームに慣れたら、矢印ボタンを押す前に「ここは右だと思う!」のように答えを声に出してから試してみましょう。

さらに、「どうしてその向きだと思ったの?」と理由を説明できると、頭の中で命令を順番に実行する力が育ちます。

紙にマス目を描いて、途中の矢印を1つ隠し、家族で問題を作り合う遊びにも発展できます。

次は「よけいなめいれいをけそう」へ

今回は、プログラムに足りない命令を追加する練習でした。

次は反対に、命令の中に混ざっている余計な命令を見つけて消すことに挑戦します。

「足りない」「多すぎる」という2つのタイプの問題を体験することで、プログラムを読んで直す力をさらに伸ばしていきます。

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