ココマス

数学・算数関連を気ままに

2019年度 センター試験 情報関係基礎 第3問

問1
クラスの生徒数が10名のとき
 10=4\times 2+2より2名のグループと3名のグループができる

方法1
AからDまでは第1希望通りに振り分けられるが,
Eは第1希望が春である生徒の4人目(A・C・D・E)であり, 春がすでに上限に達していることから,
第2希望に振り分けられる。
さらにIは第1希望の春, 第2希望の夏がともに上限に達して(春A・C・D, 夏E・F・G)おり,
秋がすでに2名いる(B・H)ことから,
第3希望の冬となり,
最後に振り分けられるJは第4希望である冬となる。
f:id:coco_math_1801:20190211094128p:plain:w400

方法2
第1希望は春が7人, 夏が1人, 秋が2人, 冬が0人
よって1名多く振り分けるグループは春と秋
このときGだけは夏が上限に達している(2名:E・F)ことから,
第3希望の秋に振り分けられ, 方法1のときとは異なるグループに振り分けられることとなる。
f:id:coco_math_1801:20190211093902p:plain:w400
→ア, イ=2, 3, ウ=3, エ=8, オ=4, カ, キ=0, 2, ク=6

問2
ケ:teiinを1増やすための条件であり,
gは振り分ける人数の上限に達したグループの数を表すから,
「もしg < amariならば」
コ:(10)から(17)を実行する条件の判定であり,
Gninzu[koho]はグループkohoに振り分けられた生徒の人数を表すから,
「もしGninzu[koho] < teiinならば」
サ:gを1増やすための条件であり,
gは振り分ける人数の上限に達したグループの数を表すから,
「もしGninzu[koho]=teiinならば」
シ:繰り返しを停止する条件であり,
owariは振り分けが完了すれば1, そうでなければ0だから,
「owari=1になるまで実行」
ス:jの上限値を表し,
Gninzu[i]はグループiに振り分けられた生徒の人数を表すから,
「jを1からGninzu[i]まで1ずつ増やしながら」
→ケ=3, コ=a, サ=a, シ=7, ス=8

問3
セ:Kibosu[g]に代入する数であり,
Kibosu[g]はグループgの第1希望の人数を表すから,
「Kibosu[g]←Kibosu[g]+1」
ソ, タ, チ:i番目に第1希望の人数が多いグループjについて,
sにKibosu[j], gにjをそれぞれ代入しており,
Kibosu[j]はグループjの第1希望の人数を表し,
Gteiin[j]はグループjの人数の上限を表すから,
「s < Kibosu[j]かつGteiin[j]=syo」
「Gteiin[g]←Gteiin[g]+1」
ツテ:i番目の生徒について第1希望から順に定員を満たすまで振り分けを行っている
(20)行目は希望順位の合計だけ行われるから,
1+1+1+1+2+1+3+1+3+4=18
→セ=5, ソ=2, タ=0, チ=9, ツテ=18