【標準編】6-b えんかく手術

Q1. ☆問題(もんだい)☆

フォースセンサーをおすたびに、ハブの光り方が順番にかわるプログラムをつくったよ。このプログラムを実行した後に、フォースセンサーを5回おした場合、ハブのLEDはどのように光るかな。ひとつえらんでね。

正解

こう考えよう(かんがえよう)

「手術(しゅじゅつ)ロボット」ではフォースセンサーをおすたびに、変数(へんすう)の中の文字を変えてあげることで、実行するプログラムを変えることができたんだったね。今回のプログラムでも同じやり方で、フォースセンサーをおすたびに、
一番上のプログラム⇒真ん中のプログラム⇒一番下のプログラム⇒一番上のプログラム⇒…
の順番で実行されていくよ。だから順番に数えていくと、フォースセンサーを5回おした場合は、LEDは2のように光るよ。

Q2. ☆問題(もんだい)☆

ワークブックの15ページの「ロボットの左右の回転をせいぎょする」プログラムを別のブロックをつかって作ったよ。下のプログラムの説明で正しいものをすべてえらんでね。

  • □ 左右のボタンをずっとおしつづけても0度(ど)や80度付近(ふきん)で回転が止まる。
  • □ 0~80度の間で左右のボタンをはなしても、モーターが止まらない。
  • □ ミッション3でつくったプログラムとまったく同じ動きをする。
  • □ モーターの位置(いち)によって回転方向を決めるから、回転方向のミスが起こりにくい。

正解

  • 左右のボタンをずっとおしつづけても0度(ど)や80度付近(ふきん)で回転が止まる。
  • 0~80度の間で左右のボタンをはなしても、モーターが止まらない。
  • ミッション3でつくったプログラムとまったく同じ動きをする。
  • モーターの位置(いち)によって回転方向を決めるから、回転方向のミスが起こりにくい。

こう考えよう(かんがえよう)

15ページのプログラムで左右のボタンをおしすぎた場合を試してみたかな?

例えば左ボタンをおしっぱなしにすると、0度で止まりきらずにそのまま反時計回りに回転をしてしまうよね。じっさいにロボットを作るときには、人が操作(そうさ)ミスをした場合でも、ロボットがおかしな行動をしないようなプログラムを作ることも大事なんだ。

上のプログラムの場合だとボタンをおしすぎても0度と80度の位置で止まるから、より安全なプログラムと言えるね。またスピードが速すぎて0度や80度を少しこえてしまった場合でも、「最短経路(さいたんけいろ)」で回転方向を決めるから、まちがって大きく一回りしまうミスが起きないようになっているよ。だから正解は1つ目と4つ目だよ。

Q3. ☆問題(もんだい)☆

下のプログラムは赤色のブロックを自動で運ぶプログラムの一部だよ。赤い「?」に入るブロックはどれかな?

正解

こう考えよう(かんがえよう)

赤色のブロックをつかんだ後に手術台(しゅじゅつだい)まで運ぶためには、

  • グラバーを上げる。
  • ロボットを手術台の方向へ回転させる。
  • グラバーを下げる。
  • アームをはなす。

の4つの動作が必要だね。そのため?には上の手順の2.の動作を命令するブロックが入るよ。4つ目でも手術台の位置に行けると思うかもしれないけど、とちゅうでブロックが引っかかってしまって、モーターの回転が止まってしまうから正解は2つ目だよ。