現役SEが2025年大学入学共通テストの情報を解いてみたので、個人的な解説

# まえがき
タイトルの通り、2025年大学入学共通テストの情報を解いてみたので、個人的な解説を投稿します。
解説はあくまで個人的な考えなので参考程度に見てください。

# 第1問
## 問1
### a
- 解答
②改ざんされていないこと
- 解説
情報が変更されると署名も変わるため、検知することが出来る

### b
- 解答
②インターネットに直接接続する機器の増加に対応するため。
- 解説
IPアドレスは127.0.0.1のような形式のIPv4が主に利用されていたが、こちらは約43億しかない。
しかしインターネット機器の増加に伴いIPアドレスの枯渇が問題となった。
そのため、近年では1232:0ab8:0000:0001:02AB:0001:0000:0001のような形式のIPv6が利用されるようになってきた。

## 問2
- 解答
「ウ」「エ」「オ」：128
「カ」：5
- 解説
セグメントが点灯している／していないという2パターンで個数は7つあるため、2の7乗で128通り。
1桁目の大文字のアルファベットが8種類、2桁目の小文字のアルファベットが5種類、3桁目以降の数字が10種類であるため、表示できるエラーコードの種類は数字の7セグメントLEDの数によって増減する。
そのため、数字の7セグメントLEDの数をnとして下記不等式を解けばよい。
　5000<=8×5×10^n
しかし、logの表がないことに気付いたので、nに1から数字を代入していくとn=3の時に右辺が40000となり、5000種類以上となる。
ゆえに必要な個数は5となる。
情報というより数学の問題な気がする。

## 問3
- 解答
「キ」：7
「ク」：3
- 解説
利用者IDが22609なので生成方法Bでは下記計算式で求められる。
 　(2×3+2+6×3+0+9×3)÷10=5余り3
 　10-3=7
入力ミスについては以下の通り
⓪奇数桁の数字を二つ間違える
　⇒奇数桁すべてを3倍しているため、1,3,5桁目の特定ができない
①連続する二つの桁の数字をそれぞれ間違える
　⇒奇数桁を3倍、偶数桁はそのままなので、場所の特定ができない
②奇数桁のうち二つの桁の数字の順序を逆にする
　⇒奇数桁すべてを3倍しているため、1,3,5桁目の特定ができない
③連続する二つの桁の数字の順序を逆にする
　⇒奇数桁を3倍、偶数桁はそのままなので逆になっているところが特定できる
生成方法Bのルール的に奇数桁が間違えている⓪と②は外せそう。
①については3倍にした奇数桁の値が偶数桁の値と同じだとチェックディジットが同値になるからミスに気付かなそう。
消去法で③かなと思いました。

## 問4
### a
- 解答
「ケ」：②
- 解説
ディスプレイの端にある対象物の大きさは無限大とのことなので②=③>①>⓪
②のほうが③より近く見えるから②
こんな目視での解答でいいのか…
①との距離が短く見えるとか言われそうだけど、大学入学共通テストって定規とか使っていいんだっけ。

### b
- 解答
「コ」：⓪低い
「サ」：①マウスカーソルの位置から遠い場所
- 解説
各メニュー項目の大きさは同じということなので、マウスカーソルと対象物の距離の短い方が移動時間も短くなる。
移動時間の短い方に使用頻度の高い項目があるとユーザにとって便利なので、一番遠くにある項目5は使用頻度が低いと考えられる。
でも実際は、マウスの位置が下にあると項目5が一番近くに出てくるのことがほどんどじゃないかな。

# 第2問
## A
### 問1
- 解答
「ア」：⑤
「イ」：③
「ウ」：④
- 解説
時間帯ごとの総売上額なので、時間と購入された商品の合計金額が必要なため⑤。
曜日別の各商品の購買の状況なので、購入日、曜日と購入された商品の名前と個数が必要なため③、④。
一般教養みたいな問題の気がする。

### 問2
- 解答
「エ」：⓪
- 解説
顧客の情報は名前、性別、生年があるため、下記の通り取得可能。
⓪顧客が商品を購入した理由。
　⇒どこにもない
①同じ顧客に、繰り返し購入される傾向がある商品。
　⇒顧客の名前とレシートにある購入された商品の名前から取得可能
②ある商品を多く購入している顧客の年齢層。
　⇒顧客の生年とレシートにある購入された商品の名前から取得可能
③年齢や性別の違いによる、来店する時間帯の傾向。
　⇒顧客の性別、生年とレシートにある購入時間から取得可能
マーケティングについての設問。

### 問3
- 解答
「オ」：③
「カ」：⑤
- 解説
店コードは店ごとの売上・購買情報を管理するために店舗から本部に送る必要がある。
また、商品をどの店に配送する必要があるのを管理するために配送センターにも送る必要がある。
ポイント会員IDはポイントを付与するために店舗は顧客から取得する必要がある。
また、ポイント会員情報は本部で一括管理されているため、本部も取得する必要がある。

### 問4
- 解答
「キ」：⓪
「ク」：⑥
「ケ」：③
- 解説
Ⅰについて、ポイント数についてはポイント会員IDが必要であるため、ネットショッピングのアカウントとポイント会員IDが対応付けられている必要あり。
また、自宅に近い実店舗の広告チラシの表示には、ネットショッピングのアカウントに対する住所の情報で対応できる。
そのため⓪。
Ⅱについて、まずポイントカードをよく利用する実店舗を取得するには、ネットショップのアカウントとポイント会員IDが対応付けられている必要あり。
また、ネットショッピングで購入しようとする商品が実店舗にあるかを照合するには、ネットショッピングと実店舗で同じ商品コードを割り当てる必要がある。
（商品コードが別でも商品名で照合することは出来る気がするが、非効率かつ作業量がとんでもないことになる）
最後に実店舗の在庫を表示するには商品コードと店コードから在庫数を調べるの必要がある。
そのため⑥。
Ⅲについて、まずネットショッピングにログインした顧客の購入傾向が必要であるので、実店舗の購入履歴を取得するためにネットショッピングのアカウントとポイント会員IDが対応付けられている必要あり。
購入履歴からおすすめ商品を表示するので、ネットショッピングと実店舗で同じ商品コードを割り当てる必要がある。
そのため、③

## B
### 問1
- 解答
「コ」：5
「サ」：1
「シ」：2
「ス」：1
「セ」：8
- 解説
表を完成させると以下の通りなので、解答のようになる。
しかし現実はそううまくいかないので、おつりのないよう払ってあげよう。
もしくは幹事が自分の分を安くしよう。

||乱数rの値|手元の一万円札の枚数|手元の千円札の枚数|
|:--:|:--:|:--:|:--:|
|初期値||0|0|
|1人目|8|1|-4|
|2人目|1|1|2|
|3人目|6|2|-2|
|4人目|10|3|-6|
|5人目|9|4|-10|
|6人目|4|5|-14|
|7人目|5|6|-18|
|8人目|3|6|-12|
|9人目|7|7|-16|
|10人目|2|7|-10|

### 問2
- 解答
「ソ」：1
- 解説
⓪について、全員が一万円札で支払うと千円札4枚が10人分で40枚不足する。
-40のグラフがあるので、全員が一万円札で支払うケースはあった。
そのため、誤り。
①について、最後まで千円札が不足しないということは、用意する千円札が不要ということなので0枚。
0の回数は800なので、全体に対する割合は800÷10000で8％となり1割以下である。
そのため、正解。
②について、乱数はランダムな数値なので別の乱数どころか同じ乱数でも、最終的な結果のグラフが全く同じになることはほぼない
そのため、誤り。
③について、全員が千円札で支払うとおつりの千円札は不要であるため0である。
しかし、手元の千円札の最小値が0でも、全員が千円札で支払ったとは限らない。
例えば9人目までが千円札で支払い、10人目が一万円札で支払っても手元の千円札の最小値は0となる。
そのため、誤り。

# 第3問
## 問1
- 解答
「ア」：2
「イ」：2
「ウ」：2
「エ」：3
「オ」：5
- 解説
表を完成させると以下の通りなので、解答のようになる。
※マークダウン記法でテーブルの結合がうまくできなかったため、違和感がありますがご了承ください。

<table>
  <tr>
    <th>日付（日目）</th>
    <th>1</th>
    <th>2</th>
    <th>3</th>
    <th>4</th>
    <th>5</th>
    <th>6</th>
    <th>7</th>
    <th>8</th>
    <th>9</th>
  </tr>
  <tr>
    <td>部員1</td>
    <td colspan="4"><------1------></td>
    <td colspan="2"><-7-></td>
    <td colspan="3"><---9---></td>
  </tr>
  <tr>
    <td>部員2</td>
    <td>2</td>
    <td>4</td>
    <td colspan="3"><---5---></td>
    <td colspan="4"><------8------></td>
  </tr>
  <tr>
    <td>部員3</td>
    <td colspan="3"><---3---></td>
    <td colspan="4"><------6------></td>
    <td></td>
    <td></td>
  </tr>
</table>

## 問2
- 解答
「カ」：4
「キ」：1
「ク」：1
- 解説
部員3の空き日は問1の図から4日目のため、「カ」は4。
このプログラムでは最初の担当（tantou）を部員1としている。
そして、最も早く空きになる部員が次の工芸品を担当するため、Akibiで一番小さい値を探す必要がある。
そのため、次の部員の空き日と比較して、より早い方を担当にしていくとよい。
ゆえに、条件はAkibi[buin] < Akibi[tantou]となるので「キ」は1。
部員が5名に増えた場合、部員1の空き日が5であるため、空き日4の部員3のと入れ替わる。
それ以降4より小さい値はないため、(06)行目の代入は1回行われる。
ゆえに、「ク」は1。
いわゆる線形探索法。

## 問3
- 解答
「ケ」：①
「コ」：④
「サ」：②
「シ」：⓪
- 解説
工芸品の担当を決めていくため、工芸品1から担当部員を割り当てていく。
そのため、「ケ」は工芸品で①、「コ」は工芸品の数の9で④。
(10)行目は担当部員が何日目から何日目まで作業するのかを表示している。
終了日は空き日を含めて作業完了までの日数のため、サは②。
作業が割り振られた後の空き日は、終了日の次の日のため⓪。

# 第4問
※全体的にグラフを読み取る問題なのであまり知識がなく、違ったらすみません。

## 問1
- 解答
「ア」：③
「イ」：⓪
「ウ」：⓪
「エ」：②
- 解説
「ア」、「イ」について、用語は始めて見ました。
「ウ」、「エ」はグラフを読み取れるかですね。

## 問2
- 解答
「オ」：①
「カ」：③
- 解説
出張と帰省の相関図で各罫線の交点を結んだ時に、すべての点が線より右下に来るので①は読み取れる。
また、すべての相関図が右肩上がりなので③も読み取れる。
ということだと思います。

## 問3
- 解答
「キ」：⓪
「ク」：③
- 解説
縦軸と横軸が両方とも出張と観光をベースにしてるので、白丸は同じ都道府県。
人口で割った際に位置が逆転しているのは、Yに対しXは割る数である人口が多いのだと思います。

## 問4
- 解答
「ケ」：2
「コ」：③
「サ」：②
「シ」：④
- 解説
グラフの見方も、第3四分位数という言葉もよく分からないです…
観光/人口が4以上の点が2個なので、「ケ」は2。
第3四分位数は、データを小さい順に並べたときの75%の値らしいですね。
全体的に左下に点があるように見えるので、出張も観光ともに多めでない都道府県が多いのかな。
原点を中心とした円で見たときに、もっとも遠くにありそうなのはCなので、「サ」は②。
出張を観光で割った値が一番小さいのは、出張が小さく観光は大きいEっぽいので、「シ」は④。
ということだと思います。

# 感想
第1問は問1が情報分野の簡単な知識問題であとは数学の問題や文章の理解の問題のように感じました。
チェックディジットの問題が取っつきにくいかなと思います。
第2問はデータの扱い方やシミュレーションなどに対する論理的思考を試す問題のように感じました。
情報っぽいと思いつつも、情報を知らない人でも解けるかなと思いました。
第3問は工数見積もりやプログラムの考え方を試す問題のように感じました。
ここが1番情報らしい設問でした。
ただプログラミングする人にとっては、プログラムの書き方に疑問を持ってしまい変にハマるかもなと思いました。
問4は統計とか地理の問題のように感じました。
正直一番難しかったです。

大学入学共通テストに情報が入ることになった時は、もう少し情報処理に近いものを想像していました。
しかし、実際解いてみると情報というよりは数学と論理的思考を組み合わせた問題のように感じました。
考えることが多いので結構大変だなというのが素直な感想です。
受験生の皆様はお疲れ様でした