なが~いプログラムを短くした話
こんにちは、iTeen岩倉校の左近です。
今日、小学1年生の生徒さんがとってもなが~いプログラムを作ってくれました!
かけ算の計算クイズを全部で5問出題する内容です。
①キャラクターが問題を出す
②プログラムの中で正解か不正解か判定する
③キャラクターに「正解(不正解)だよ!」しゃべらせる
この流れを5回繰り返すのですが、これを作っていくとと~っても長いプログラムになるんですね!
生徒さんのノートパソコンでは、スクラッチの画面を一番広範囲設定にしてもプログラムの上から下まで全てを見ることは不可能でした。
まるで山頂の見えない富士山みたい!
ここまで長いとちょっとテンション上がっちゃいますね…!
二人で「長い~!」とわいわいはしゃいでしまいました。
スクラッチの勉強はみなさん3つ4つのブロックを組み合わせるところからスタートします。
教室に通ううちにたくさんあるブロックの仕組みや役割が少しずつ理解できるようになり、だんだんと長いプログラムが作れるようになっていきます。
この1年生の生徒さんは通い始めてざっくり半年ですが、
これだけ長いプログラムを作れたこと
この長いプログラムの開始から終了までのすべての処理を理解できていること
にまずは感動してしまいました
とはいえプログラミングで大切なのは長いプログラムを作ることではありません。
「反復」や「変数」を駆使して省ける部分は省きまくり、一番効率が良く、誰が見てもわかりやすいプログラムを目指すことこそプログラミングの本質です!
ですのでこの生徒さんの場合も、
①長いプログラムができたね!すごいね!
②ところで、このプログラムで同じブロックが繰り返されてるところはないかな?
③1ずつ増えている数字はないかな?
ということを質問し、作ったプログラムを確認してもらい、
同じブロックの繰り返しがあるなら「〇回くりかえす」が使える!
1ずつ増える数字があるなら「変数」が使える!
ということに気付いてもらい改良してもらうことこそがゴールでした。
今日の授業ではうまくこの部分に気付いてくれ、あれだけ長かったプログラムが
ジャン!
最終的にここまで短くなりました。
「えっ? じゃあ作ったやつ全部いらんかったんやん!」
とご本人はずっこけていましたが、まさにこの気付きこそ重要。
この授業がプログラムをなるべく短く作れるようにしよう!と工夫する、プログラミングの基本の考え方の第一歩になってくれればと思います。
(断じて、いじわるではないですよ~!)
※記事内のプログラムは生徒さんが作ったものを参考に、私が作り直したものです。