紙とペンだけでプログラミング!(1)

紙とペンだけでプログラミング!

今日は紙とペンだけを使ってプログラミングの「考え方」を勉強していきましょう。
対象年齢は小学校1年生〜ですが、プログラミングをやったことがない人も対象になります。
「プログラムって難しいんでしょう?」とか「何だか分からないから近寄らない」とか思っている人にも見ていただきたいと思います。
あ!指導案ってタグをつけていますが、学校の先生方が作るガチのやつではないので、ヒント程度に思ってくださいね🌼

プログラミングは難しい?

「プログラミングって聞いたらどう思う?」と聞くと、こんな答えが多いです。

  • 難しそう。
  • 頭いい人しかできない。
  • 式とか覚えるの面倒そう。

そんなことはありません!

プログラミングは、簡単に言うとコンピュータへ命令を順番に送るものです💖
書いた順番に実行されるもので、身近なものがありますが分かりますか?

ヒント

  • 学校の行事です。
  • 全学年で一斉に実施します。
  • 体を動かします。


。。。

。。。。。。分かります?

そう‼️
運動会などのプログラムがそうですね。
あれはコンピュータではなく、生徒や先生に命令を送って(というと語弊がありますがw)運動会をスムーズに進行するものです。
プログラミングだと「難しそう!」って思うかもしれませんが、運動会のプログラムなら何となく分かりそうですよね。

紙とペンを使ってやってみよう

では、ここから紙とペンを使ったプログラミングの考え方を勉強していきましょう。

マスと自動車を用意しよう!

使うのは、次の9つのマスが書かれた紙と、自動車の絵です。これだけ。

全部の教材

全部の教材

自動車をマスの中心にセットしておきます。

自動車をマスの中心にセット

自動車をマスの中心にセット

ぶっちゃけ、黒板に書くだけでもいいと思いますw

使える命令を覚えよう!

覚えよう🎉と言っても自動車に対して使える命令は次の二つだけです。

  • 前に1マス進む
  • 右を向く

この命令を使って自動車をゴールまで導くのが目的です。命令は何度使っても構いません。
やってみましょう👍

右上へ行こう!

【問題】
上の2つの命令だけで車をゴールのマスに入れるには、どんな命令を送るといいでしょう🤔

ゴールを設定します

ゴールを設定します

どうすればいいでしょうか🧐?

簡単ですが、ここでは一旦子供達に考えさせましょう。

この時、上の命令のうち「右に曲がる」を「右に進む」と間違えてしまう子がいるので注意してください。
「右に曲がる」はそのマスから移動せずに向きだけを右に変える命令です。
さて、答えはわかりましたか???

念のため、最短経路を載せておきます。

  1. 前に1マス進む
  2. 右を向く
  3. 前に1マス進む

最短経路

最短経路



です。

考えてみよう!

上で正解ではなく最短経路と言ったのにはワケがあります。
ごく稀にですが、こんな答えを書いちゃう子がいるんですね😅

大回りする例

大回りする例

  1. 右を向く
  2. 前に1マス進む
  3. 右を向く
  4. 前に1マス進む
  5. 右を向く
  6. 前に1マス進む
  7. 前に1マス進む
  8. 右を向く
  9. 前に1マス進む
  10. 前に1マス進む
  11. 右を向く
  12. 前に1マス進む
  13. 前に1マス進む

さて、これは「間違い」でしょうか???
これは。。。

。。。

。。。

じつは。。。

正解です。

問題のどこにも「最短経路で」なんて書いてないですからね。ゴールに辿り着ければ全て正解になります。

でも、効率が悪いですよね💦💦

なので、このやり方だといっぱい命令を書く必要がある(≒しんどい)ので、次からは「命令が一番少なくなる方法を考えてみよう!」と伝えてください。

最後に

PCなしのプログラムはどうでしたか❓
簡単ですが、命令を使って車を動かすことができましたね。
実際にパソコンを使うプログラミングでもやることは同じです。命令を使ってパソコンを動かすんです。
全然難しくないですよね😆

プログラミングが難しいと言っている人たちは、プログラム言語(C言語とかPythonとか)とプログラミング的思考をごっちゃにしている気がします💦

プログラム的な考え方は全然難しくありませんよ✨
与えられた問題を細かく分類して、与えられた条件に沿って筋道を立てて考えるだけです✨

次回はもう少し命令のバリエーションを増やしてやってみましょう!
ではまた!

コメント