プログラミング

よけいなめいれいをけそう

こんどは「多すぎる命令」を見つけよう

前回の「たりないめいれいをいれよう」では、プログラムの中に足りない命令を1つ加えて、正しく動くように直しました。

今回の「よけいなめいれいをけそう」では反対に、命令の中に1つだけ余計な命令が混ざっています。

ロボットがゴールできるように、いらない矢印を見つけて消してみましょう。

よけいなめいれいをけそうにチャレンジ!

下のボタンを押すと、新しいタブでゲームが開きます。



命令を1つ選んで消し、ロボットがゴールできるプログラムに直しましょう。

あそびかた

  1. ロボットとゴールの場所を確認します。
  2. 並んでいる矢印の命令を左から順番に見ます。
  3. 「これはいらない」と思う命令を1つタップします。
  4. 選んだ命令が消えたら、「うごかす」を押します。
  5. ロボットがゴールできたらクリアです。

間違えて消しても大丈夫です。「もどす」で元に戻して、別の命令を試せます。

このゲームで学べること

今回も学習テーマはデバッグです。

プログラムが正しく動かない原因は、「命令が足りない」だけではありません。必要のない命令が1つ入っているだけでも、ロボットは違う場所へ進んでしまいます。

そこで、実際に命令を読みながらどこが余計なのかを見つけて取り除く練習をします。

命令を1つずつ追いかけてみよう

余計な命令を見つけるには、ロボットがどこへ進むのかを命令ごとに追いかけるのがポイントです。

たとえば、「→ → ↓ ← ↓」という命令があるとします。途中まで正しく進んでいても、「←」のせいでゴールから遠ざかってしまうなら、その命令が余計かもしれません。

「この命令を消したらどうなる?」と考えることは、プログラムを修正するときの基本的な考え方につながります。

対象は小学1年生くらい

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

矢印の向きが分かり、左から右へ命令を順番に読むことができれば遊べます。

頭の中だけで動かすのが難しい場合は、指で盤面をたどりながら「1個目でここ、2個目でここ」と確認すると分かりやすくなります。

前回のゲームとの違い

「たりないめいれいをいれよう」では、不足している命令を1つ追加しました。

今回はその反対で、多すぎる命令を1つ消します

「足りない」「余計」という2つのタイプを続けて体験することで、プログラムがうまく動かない原因にはいろいろな種類があることが分かってきます。

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

すぐに「この矢印を消すよ」と答えを伝えるより、命令を途中まで一緒に追ってみるのがおすすめです。

  • 「ここまで動いたら、ロボットはどこにいる?」
  • 「この矢印のあと、ゴールに近づいた?遠ざかった?」
  • 「この命令がなかったら、どこに行くかな?」
  • 「1つだけ消すならどれだと思う?」

理由まで説明できなくても、実際に消して結果を見ながら考え直せれば十分です。

消す場所を間違えても大丈夫

デバッグでは、「ここが原因かもしれない」と考えて修正し、その結果を確かめることが大切です。

違う命令を消してゴールできなかった場合も、それは失敗ではなく原因を絞り込むための情報になります。

「この命令ではなかった」と分かったら、元に戻して別の命令を試してみましょう。

慣れてきたら「なぜ余計なのか」を説明してみよう

ゲームに慣れたら、消す前に「この矢印を消す」と予想してみましょう。

さらに、「この命令があると右に行きすぎるから」のように理由を言葉にできると、プログラムを読む力がより深まります。

紙に矢印を並べて、家族が1つだけ余計な命令を加え、どれを消せばよいか当てる遊びにも発展できます。

次は「バグをみつけよう①」へ

ここまでで、足りない命令を足すことと、余計な命令を消すことを体験しました。

次は、命令の中にある1か所の間違いそのものを見つけて直すゲームに進みます。

少しずつ「プログラムを読んで、原因を探して、直す」というデバッグの流れに近づいていきます。

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