【発展編】10-b アメイジング・フラワー(2)

Q1. ☆問題☆

センサーの値を条件として使うとき、センサーの値が「《ある数字》より大きいとき」とか「《ある数字》以下のとき」という条件を作ることがあるよね。この《ある数字》を何といったかな。次の中から選んでね。

  • 特別値
  • しきい値
  • しきみ値
  • しかみ値
  • 絶対値

正解

  • 特別値
  • しきい値
  • しきみ値
  • しかみ値
  • 絶対値

解説

これは決まった言葉だから覚えてね。

 

「特別値」はよさそうな気もするかもしれないけれど、そのような言い方はしないよ。

 

「しきみ」は、お仏壇(ぶつだん)にそなえたりする植物のことで、言葉はにているけど関係ないね。

 

「しかみ」は、しかめっ面のことだから、これも関係ない。歴史が好きな人は、徳川家康の絵で「しかみ像」という名前のものがあることを知っているかもしれないね。「くやしい」という表情をした徳川家康の絵だよ。

 

「絶対値」は中学校の数学で「負の数」といっしょに教わるよ。

image-1

Q2. ☆問題☆

上のプログラムは、ミッション2でデバッグした「ナナが作ったプログラム」だよ。うまく動かすためには、待機ブロックを入れればよかったよね。

では、なぜ待機ブロックをいれればよかったのかな。次の中からもっともふさわしいものを選んでね。

  • 待機ブロックを入れることで、プログラムを終了させることができるから
  • 待機ブロックを入れないと、真ん中のボタンをはなす前にスイッチブロックが実行されてしまうから
  • 待機ブロックを入れることで、くり返しを止めることができるから
  • 待機ブロックを入れないと、スイッチブロックを実行しなくなってしまうから

正解

  • 待機ブロックを入れることで、プログラムを終了させることができるから
  • 待機ブロックを入れないと、真ん中のボタンをはなす前にスイッチブロックが実行されてしまうから
  • 待機ブロックを入れることで、くり返しを止めることができるから
  • 待機ブロックを入れないと、スイッチブロックを実行しなくなってしまうから

解説

もう一度プログラムをよく見てみよう。

 

「真ん中のボタンがおされるまで待つ」ための待機ブロックがあるよね。

ここで「真ん中のボタン」がおされると、両方のモーターが止まって、ロボットの動きも止まるよね。

そして次にスイッチブロックにうつり、「そのときにおされているボタン」によって次の動きが決まる。

だから、ナナのプログラムでまったく問題ないように思えるけれども、うまく動かなかったよね。

 

それは「ロボットが判断(はんだん)するのは、人間よりもずっとずっと速い」からなんだ。

真ん中のボタンをすぐにはなしたとしても、そのときにはもう、スイッチブロックを実行してしまっているんだ

 

だから、正解は「待機ブロックを入れないと、真ん中のボタンをはなす前にスイッチブロックが実行されてしまうから」。

それ以外のものは、どれも正しくない文だよ。

image-2

Q3. ☆問題☆

ミッション3で「待機ブロックをループブロックに変える」ことを学んだよね。そのことを思い出して、上のプログラムと同じ動きをするものを次の中から選んでね。画像をクリックすると大きく表示されるよ。

正解

解説

image-6
image-7
image-8

Bのプログラムでは、「モーター1回転分進んだあと、5秒間待つことをずっとくり返し、モーター1回転分進む」となってしまう。「5秒間待つことをずっとくり返す」のだから、止まったまま動かなくなってしまう。だからまちがい。

 

Cのプログラムでは、「モーター1回転分進んだあと、モーター1回転進むことを5秒間くり返す」となってしまう。つまり、5秒ちょっとの間、動き続けることになるよ。だからまちがい。

 

待機ブロックをループブロックに変えることの「よさ」は、「待っている間ずっと、別のことができる」ということ。たとえば「待っている間にずっと音を鳴らしたい」というとき、待機ブロックではできないけれども、ループブロックであれば「音ブロック」をループブロックの中に入れてあげればOKだよね。このような使い方ができることを知っておこう。