小学生向けProject Euler計画 その1
わが子には、プログラミングを学んでもらいつつ、算数・数学の素養も付けてもらいたい。
勝手にやろうとしている小学生向けProject Euler計画ですが、サーバを用意するのも今は難しいので、とりあえず問題だけも考えてみようと思います。
1問目は、やはり自然数の和を持ってきたい
1+2=3
1+2+3=6
1+2+3+4=10
・・・・
1+2+3+・・・+99+100=?
普通の教え方では、まず計算させてみるだろう。5分ぐらい?
手で計算するのは大変であることを実感してもらう。
でも、このあたりは対面式での授業でないと厳しいかもしれない。
ネット上だと子供が飽きて試行錯誤せず答えを知りたがる。まあ大人でも一緒ですね。
我が子に先ほどの問題を出したことがあったのですが「難しい!」色々考えてみようか。いろんな解き方があるかも。「もう思いつかない!」まあそうだよね。
ただ、最近、クイズにハマっているようで、子供用のクイズはもちろん、大人も悩むようなクイズを(正解は無理だとしても)考え続けられることがわかった。
たとえば以下のクイズは、移動しながら、何回か中断しながら、色々回答してくれた。
謎解きの要素があった方が燃えるのは心情としてはわかるので、自然数の和に絡んだ謎、ミッションを作ってみよう。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
とんでもない機械を発明してしまった。
増やしたいものを登録すると、かかった分の数が生まれてくるものだ。※5/4 見直すと解りづらい文章だったので修正
例えば、ケーキを登録する(ケーキ1つを★にしてみよう。)
1分後 1つできる(★)
合計 1個
2分後 2つできる(★★)
合計 1+2=3個
3分後 3つできる(★★★)
合計 1+2+3=6個
、、、
どれか食べてしまうと、もう増えなくなる。1個目から食べないでおいて、何分後に、自分の学校のみんなに分けられるだけ増えるだろう。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
単純な数の和の問題を、身近なことに紐付ければ興味を持ってくれるかな、、。答えるのは「何分後」なので敷居も低くなった。
一般的な回答方法としては以下を教えたい 。
けど、「教えない」のも1案かもしれない。
① 法則を見つけて解く(ガウス)
小学校3年生位のガウスという少年の話をすると刺激になるかも。
1+2+3+・・・+98+99+100
100+99+98+・・・+3+2+1(逆から並べた足し算を用意する)
それぞれ順番に足すと
(1+100)+(2+99)+(3+98)+・・・+(98+3)+(99+2)+(100+1)
101+101+101+・・・+101+101+101(100個)
101×100=10100
最後に÷2をして 10100/2=5050
②平均で解く
1+2+3+4+5+6
→(1+6)/2=3.5 3.5*6=21
1+2+3+,,,+98+99+100
(1+100)/2=50.5
50.5*100=5050
平均の考え方が分からないと難しいか。
図も欲しいな、、
③法則を見つけて解く(数式)
n(n +1)/2
シグマ知っている高校生くらいからかな。
④表計算ソフトを使って解く
Microsoftのエクセルやgoogleのスプレットシートで数字を1ずつ増やしたものを全て選択してしまえば、合計がでる。
⑤プログラミングのループを使って解く
scratchで書くとこんな感じか
https://scratch.mit.edu/projects/306578930/
プログラミングで解くことは簡単ではあるが、知的かどうかというと疑問に思えるかな。
今日本屋でみたら、以下の茂木健一郎さんの本でも、子供は「探求心」をもたせると、自分でおのずから進んで勉強に取り組むらしく、今回クイズ形式にしたのはよかったかもしれない。
あとは、小学生のみんなに、考えてもらう工夫だな。。。