« ようやく火傷の痕(あと)の皮膚が乾いたけど、プチジョグゆっくりが精一杯・・ | トップページ | 東京マラソンのエントリーを忘れてた・・&21年3月の全走行距離 »

大学入学共通テスト2025年「情報」サンプル問題・第2問の解説~比例代表制選挙の当選者決定プログラム

朝日新聞の21年3月25日・朝刊に、令和7年度(2025年)大学入学共通テスト新科目の解説やサンプル問題例などが載ってた。

   

全体が長過ぎるので、とりあえず「情報」(必修科目・情報Ⅰの範囲)の問題だけ読むと、適度な難しさと量で第2問(抜粋)だけだったし、身近な選挙の話だから、ブログ記事を書くことを決定。

  

ところが、大学入試センターでも確認すると、朝日には無かった第2問の後半が載ってて難しく感じてしまった。私は情報Ⅰの科目内容を知らないから当たり前かも知れないが、これを数十万人の受験生(大部分は高校3年生)が短い時間で解答できるのか?

     

数年前の新テストのサンプルでもあったことだけど、本物の試験までにはレベルが下げられるだろうし、説明ももう少し丁寧になると思う。とにかく問題と解き方を見てみよう。単なる紹介や解説だけでなく、個人的な感想・意見も加える。問題文は長過ぎるので、コピペさせて頂いた。

    

  

     ☆     ☆     ☆

210331a-t

  

210331b-t

    

   

比例代表式選挙の獲得議席は、得票数に正確に比例させることは(ほとんど)出来ない。ごく簡単な例だと、議席数1の選挙区で、A党が3票、B党が2票だった時、正確に比例させると、0.6議席と0.4議席になってしまう。

  

実際の選挙だと、議席数は0以上の整数でなければならないので、正確な比例ではなく、大まかな比例を目指す方式が必要になる。日本では基本的にドント方式。私は昔、簡単な説明を読んだ気がするけど、完全に忘れてた。

  

問題の「基準得票数」とは、1議席が何票分かというより、何票で1議席とれるかと考えた方が分かりやすいと思う。合計3480票で6議席だから、580票で1議席とれる。この580が、下のプログラムでは kizyunsuu (基準数)と書かれてる。

      

配列 Tomei [i] は、i番目の党名の列。それぞれの要素は、例えば Tomei [0] ならA党。Tomei [1] ならB党。

  

配列 Tokuhyo [i] は、i番目の得票数の列。例えば Tokuhyo [2] なら、2番目のC党の得票数。ここでは、1440。

     

    

     ☆     ☆     ☆

210331c

   

sousuu という変数は、「得票数の総数」を表す。上のプログラムだと、(03)(05)(06)に従って、初期値0に4つの党の得票数を1つずつ足して行くことで求めてる。

  

1本の数式にまとめると、最終的に4つとも足し終えた後では、

sousuu=0+1200+660+1440+180=3480

    

giseki (議席)は選挙区ごとに決まった定数で、ここでは。他の選挙区では他の数値をとり得る。

  

よって、 kizyunsuu (基準数)= sousuu / giseki = 3480/6=580

  

後は、各党ごとに表示して行けば、下の枠内のようにモニター表示される。

  

  

     ☆     ☆     ☆   

210331d-t

    

  

単純な比例配分だと、それぞれの獲得議席数は無限小数になる可能性が高いし、小数点以下の切り上げ、四捨五入、切り捨て、いずれも(あまり)上手く行かない。そこで、先生が登場。

   

     

210331e-t

   

210331f-t

    

  

配列 Hikaku [i] は、獲得議席を1つずつ決める時に比較する数字の列。最初はどのi(つまり、どの党)でも、得票数そのものだが、1議席とると2で割り、2議席とると3で割る。どんどん小さくなるので、他の党にも議席獲得のチャンスが広がる。

  

配列 Tosen [i] は、i番目の党の当選数(=獲得議席数)。4党の合計が6になるまで、1回の比較ごとに、どれかが1ずつ増えていく。例えば、今回の比較ではD党が最大だから、D党の Tosen [3] が1増えるとか。

   

    

     ☆     ☆     ☆

210331g-t

   

210331h-a-t

    

  

最初、 Tosen (当選数)が0,0,0,0の状態からスタート。1回目の比較では、Hikaku [2] (つまりC党の数)が最大。よって、maxi(最大値を与えるi、つまり党番号)は2。よって、C党の当選数を表すTosen [2] が1増えて、Tosen には0,0,1,0と並ぶ。

   

2回目の比較では、C党だけ2で割った票数になって、Hikaku は1200,660,720,180と並ぶ。Hikaku [0] (つまりA党の数)が最大だから、maxiは0。よって、A党の当選数を表す Tosen [0] が1増えて、Tosen には1,0,1,0と並ぶ。以下、同様。

  

朝日新聞はこの問2までしか掲載してなかった。次の問3が私には難しくて、解きにくかったのだ。

     

   

     ☆     ☆     ☆

210331i-t

   

210331j-a-t

  

  

tosenkei は、その時点での当選者の合計。初期値0からスタートして、1ずつ増えて、議席数6に到達したら終了。つまり、tosenkei がgiseki (議席)6より小さい間は、比較して当選者を決めていく操作が繰り返される。

   

私はここまではすぐ理解できたけど、プログラムの(09)~(13)がなかなか分からなかった。「max」という新たな変数と、前に出て来てた「maxi」との違いがピンと来なかったし、そもそも何を繰り返し行ってるのかも分からない。

  

しばらく考えて、各回ごとに比較する4つの数字の中で最大の数値(max)を少しずつ探す作業だと分かった。まず、maxの初期値0からスタート。0< Hikaku [0] (つまり0<1200) だから、max=Hikaku [0]=1200。maxi は0(A党の党番号)。

  

次に、1200< Hikaku [1](つまり1200<660)ではないから、max も maxi も変化せず。さらに、1200< Hikaku [2] (つまり1200<1440)だから、max = Hikaku [2]=1440。maxi は2に変化。最後は、maxi は2のまま。

  

だから、プログラム(14)によって、Tosen [maxi](つまり Tosen [2]) は1増える。tosenkei(当選者数の合計)も1増加。

   

そして、Hikaku [maki] (つまり Hikaku [2])は、Tokuhyo [maxi] / (Tosen [maxi] +1)へと減少。つまり、Tokuhyo [2] / (Tosen [2] +1)へと減少。要するに、1人当選したC党の票数を1+1(つまり2)で割ってる。小数点以下は「切り捨て」関数で捨てる。

   

   

210331k-t

  

210331l-a-t

     

210331mthumb

   

  

最後は、各党の候補者数が足りなくなった場合への細かい配慮で一通りの完成。各回の比較で、最大値を探す時、候補者数が足りてる党の数値だけをチェックする。

  

普通に考えるなら、 (その党の候補者数)>(その時点のその党の当選者数) 。

不等号の使い方を少し変えると、 (その党の候補者数)≧(その時点のその党の当選者数)+1

  

候補者数の配列 Koho を追加で導入して、

 Koho [i] >= Tosen [i] +1

  

上の式をプログラムの(11)行に「and」で付加すればよい。最後の設問の選択肢では、≧ と< を混ぜてるから、受験生は迷ったり間違えたりする可能性が高い。まあ、最後を難しくするのはありがちな問題作成だし、OKだろう。

  

  

     ☆     ☆     ☆

これで、残る問題点は、そもそも議席数に対して立候補者数の合計が足りない時だけだろうか? 他にも何か細かいバグ(欠陥)がこのプログラムに含まれてるのかも。

    

この問題を自分で考えてる時、すぐに、比較する数値が同じになったら番号が小さい党が有利で不公平だと思ったけど、問題の一番最後にちゃんと説明してあった。

   

プログラムとの関連は分からないけど、選挙の最後にくじ引きの抽選を行ったというニュースは見覚えがある。そもそも選挙などやらずに、単なるくじ引きでいいという政治思想もあるくらいだから、許容範囲だろう。

  

運も実力の内。天の声、天命。というわけで、今日の天命(テンメイ)のブログ記事は終了♪ ではまた。。☆彡

   

      (計 3090字)

| |

« ようやく火傷の痕(あと)の皮膚が乾いたけど、プチジョグゆっくりが精一杯・・ | トップページ | 東京マラソンのエントリーを忘れてた・・&21年3月の全走行距離 »

数学」カテゴリの記事

プログラミング」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« ようやく火傷の痕(あと)の皮膚が乾いたけど、プチジョグゆっくりが精一杯・・ | トップページ | 東京マラソンのエントリーを忘れてた・・&21年3月の全走行距離 »