【デバッグ問題】おかしいところ直そう!!当たり判定のプログラム

タネラボプログラミングクイズ!!

当たり判定のプログラムがおかしい!?

論理的思考力を育む教材として「プログラミング」を学ぶ時代になりました。

かつてアップル創始者のスティーブ・ジョブズもプログラミングの重要性についてこう言っています。

ジョブズ
全ての人はプログラミングができるようにならなければならない。
なぜなら”考え方”が分かるようになるからだ。

一つのことをじっくりと考える力を育む目的で、タネラボではシンプルなプログラムを読み解くクイズをお届けします。

今回取り上げる課題は、Scratchを使って「当たり判定のデバッグ」です。

プログラムのデバッグ

プログラムが思い通りに動かないとき、不具合(バグ)を見つけて修正することを、デバッグといいます。

デバッグをするためには、既存のプログラムを順に一つづつ読み解いて、予想できる動きと実際の動きを比較していきます。

プログラムを順に読み解いていくことを「トレースする」といいますが、トレースには脳内で整理してきちんと理解する必要があります。

トレースに必要な力は、「脳の整理力」と「丁寧な思考力」

・・・ということで、当たり判定のプログラムをデバッグしてみましょう!

動き回るネズミが猫に触れた回数を数えたい!

今回の問題は、規則的に動き回るネズミと動かない猫が「触れた回数」を数えるプログラムです。
猫のプログラムで「触れた回数」を数えるようにしています。

猫のプログラム

設計(フローチャート)

この設計の通りに作ったプログラムがこちら!

猫のプログラム

動かしてみておかしいところ見つけよう!

では、緑の旗をクリックして実際にプログラムを動かしてみましょう。
猫とネズミが触れた回数を正確に数えることはできているでしょうか?

おかしいところは見つかりましたか?

おかしいところは・・・

「触れた回数」がめっちゃ増えまくってる~~~!!

猫とネズミが触れた時に、すごい勢いで左上の「触れた回数」が増えていってるよ。

どうですか?分かりましたか?

なぜ、このような動きになるのでしょうか?一度、じっくりと考えてみてください。

次のページでは、動きを再確認してからプログラミングのおかしいところを探してデバッグしていきたいと思います。