いよいよ来年度からプログラミングを「情報Ⅰ」の中で学習していきます。
どんな授業を行うか、検証を兼ねて検討してきました。
これまでこのBlogでも、いくつかのプログラミング授業案を掲載してきました。
限られた時間数で何を教えるのか考えなくてはなりません。
前回、導入として「おみくじアプリ」の作成をしました。

今回は、この条件分岐を応用して1%当たりのシュミレーターを作ります。
授業展開
授業を始めるにあたり、生徒に問題を投げかけます。
「1%当たるくじは本当に100回に1回当たるのか」
有料課金のゲームのガチャでもいいですし、100人に1人当たる懸賞でもいいので想定してもらいます。
多くの生徒は、そりゃあ誰しもが100回引けば1回当たると思います。
今日の授業では「全員でシミュレーションを行う」ことを伝えます。
そこで、封筒に100枚のくじを入れて1枚だけあたりを入れたものを用意します。
あたりが出るまで引いては戻しを繰り返して何回目にあたりが試し続けます。
まぁ、そんなことをしていると日が暮れます。
そこで前回勉強したプログラミングが登場します。
今回の学習成果
当たり1%くじシミュレーション
試行回数:
結果:
<h2>当たり1%くじシミュレーション</h2> <button id="btn">くじを引く</button><br> 試行回数:<div id="try">-</div> 結果:<div id="result">-</div>
今回もJavaScriptの学習なので、HTMLは必要最低限です。
CSSの記述
JavaScriptの学習です。
というか、プログラミング道場ではないので、プログラミングを通して考えさせることが重要です。
となると、今回はHTMLだけでなくCSSまで手を伸ばすと広げすぎだと考えます。
ということで、前回同様CSSは無し。
JavaScriptの記述
あくまでシミュレーションの学習のためのプログラミングという位置付けにしました。
なるべくシンプルに、かつシミュレーターとして機能するように、innerHTMLを多用しています。
変数をうまく書き換えることで、リセットボタンなども不要にしました。
Mathrandomについては、前回のおみくじのところで学習済みです。
0〜1のどれかの数字のうち、今回は1÷100=0.01で0.01より小さい数字の時に「あたり」ということになります。
一応何の数字であたりになったか、表示した上で次のシミュレーションに入れるようにしました。
まとめ
以前作成した「あたり1%ガチャシミュレーション」のプログラムを必要最低限にして、少し改変してあります。

一人当たり10回シミュレーションしてExcelの表に結果を記していきます。
封筒の中のくじを引き続けるよりも、よっぽど速く結果を得ることができます。
プログラミングって便利ってことに気づいてくれると思います。
あとは、そのプログラムを書くための思考過程も大切なのですが、それは前回までに理解しておいてもらうことにします。
おそらく個人が10回シミュレーションした平均値を取っても、まだバラツキが予想されます。
次はそのデータをクラス全員、さらには学年全員で共有することにします。
ここでもプログラミングとしてVBAなんかも考えられますが、Excelのパワークエリを利用します。
授業時に生徒の目の前でデータを結合するのを見せると、今度は「エクセルすげー」ってなってくれると思います。
ここまで学べば、Excelを使ったデータ加工も一応網羅したことにできるかなぁと思います。
コメント