連載記事(2016後)
セル・データを移動する方法、あの手この手
(2016年9月 93号)
良い穴埋め問題というのは、穴を埋めて完成した文章が分かりやすく簡潔に整理されているもの、問題に答えながら新しい知識や視点が得られるもの。そんなものになっているかどうかはともかく、今日の試験問題はエクセルの操作法に関する穴埋め問題です。
答えについては、カーソルの形以外の答えを示します。
セルデータを移動する方法にはいろいろありますが、この問題を通じて新しいテクニックを知ってもらえれば幸いです。
グー・パーじゃんけんで勝負する
(2016年10月 94号)
こんなゲームを考えてみましょう。
ところが、です。A君は何もグーとパーを同じ割合で出さなきゃいけないわけではないのですから、もっと違う割合で出すことにすれば、A君の方が有利になるのです。結論を言ってしまうと、
ところで、A君がグーとパーを出すときの理想的な割合は、どうすれば見つけられるか?
それについては話が長くなるので省略しますが、上の結果からA君が有利なのは間違いないですね。
この問題、ゲーム理論の問題でした。
余談ですが、日本には「グー・パーじゃんけん」なるものが実際にあります。かけ声は「グーとパーで別れましょ!」で、「しょ!」のタイミングで一斉に手を出すのがお約束です。そして「別れましょ」と言う通り、このじゃんけんは勝ち負けを決めるためのものではなくて、2組に分けるためのものです。偶数人を2等分する場合はもちろん、人数が奇数の場合、たとえば3人を2人組と1人に分けるときにも使えます。
でも、通常は2人でグー・パーじゃんけんをすることはありえないんですね。2人を2組に分ける方法は1つしかないので、じゃんけんをするまでもないからです。以上まとめて言うと、通常のグー・パーじゃんけんは、2人でやることはあり得なくて、しかも勝ち負けを決めるものではないわけです。
ところが、上の【問題】は「2人で勝ち負けを決めるためのグー・パーじゃんけん」でした。ちょっと不自然な設定ではありますが、ゲーム理論の問題にこしらえてみた次第です。
実は私、情報科の授業にゲーム理論を取り入れています。詳細は拙著「高校生が学んでいるビジネス思考の授業」(→ http://books.cccmh.co.jp/list/detail/1410/ )をご覧ください。
世界一簡単な正規分布の作り方
(2016年11月 95号)
次の学習指導要領の改訂で情報科のカリキュラムに「統計」が入るという話があります。その統計で頻出するのが正規分布。正規分布のグラフを作るには、多くの人の身長から度数分布表を作ったり、サイコロを何度も投げて数をカウントするなどの方法もありますが、もっと簡単に作る方法を紹介しましょう。
それは「パスカルの三角形」を使う方法です。パスカルの三角形とは次のようなもので、横並びの2つの数の和をその下に書いていくと出来上がります。そしてこれが(a+b)のn乗の係数になります。
ただし、このままではエクセルで処理しにくいので、下のように左端をそろえた形にします。
では、ここから【問題】です。
設問中に「正規分布(に近いグラフ)」と書いた訳を一応説明しますと、正規分布とは一種の理想状態ですから、世の中には正確な正規分布になるようなものは無いんです。身長の分布もサイコロの分布もテストの得点分布も同じです。では、ここで問題の【答え】を示しましょう。
ほら、とっても簡単でしょ。
友達の数が奇数の人の人数は偶数か奇数か?
(2016年12月 96号)
フェイスブックの友達は1人から始まって、だんだん増えていきます。いま私の友達は108人。ついこの前まで107人だったわけで、そのうち109人になるでしょう。多けりゃいいってものではありませんが。
ところで、友達の数は偶数か奇数かのどちらかです。当たり前ですが、そういうことです。さて、フェイスブックのユーザーの中で「友達の数が奇数のユーザー」は、この瞬間に世界中でどれくらいいるのでしょう?
ここでフェイスブックでの友達になり方を説明しましょう。まずある人が他の人に友達になることを「申請」して、相手がそれを「承認」したら友達になります。そのことを踏まえて、では【問題】です。
申請と承認を経て友達になるというシステム、つまりフェイスブックの友達関係は常に双方向(両想い)なんですね。一方通行(片思いもしくはストーカー)的な友達関係はありません。ということは、全ユーザーの友達の人数の合計は必ず「偶数」になるということです。・・・(1)
ところで、各ユーザーの友達の数は偶数か奇数のどちらかですね。当たり前ですが。
このうち「友達の数が偶数のユーザー」全員の友達の人数の合計は「偶数」ですね。「友達の数が偶数のユーザー」の数が偶数だろうと奇数だろうと、その合計は必ず「偶数」になります。・・・(2)
ということは、(1)と(2)より「友達の数が奇数のユーザー」全員の友達の人数の合計は「偶数」でならなければならないことになります。・・・(3)
ところが「友達の数が奇数のユーザー」の数が「奇数」だとすると(3)になりませんね。「奇数を奇数個足すと奇数になる」からです。これは矛盾です。
というわけで「友達の数が奇数のユーザー」の数は「偶数」だとわかります。実際「奇数を偶数個足すと、偶数」になりますね。・・・(答え)
それはそうと、上の問題は「プログラミング思考」(Computational Thinking)力を試すのに良い問題だと思うのですが、いかがでしょうか。
理屈上は全ユーザーの友達の数を調べてカウントすればいいんですが、現実にはとても出来ない。そこで考え方を変えて、なるべく少ない手順で同じ成果を得ようとする。ビッグデータが集まれば集まるほど、探索のための効率の良さが求められるわけです。
単純作業はコンピュータが得意とするところですが、そのために時間がかかると使い勝手が悪い。そこでなるべくコンピュータの負荷が軽くなるように、指示の出し方を人が工夫する。その際に登場するのがプログラミング思考であって、これからの時代に必要な力だろうと思うのです。
「プログラミング思考力、養成問題」と称して、上の問題を含めて全部で5題作ってみました。よろしければ、こちら(→ https://note.com/omori55/n/na612605d8730 )をご覧ください。
◇ ◇ ◇
〜 連載記事(2016年) 〜
▷ 連載記事(2016前)
▷ 連載記事(2016中)
▷ 連載記事(2016後)
この記事が気に入ったらサポートをしてみませんか?