見出し画像

連載記事(2016後)

セル・データを移動する方法、あの手この手

(2016年9月 93号)

 良い穴埋め問題というのは、穴を埋めて完成した文章が分かりやすく簡潔に整理されているもの、問題に答えながら新しい知識や視点が得られるもの。そんなものになっているかどうかはともかく、今日の試験問題はエクセルの操作法に関する穴埋め問題です。

 以下の設問は、エクセルでセルA2のデータをセルA3に移動する操作法を述べたものです。空欄(1),(2),(3),(5)にあてはまるカーソルの形を「選択肢」から選び、空欄(4)と(6)~(10)に適当なアルファベット・数・単語を入れて、文章を完成させなさい。
※ エクセル操作中にマウスを動かすとカーソルの形がいろいろ変わります。その種類は8種類ほどありますが、ここではカーソルの形を示せませんので、省略します。

 1つ目の方法は、セルA2のデータを消去して、セルA3に新たにデータを入力する方法。セルを選択する際のカーソルの形は (1) です。ただし、このやり方ではセルの属性(色やフォントなど)をもう一度設定する必要があります。
 2つ目は、マウスを使ってセルA2のデータをA3まで下方向にコピーして、次にセルA2のデータを消去する方法。マウスを使ってセルをコピーするときのカーソルの形は (2) です。ただし、このやり方は移動するセルが離れている場合は、かえって面倒です。
 3つ目は、1行目と2行目の間に行を1つ追加する方法。そのためには、カーソルが (3) の状態のときに (4) 行目を選択して、「挿入」メニューからまたは右クリックして、行を1行挿入すればよい。結果として、2行目以降は下にさがります。
 4つ目は、セルA2の周囲にカーソルを移動して、カーソルが (5) の形になったときに、セルA3までマウスを (6) させればよい。実はこれが一番手っ取り早い。
 5つ目は、ショートカットキーを使う方法。まずセルA2を選択して、セルのデータをカット(切り取り)する。そのときのショートカットキーは「Ctrl + (7) 」です。また、その際、カットしたデータは (8) に保存されます。次にセルA3を選択して、データをペースト(貼り付け)する。その際のショートカットキーは「Ctrl + (9) 」です。
 ところで、上記の操作をするつもりがミスることもあります。そのときはまたまたショートカットキーの出番です。アンドゥ(操作の取り消し)のショートカットキーは「Ctrl + (10) 」であり、これを1回やると1つ前の状態に、2回やると2つ前の状態に戻れます。

 答えについては、カーソルの形以外の答えを示します。

(4) 2  (6) ドラッグ(&ドロップ)  (7) X
(8) クリップボード  (9) V  (10) Z

 セルデータを移動する方法にはいろいろありますが、この問題を通じて新しいテクニックを知ってもらえれば幸いです。

グー・パーじゃんけんで勝負する

(2016年10月 94号)

こんなゲームを考えてみましょう。

【問題】A君とB君がグー・パーだけを出してじゃんけんする。チョキは出さない。そしてこのとき、次のように勝ち負けが決まる。
◇ 両者が同じ手を出したときはB君の勝ち。グー・グーなら6点、パー・パーなら1点をB君が得る。
◇ 両者が違う手を出したときはA君の勝ち。このときA君は3点を得る。

さて、この勝負、A君とB君ではどちらが有利でしょうか?


◇ A君もB君もグーとパーを同じ割合(それぞれ1/2の確率で)で出すとするなら、A君の得点の期待値は
       -6×1/4-1×1/4+3×1/2 = -1/4
 となって、A君が不利で、反対にB君が有利(B君の得点の期待値は+1/4)ということになります。

 ところが、です。A君は何もグーとパーを同じ割合で出さなきゃいけないわけではないのですから、もっと違う割合で出すことにすれば、A君の方が有利になるのです。結論を言ってしまうと、

◇ A君がグーとパーを4:9の割合で出せばいいのです。
  B君がグーを出す確率を p ,パーを出す確率を 1-p として、A君の得点の期待値を計算してみると、
       -6×4/13×p+3×4/13×(1-p)+3×9/13×p-1×9/13×(1-p)
       = (-24p+12-12p+27p-9+9p)/13 = +3/13
 見ての通り、pの値に関わらず、A君の得点の期待値はプラスになります。
 つまり、B君がグーとパーをどのように出そうが、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乗の係数になります。

      1
     1 1
    1 2 1
   1 3 3 1
  1 4 6 4 1
   ・・・
  (図1)

 ただし、このままではエクセルで処理しにくいので、下のように左端をそろえた形にします。

  1
  1 1
  1 2 1
  1 3 3 1
  1 4 6 4 1
  ・・・
  (図2)

 では、ここから【問題】です。


【問】(空欄)にエクセルの関数式を入れなさい。
 パスカルの三角形(図1)から簡単に正規分布が作れる。ただし、エクセルで処理しやすいように、(図2)のように左端をそろえた形にする。
 (図2)のような表をエクセルで作るには、まずA列を空けて(←ここがミソ)、セルB1の値を1とする。次にセルB2の計算式を(        )として、それを下方向・右方向コピーするだけ。これでパスカルの三角形の完成である。
 続いて何行目かをグラフ化すれば、正規分布(に近いグラフ)になる。これぞ、世界一簡単な正規分布の作り方! に違いない。


 設問中に「正規分布(に近いグラフ)」と書いた訳を一応説明しますと、正規分布とは一種の理想状態ですから、世の中には正確な正規分布になるようなものは無いんです。身長の分布もサイコロの分布もテストの得点分布も同じです。では、ここで問題の【答え】を示しましょう。

  Ans.  = A1+B1

 ほら、とっても簡単でしょ。

友達の数が奇数の人の人数は偶数か奇数か?

(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後)

この記事が気に入ったらサポートをしてみませんか?