アルゴロジックを使ったプログラミング的思考の指導案
アルゴロジックを使ったプログラミング授業の指導案紹介です。
プログラミングでは、答えはひとつとは限りません。
ある目的を達成するためのプログラミング方法はいくつもあります。
こうしたことをアルゴロジックを使って体験してみたいと思います。
アルゴロジック正解の○と◎の違い
アルゴロジックはロボットを動かして旗を取ることが目的です。
旗を取るプログラミングができれば正解となりますが、この正解には2種類あります。
アルゴロジック2種類の正解
正解するとメニューに丸印がつきますが、◎と○の2種類があります。
○より◎のほうが良いのは想像できるかと思いますが、どう良いのでしょうか?
○の正解例
◎の正解例
命令の数が最小だと◎
旗を取れれば丸印がつきますが、旗を取る命令の数により○か◎かが変わります。
縦に並ぶ命令の数が最小だと◎になるというわけです。
いくつが最小の命令数かは画面により異なります。
上の画面では1つですが、最少でも2つ以上という場合もあります。
◎の答えはひとつとは限らない
縦に並ぶ命令の数が最小になる◎の答えはひとつとは限りません。
画面によってはいくつものパターンで◎となります。
例えば、「右に回転」ではいくつもの◎が可能です。
右に回転
この画面ではロボットの進み方が1つだけではありません。
どちらでも答えを◎にすることができます。
方向転換を置く位置も1つだけではありません。
方向転換の命令を置く位置を1番最初にしても2番目にしても答えを◎にすることができます。
指導案【授業での挑戦】
- ○でなく◎で正解する
- できるだけ多くの◎のパターンの正解を見つける
単にアルゴロジックに挑戦してみるのではなく、以上の2つを課題として挑戦することで、プログラミングには答えがいくつもあるということを体験することができます。
ほかの人が気づかない解き方で正解できた人の答えをあとで紹介すると、参考にもなります。
なお、上記の「右に回転」のほかに「逆さのコップ」にも◎が複数あります(ループを使うとこで別解が導き出せます)。挑戦してみてください。