まず問題を読む
問題冊子
問題文・図・選択肢を確認して考えてみましょう。下へ進むと解答・解説が読めます。
問題を読み込んでいます…
原本PDFを開く・印刷する / 出典:sukyojuku.com
2026年度(令和8年度)大学入学共通テスト『情報Ⅰ』本試験の全問解説です。問題 → 解答 → 端的な解説 → 深掘りの順に並べています。まず問題を読み,答えを確かめ,短い解説で理解し,余力があれば深掘りタブを開いてください。解答・配点はすべて大学入試センター公表の正解表と照合済みです。
このページの内容
- 2026年度 共通テスト『情報Ⅰ』第1問 問1
- 2026年度 共通テスト『情報Ⅰ』第1問 問2
- 2026年度 共通テスト『情報Ⅰ』第1問 問3
- 2026年度 共通テスト『情報Ⅰ』第1問 問4
- 2026年度 共通テスト『情報Ⅰ』第2問 A 問1
- 2026年度 共通テスト『情報Ⅰ』第2問 A 問2
- 2026年度 共通テスト『情報Ⅰ』第2問 A 問3
- 2026年度 共通テスト『情報Ⅰ』第2問 B 問1
- 2026年度 共通テスト『情報Ⅰ』第2問 B 問2
- 2026年度 共通テスト『情報Ⅰ』第2問 B 問3
- 2026年度 共通テスト『情報Ⅰ』第2問 B 問4
- 2026年度 共通テスト『情報Ⅰ』第3問 問1
- 2026年度 共通テスト『情報Ⅰ』第3問 問2
- 2026年度 共通テスト『情報Ⅰ』第3問 問3
- 2026年度 共通テスト『情報Ⅰ』第4問 問1
- 2026年度 共通テスト『情報Ⅰ』第4問 問2
- 2026年度 共通テスト『情報Ⅰ』第4問 問3
- 2026年度 共通テスト『情報Ⅰ』第4問 問4
問1 2026年度 共通テスト『情報Ⅰ』第1問 問1
1問題
問 1 次の問い(a・b)に答えよ。
a 次の文章中の空欄[ア]・[イ]に入れるのに最も適当なものを,後の解答群のうちから一つずつ選べ。
コンピュータの記憶装置は主記憶装置と補助記憶装置に大別される。一般に,主記憶装置に比べ,補助記憶装置はデータを読み書きする速度が[ア]であり,[イ]のために用いられる。
[ア]の解答群
⓪ 低速 ① 同程度 ② 高速
[イ]の解答群
⓪ 容量が小さく,データの短期的な保存
① 容量が小さく,データの長期的な保存
② 容量が大きく,データの短期的な保存
③ 容量が大きく,データの長期的な保存
b 情報セキュリティに関する記述として最も適当なものを,次の⓪〜④のうちから一つ選べ。[ウ]
⓪ 犯罪につながる情報が公開されている Web サイトに日本国内からアクセスすると,不正アクセス禁止法違反になる。
① ネットワークの通信速度を高速にすることにより,マルウェアによる被害を最小限に抑えることができる。
② ソーシャルエンジニアリングによる被害を防ぐには,コンピュータの主記憶装置(メモリ)を増設することが有効である。
③ 保有するデータをバックアップしておくことで,情報セキュリティの要素である「可用性」を高めることができる。
④ ファイアウォールを利用することによって,無線 LAN での通信内容が盗聴されることを防ぐことができる。
2解答
[ア]=⓪ [イ]=③(ア・イで配点2点)
[ウ]=③(配点2点)
3解説(端的に)
a 主記憶装置(メモリ)はCPUが直接読み書きする「作業机」,補助記憶装置(SSD・ハードディスク・USBメモリなど)は書類をしまう「棚」です。棚は机より出し入れが遅い代わりに,容量が大きく,電源を切っても中身が消えないので長期保存に向きます。よって[ア]=⓪低速,[イ]=③。
b バックアップは「壊れても別の場所に控えがあるから使い続けられる」状態をつくる備えです。情報セキュリティの三要素(機密性・完全性・可用性)のうち,これが高めるのは可用性。よって[ウ]=③。他はどれも「対策と原因がかみ合っていない」選択肢です。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
記憶装置の階層。コンピュータの記憶装置は「速いが小さく高価」から「遅いが大きく安価」へと段々に並んでいます。上から順に,レジスタ → キャッシュメモリ → 主記憶装置(メモリ/RAM) → 補助記憶装置(SSD・HDD・USBメモリ・光ディスク)。速度と容量は逆向きに並ぶ,というのが階層の骨格です。
揮発性と不揮発性。主記憶装置に使われるDRAMは電源を切ると内容が消える「揮発性」。補助記憶装置は電源を切っても残る「不揮発性」。だから「長期的な保存」は補助記憶装置の役目になります。ここが[イ]の決め手です。
情報セキュリティの三要素(CIA)。機密性(Confidentiality:見せてよい人だけが見られる)/完全性(Integrity:中身が勝手に書き換わっていない)/可用性(Availability:使いたいときに使える)。バックアップ・二重化・無停電電源装置などは可用性の対策です。
ソーシャルエンジニアリング。技術ではなく人を狙う攻撃。肩越しにパスワードをのぞく,ゴミ箱の書類をあさる,管理者を装って電話で聞き出す,など。機械の性能とは無関係なので,メモリ増設では防げません。
検算 — 別の道すじで確かめる
a の検算。身の回りの数字で確かめます。主記憶装置は数GB〜数十GB,補助記憶装置は数百GB〜数TB。容量は補助記憶装置のほうが桁違いに大きい。一方,読み書きの速さは主記憶装置のほうが速く,だからこそCPUは補助記憶装置のデータをいったん主記憶装置に読み込んでから使います。「わざわざ読み込んでから使う」という手順そのものが,補助記憶装置のほうが遅い証拠です。[ア]=②高速だと,この読み込み手順の説明がつきません。
b の誤答を一つずつ最後まで追う。
⓪:不正アクセス禁止法が禁じているのは,他人のID・パスワードを無断で使う,セキュリティホールを突いて入り込む,といった不正アクセス行為と,その助長行為です。公開されているWebサイトを閲覧する行為そのものは,この法律の禁止行為に当てはまりません(サイトの中身が別の法律に触れるかどうかは,閲覧者のアクセスが不正アクセスかどうかとは別の話です)。よって誤り。
①:通信速度は「1秒あたり何ビット運べるか」の話。マルウェアは運ばれてくる中身の問題なので,速くしても被害は減りません。むしろ速いほど短時間で大量に感染が広がりうる。対策はウイルス対策ソフト・OSやアプリの更新・不審なファイルを開かないこと。よって誤り。
②:ソーシャルエンジニアリングは人をだます攻撃なので,メモリを増やしても防御にならない。対策はパスワードを人前で入力しない,書類はシュレッダーにかける,本人確認の手順を決めておく,といった運用と習慣。よって誤り。
④:ファイアウォールは「ネットワークの出入口で,通してよい通信と止める通信を仕分ける」仕組みです。無線LANの電波は空中を飛んでいるので,出入口を通る前に第三者が拾えます。盗聴を防ぐのは暗号化(WPA2/WPA3など)とHTTPSのような通信路の暗号化。守る場所が違うので誤り。
残る③だけが,対策(バックアップ)と効果(可用性)が正しく対応しています。
ここで効く一般則・学問的背景
- 記憶装置は「速さ・容量・値段」の三すくみ。速いものは小さく高い,大きいものは遅く安い。だから1種類で済ませず階層にする。
- 「長期保存」=不揮発性が必要。電源を切って消える装置に長期保存はできない。
- セキュリティ対策は「守る対象」と「攻撃の入口」を対応させて選ぶ。入口が人間なら人間側の手順を,入口が電波なら暗号化を,入口がネットワーク境界ならファイアウォールを。ここが噛み合っていない選択肢は誤り,という見分け方はそのまま使えます。
- 可用性は「セキュリティ」の一部。「セキュリティ=秘密を守ること」だけだと思っていると③を選べません。使えなくなることもセキュリティ事故です。
学問的背景。記憶装置の階層は,1946年にバークス・ゴールドスタイン・フォン・ノイマンが「理想的には無限に大きく速い記憶装置がほしいが実現できないので,階層構造にするしかない」と論じたところにさかのぼります。以来80年,素子は真空管から磁気コア,DRAM,フラッシュメモリへと変わりましたが,「速い層は小さく,大きい層は遅い」という骨格は変わっていません。だからこそキャッシュや仮想記憶といった「遅い層を速い層で覆い隠す」技術が発達しました。一方,情報セキュリティのCIA三要素はISO/IEC 27000シリーズという国際規格に定義された枠組みで,企業や学校の情報セキュリティポリシーはこの三本柱に沿って書かれています。『情報Ⅱ』では,この可用性の考え方が「クラウドサービスの冗長構成」「データベースのバックアップとリカバリ」「システムの稼働率」といった,情報システムの設計そのものの話題に発展していきます。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第3章 コンピュータとプログラミング/第1章 情報社会の問題解決 に対応します。
問2 2026年度 共通テスト『情報Ⅰ』第1問 問2
1問題
問 2 次の文章を読み,空欄[エ]〜[ケ]に当てはまる数字または文字をマークせよ。なお,当てはまる文字が A〜F の場合には,ⓐ〜ⓕをマークすること。
Mさんは家庭科の授業で,クロスステッチの刺繍(ししゅう)を作成することになった。クロスステッチは,布上の格子の1マスに対して糸を「×」の形に縫う刺繍の方法である。刺繍の模様は,図1に示すような「図案」で表現される。
Mさんは図案の作成にコンピュータを利用しようと考え,縫うマスを1,縫わないマスを0で表すことにした。図1の一番上の4マス(1行)は,2進法で表現すると4桁の 1000(2) になり,これを16進法で表現すると1桁の 8(16) になる。図1の4行分を続けて書くと,図1の図案は 8C8F(16) という16進法での4桁で表現できる。この方式に基づいて,図2の図案を16進法で表現すると,[エ][オ]27(16) となる。
【図1】クロスステッチの図案の例(1)。4×4のマス目。左上を1行1列とすると,×印(縫うマス)が入っているのは次のマスだけである。1行目=1列目のみ。2行目=1列目と2列目。3行目=1列目のみ。4行目=1〜4列目のすべて。それ以外のマスは空白(縫わないマス)。(原図は問題冊子PDFを参照)
【図2】クロスステッチの図案の例(2)。4×4のマス目。×印が入っているのは次のマスだけである。1行目=1列目・2列目・3列目(4列目は空白)。2行目=2列目のみ。3行目=3列目のみ。4行目=2列目・3列目・4列目(1列目は空白)。それ以外のマスは空白。(原図は問題冊子PDFを参照)
Mさんは,図案の種類を増やすために,4×4マスの一つの図案に対する次のような変換方法を考えた。
【変換方法】
変換A:図案の各行を2進法で表して桁を逆順にする。
例)図1の上から1行目と3行目の4マスは,いずれも 1000(2) から 0001(2) になる。
変換B:図案の全体を16進法で表して桁を逆順にする。
例)図1の図案全体は,8C8F(16) から F8C8(16) になる。
変換C:変換Aを行った後,その結果に対して変換Bを行う。
続いて,小さな図案を組み合わせてより大きな図案を作るため,図3に示すように4×4マスの図案を4枚配置して8×8マスの図案を作ることを考えた。図3中の,変換A,変換B,変換Cはいずれも元の図案に対して変換を行った結果とする。35AD(16) で表される図案を元の図案として,図3の方法で8×8マスの図案に拡張したとき,その中央の4×4マス(図3の網掛け部分)の図案を16進法で表現すると,[カ][キ][ク][ケ](16) となる。
【図3】4×4マスの図案を利用して8×8マスの図案を作る方法。8×8のマス目が,中央の縦の太線と横の太線によって4×4マスの4つのブロックに区切られている。各ブロックの中に文字が書かれており,左上=「元の図案」,右上=「変換A」,左下=「変換B」,右下=「変換C」である。網掛け(薄いグレー)がかかっているのは,8×8全体で上から3〜6行目かつ左から3〜6列目の16マス,すなわち4つのブロックがそれぞれ角の2×2マスずつを持ち寄って中央に集まった4×4の正方形である。(原図は問題冊子PDFを参照)
2解答
[エ]=ⓔ(E) [オ]=④(エ・オで配点2点)
[カ]=⑨ [キ]=⑥ [ク]=⑥ [ケ]=⑨(カ〜ケで配点4点)
3解説(端的に)
前半。「1行4マス=2進法4桁=16進法1桁」がこの問題の約束です。図2を上から読むと 1110,0100,0010,0111。それぞれ16進法にすると E,4,2,7 で E427(16)。問題文が末尾を「27」と示しているので,[エ]=E(ⓔ),[オ]=4。
後半。元の図案 35AD の各行は 0011,0101,1010,1101。
変換A(各行を逆順)→ 1100,1010,0101,1011 = CA5B
変換B(16進4桁を逆順)→ DA53
変換C(AのあとB)→ CA5B を逆順にして B5AC
これを図3のとおり並べた8×8の,上から3〜6行目・左から3〜6列目を読むと 1001,0110,0110,1001 = 9669。よって[カキクケ]=9669。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
2進法4桁と16進法1桁は1対1で対応する。16 = 24 なので,2進法をちょうど4桁ずつ区切ると16進法の1桁になります。暗記すべきはこの対応表だけです。
| 2進 | 16進 | 2進 | 16進 | 2進 | 16進 | 2進 | 16進 |
|---|---|---|---|---|---|---|---|
| 0000 | 0 | 0100 | 4 | 1000 | 8 | 1100 | C |
| 0001 | 1 | 0101 | 5 | 1001 | 9 | 1101 | D |
| 0010 | 2 | 0110 | 6 | 1010 | A | 1110 | E |
| 0011 | 3 | 0111 | 7 | 1011 | B | 1111 | F |
問題文が与えてくれた検算材料を使う。図1については「8C8F」という答えが本文に書いてあります。まず図1で自分の読み取り方が正しいか確かめてから図2に進むのが安全です。図1の1行目は1列目だけに×→1000→8。2行目は1列目と2列目→1100→C。3行目は1列目だけ→1000→8。4行目は全部→1111→F。並べて 8C8F。本文と一致するので,読み取り方は正しい。
変換の「正体」を見抜く。ここが本問の山場です。
- 変換Aは各行の4桁を逆順にする=行の中で左右をひっくり返す。つまり左右反転(鏡映し)。
- 変換Bは16進4桁を逆順にする。16進の各桁は上から順に1行目・2行目・3行目・4行目なので,桁の順を逆にする=行の順を逆にする=上下反転。
- 変換Cは左右反転してから上下反転=180°回転。
この見方ができると,図3は「元の図案/その左右反転/その上下反転/その180°回転」を田の字に並べた,万華鏡のような対称模様だと分かります。
検算 — 別の道すじで確かめる
道すじ1:8×8を全部書き出して中央を切り出す。
| 行 | 左半分(4マス) | 右半分(4マス) | 8桁全体 |
|---|---|---|---|
| 1 | 0011(元 3) | 1100(A C) | 0011 1100 |
| 2 | 0101(元 5) | 1010(A A) | 0101 1010 |
| 3 | 1010(元 A) | 0101(A 5) | 1010 0101 |
| 4 | 1101(元 D) | 1011(A B) | 1101 1011 |
| 5 | 1101(B D) | 1011(C B) | 1101 1011 |
| 6 | 1010(B A) | 0101(C 5) | 1010 0101 |
| 7 | 0101(B 5) | 1010(C A) | 0101 1010 |
| 8 | 0011(B 3) | 1100(C C) | 0011 1100 |
太字が中央の4×4(3〜6行目,3〜6列目)です。上から 1001,0110,0110,1001。16進法に直すと 9,6,6,9 で 9669。
道すじ2:対称性から答えの「形」を予言する。右半分は左半分の左右反転,下半分は上半分の上下反転なので,この8×8は縦の中心線についても横の中心線についても対称です。中央の4×4はその中心にあるので,同じ対称性を受け継ぎます。ということは,
- 各行は左右対称=2進4桁が回文になる。0000(0),0110(6),1001(9),1111(F) の4つしかありえない。
- 上下も対称=1行目と4行目が同じ,2行目と3行目が同じ。つまり答えは XYYX という形になる。
実際の答え 9669 は「9と6は回文,XYYX の形」を両方満たしています。計算せずに形だけ先に分かるので,答えが 96A9 や 9663 のようになったら,その時点で計算ミスと判断できます。これは本番でも使える強力な検算です。
よくある誤答を実際に追ってみる。
誤りその1:変換Cを「Bを行った後にAを行う」と取り違える。実際に追うと,35AD → 変換B → DA53 → 変換A(各行を逆順)→ D=1101→1011=B,A=1010→0101=5,5=0101→1010=A,3=0011→1100=C → B5AC。今回はたまたま変換Cと同じ結果になります。左右反転と上下反転は順番を入れ替えても結果が変わらない(どちらも180°回転になる)ためで,この誤りではカキクケは変わりません。ただし「順番を入れ替えても同じ」が成り立つのは今回の変換の組合せがたまたま可換だからで,一般の変換では成り立ちません。問題文どおり「Aの後にB」で計算する習慣をつけてください。
誤りその2:変換Bを「各行の16進1桁の中で何かを逆順にする」と誤読する。変換Bは「図案の全体を16進法で表して」とあるので対象は4桁全体です。本文の例 8C8F→F8C8 が,まさに全体の4桁を逆順にした結果になっていることを確認すれば防げます。もし各行ごとの処理だと思うと,1桁を逆順にしても何も変わらない,つまり変換Bは「何もしない変換」になってしまいます。
この誤読は最後まで一貫して当てはめるのが大切です。まず左下ブロック(変換B)は元の図案のまま 35AD。そして変換Cは「変換Aを行った後に変換Bを行う」ものですから,Bが何もしない以上 変換C=変換A=CA5B になります(正しい B5AC にはなりません)。ここでうっかり「Bだけ誤読して,Cは正しく B5AC のまま」としてしまうと,同じ文書の中で変換Bの意味が二通りになってしまい,そもそも筋が通りません。
この前提で8×8を組み直すと,5行目は左半分がB=元の図案の1行目 0011(その3・4列目は 1,1),右半分がC=CA5B の1行目 1100(その1・2列目は 1,1)で,中央部分は 1111=F。6行目は左がB=元の2行目 0101(3・4列目は 0,1),右がC=CA5B の2行目 1010(1・2列目は 1,0)で 0110=6。3・4行目は「元の図案」と「変換A」だけで決まるので 9,6 のまま変わりません。よって答えは 96F6 になります。
ここで注意したいのは,96F6 は「各行が回文」の条件は破っていないことです。9=1001,6=0110,F=1111,6=0110 と,どの桁も2進4桁で回文になっています。破っているのは XYYX(1桁目と4桁目が同じ,2桁目と3桁目が同じ)のほうで,先頭が 9 なのに末尾が 6 と食い違っています。つまり上下対称性の検算がこの誤りを弾いてくれます。「回文かどうか」だけを見ていると見逃すので,2つの条件は両方確かめてください。
誤りその3:網掛け部分を「4つのブロックのどれか一つ」と誤解する。図3の網掛けは太線をまたいで中央に置かれており,4つのブロックから2×2ずつを持ち寄った領域です。太線の位置と網掛けの位置をていねいに見比べることが大切です。
ここで効く一般則・学問的背景
- n進法の変換は「桁の重み」で考える。2進4桁 b3b2b1b0 の値は 8b3+4b2+2b1+b0。1110なら 8+4+2=14=E。
- 2k 進法どうしの変換は,桁をまとめる/分けるだけで済む。10進法を経由する必要はありません。16進⇔2進は4桁ずつ,8進⇔2進は3桁ずつ。
- 白黒の画像は,画素1つ=1ビットで表せる。この問題の図案はまさに4×4画素・1ビット/画素のモノクロ画像で,16進4桁=16ビットがそのデータ量です。
- 「同じ操作を2回すると元に戻る」変換を対合という。変換Aも変換Bも変換Cも,2回続けて行うと元の図案に戻ります(左右反転を2回,上下反転を2回,180°回転を2回)。これは検算にも使えます。
- ただし,変換を組み合わせたときに順序を入れ替えてよいとは限りません。今回は左右反転と上下反転という互いに影響しない操作だったので入れ替えても同じでしたが,たとえば「90°回転」と「左右反転」を組み合わせると順序で結果が変わります。「順序を変えても同じ」を一般則として覚えるのは危険です。
学問的背景。16進法がコンピュータで愛用されるのは,1バイト=8ビットがちょうど16進2桁できれいに書けるからです。1960年代のIBM System/360が8ビット=1バイトを事実上の標準にして以来,メモリのアドレス,文字コード(UTF-8のバイト列),色の指定(Webの #FF8800 など),MACアドレスと,あらゆる場面で16進法が使われています。また,元の図案を左右反転・上下反転・180°回転して並べるという図3の作り方は,数学では「対称変換の群」,デザインでは「壁紙模様(平面充填)」として体系化されている考え方です。同じ発想は,タイル・織物・ステンドグラス・和柄の型紙といった世界中の装飾芸術に共通して現れます。『情報Ⅱ』では,こうした画像データの表現がラスタ/ベクタの区別,画素数と階調とデータ量の関係,可逆圧縮・非可逆圧縮のアルゴリズムへと発展し,画像に対する変換行列(拡大・回転・反転)の話へつながっていきます。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第3章 コンピュータとプログラミング に対応します。
問3 2026年度 共通テスト『情報Ⅰ』第1問 問3
1問題
問 3 次の文章を読み,空欄[コ]・[サ]に入れるのに最も適当なものを,後の解答群のうちから一つずつ選べ。
T社では,あるサービスを展開している。そのサービスのスマートフォン専用のアプリを開発するにあたり,新規ユーザ登録の入力インタフェースとして,図4の生年の入力方法を考える。
図4では,年リストの中央に表示されている初期値が2000になっている。2008年生まれの人は,スクロール操作によりホイールを回転させ,リストの中央に2008を表示させることで入力する。この操作では,スクロールする移動距離(以下,スクロール距離と呼ぶ。)は8である。また,1997年生まれの人のスクロール距離は3となる。なお,年リストの上限は2100,下限は1900とし,それより上下にはスクロールしない。
生年の初期値について,直近1年間に登録されたユーザの生年データの分布(図5)をもとに検討する。表1に生年データの分布をもとに考えた生年の初期値の候補を示す。新規に登録するユーザの生年の分布は,直近1年間に登録されたユーザの生年の分布と変わらないと考えると,この分布に対してスクロール距離の平均ができるだけ小さくなるような初期値は,表1の中では生年データの[コ]である。
誕生月についても,図6に示すスクロール操作で入力することを考える。月リストはスクロールにより1周すると元に戻る。つまり,12の下は1,1の上は12である。新規ユーザの誕生月の分布に偏りがない場合,登録に要するスクロール距離の平均は,月リストの初期値を[サ]と考えられる。
なお,月リストをスクロールしても,入力済みの生年には影響しない。
【図4】生年の入力方法。「生年」というラベルの右に,数値が縦一列に並んだホイール(年リスト)が描かれている。上から順に 1997,1998,1999,2000,2001,2002,2003 と並び,中央の2000だけが枠で囲まれて強調されている。上下の端の数値(1997と2003)は薄く小さく描かれ,リストがさらに上下へ続いていることを示す。リストの右側には上向きの矢印と下向きの矢印,およびホイールを回す指のイラストがある。つまり「中央の枠内に表示されている値が,いま選ばれている値」という仕組みである。(原図は問題冊子PDFを参照)
【図5】直近1年間に登録されたユーザの生年データの分布を表す棒グラフ。横軸は「生年(年)」で,目盛りラベルは 1935,1945,1955,1965,1975,1985,1995,2005。縦軸は「人数(人)」で,目盛りラベルは 0,20,40,60,80,100,120。1年ごとに細い棒が並ぶ。左端の1935付近では棒はごく低く,右へ進むにつれて全体として高くなっていき,最も高い棒は1965の目盛りより右かつ1975の目盛りより左にある。全体としては一つの大きな山をなすが,最も高い棒のすぐ左隣の年は,そのさらに左隣の年よりも棒が目立って低く,一年分の深い切れ込みになっている(この切れ込みが図の中でいちばん目立つ落ち込みである)。ただし,直前の年より棒が低くなる年はこれ以外にも上り坂・下り坂の随所にあり,たとえばこの切れ込みのさらに1年手前の棒も,その左隣よりわずかに低い。最も高い棒を過ぎると棒は下がっていき,1985の目盛りより右では低い高さのまま2005まで続く。ただしこの下り坂は一様に下がり続けるわけではなく,1975の目盛りより右の途中に,直前の年より棒が高くなる小さな盛り返しが数か所ある。したがって,全体の輪郭としては山が一つに見えるものの,局所的に見れば山は一つではない。1935と2005の両端では棒が低い。1935から2005までの間に,棒がまったく無い(高さ0の)年は見当たらない。 なお,本問を解くのに棒の高さを読み取る必要はない。必要な代表値はすべて表1に数値で与えられている。(原図は問題冊子PDFを参照)
表1 生年の初期値の候補
| 中央値 | 1961 |
|---|---|
| 最頻値 | 1967 |
| 範囲(1935〜2005)の中央の値 | 1970 |
| 最大値 | 2005 |
【図6】誕生月の入力方法。「誕生月」というラベルの右に,数値が縦一列に並んだホイール(月リスト)が描かれている。上から順に 11,12,1,2,3,4,5 と並び,中央の2だけが枠で囲まれて強調されている。上下の端(11と5)は薄く小さく描かれる。右側には上下の矢印と指のイラスト。12のすぐ下に1が来ていることから,このリストが輪のようにつながって1周する構造であることが読み取れる。(原図は問題冊子PDFを参照)
[コ]の解答群
⓪ 中央値 ① 最頻値 ② 範囲(1935〜2005)の中央の値 ③ 最大値
[サ]の解答群
⓪ 1にするとそれ以外にしたときよりも小さくなる
① 12にするとそれ以外にしたときよりも小さくなる
② 6か7のいずれかにするとそれら以外にしたときよりも小さくなる
③ どの月にしても変わらない
2解答
[コ]=⓪(配点2点)
[サ]=③(配点2点)
3解説(端的に)
[コ] スクロール距離は「初期値からの離れ具合」,つまり距離の絶対値です。距離の平均を最小にする点は中央値である,という一般則が決め手。理由も直感的です。初期値を c から c+1 へ1年右にずらすと,「c 以下の年に生まれた人」(c と同じ年の人も含む。距離0だった人が距離1になる)は全員1ずつ遠くなり,「c より右の年に生まれた人」は全員1ずつ近くなります。つまり増える距離は「初期値以下の人数」×1,減る距離は「初期値より右の人数」×1。中央値では前者が全体の半分以上・後者が半分以下になるので,そこから動かして合計距離が減ることはありません。この損得が釣り合う位置が中央値です。よって[コ]=⓪。
[サ] 月リストは輪になっています。どの月を初期値にしても,そこから12か月それぞれへの距離は 0,1,2,3,4,5,6,5,4,3,2,1 という同じ顔ぶれになります(一番遠いのは真裏の月で6)。合計36,平均は 36÷12=3。初期値によらず一定なので[サ]=③。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
代表値の使い分け。平均値は「全部を足して個数で割った値」,中央値は「小さい順に並べたときの真ん中の値」,最頻値は「いちばん多く現れた値」。今回は「範囲の中央の値」(=最小値と最大値の平均で,ミッドレンジと呼ばれる)も候補に入っています。この4つはふつう一致しません。
どの代表値が何を最小にするか。ここが本問の核心です。
| 最小にしたいもの | 最小にする点 |
|---|---|
| 距離の合計・平均(絶対値の和 Σ|x−c|) | 中央値 |
| 距離の2乗の合計(Σ(x−c)2) | 平均値 |
| いちばん遠い人の距離(最大値 max|x−c|) | 範囲の中央の値 |
| ぴったり当たる人数を最大にする | 最頻値 |
本問が聞いているのは「スクロール距離の平均」なので,1行目の中央値です。もし「いちばん苦労する人の手間を減らしたい」なら答えは②の範囲の中央の値,「一発で当たる人を増やしたい」なら①の最頻値。何を小さくしたいのかで正解の代表値が変わるというのが,この設問が問うている本質です。
円環(サイクル)上の距離。月リストのように輪になった並びでは,2点間の距離は「時計回りに行く歩数」と「反時計回りに行く歩数」の短いほうです。12個の輪では,ずれが k のとき距離は k と 12−k の小さいほう。
検算 — 別の道すじで確かめる
[コ]を「ずらしたら本当に増えるか」で確かめる。初期値を中央値1961から,最頻値の1967まで右へ動かしてみます。初期値を c から c+1 へ1年右に動かすと,増える距離は「c 以下の年に生まれた人数」×1,減る距離は「c より右の年に生まれた人数」×1です。ここで c ちょうどの年に生まれた人を左右どちらからも外してしまうのが,よくある落とし穴です。距離0の人は距離1になるので,この人たちは「増える側」に入ります。式で書けば,合計距離の変化は #(x≦c) − #(x>c)。
1961は中央値なので #(x≦1961) は全体の半分以上,#(x>1961) は半分以下。よって 1961→1962 で合計距離は減りません。さらに右へ動かすと,#(x≦c) は増える一方,#(x>c) は減る一方なので,以降もこの向きは変わりません。しかも図5では1961から2005までの各年にも棒が立っている(人がいる)ので,2年目以降は #(x≦c) が半分を真に超え,動かすたびに合計距離は確実に増えます。よって1967も,1970も,2005も1961より悪い。中央値が最小だと確かめられました。
なお,データが離散的なので「初期値の左右の人数がちょうど等しくなる点」は一般には存在しません(実際この分布でも,1961より左と右で人数は等しくない)。中央値の正しい特徴づけは「初期値以下の人数が全体の半分以上,かつ初期値以上の人数も全体の半分以上」です。
[コ]の誤答を最後まで追う。
選択肢①(最頻値):最頻値はいちばん人数が多い年なので,一見よさそうに見えます。しかし最頻値が最大にするのは「スクロール距離が0で済む人の数」であって,最小にするのは距離の平均ではありません。実際に追ってみます。表1より中央値は1961,最頻値は1967なので,最頻値は中央値より6年ぶん右にあります。上の「ずらしたら本当に増えるか」の議論のとおり,中央値より右へ動かすと1年動かすごとに合計距離は増えていくので,1967を初期値にすると1961より平均は大きくなる。よって①は誤り。
選択肢②(範囲の中央の値):これは1935と2005という両端の2つの値だけで決まる値で,その間に何人いるかを一切見ていません。仮に大多数が1940年前後の生まれで1人だけ2005年生まれでも,範囲の中央は同じ1970になってしまいます。距離の平均を考えるのに人数の分布を無視する代表値は不適切です。表1の値で見ても1970は中央値1961より右なので,やはり中央値より平均は大きくなる。よって②は誤り。
選択肢③(最大値):2005は表1の候補の中でいちばん右で,しかも図5の横軸の右端そのものです。中央値1961より44年も右にあるので,中央値より平均は大きくなります。よって③は誤り。
[サ]を具体的に数え上げて確かめる。初期値を2にした場合(図6の状態)と,初期値を6にした場合を,全12か月分書き出して比べます。
| 誕生月 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 合計 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 初期値2からの距離 | 1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 5 | 4 | 3 | 2 | 36 |
| 初期値6からの距離 | 5 | 4 | 3 | 2 | 1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 36 |
どちらも合計36,平均3。並ぶ順番が回っただけで,出てくる数の顔ぶれは完全に同じです。初期値をどこにしても同じことが起きるので,③が正しい。
[サ]の誤答を最後まで追う。選択肢⓪①②はいずれも「リストに端がある」という前提から出てきます。もし月リストが年リストと同じく1が上端・12が下端で輪になっていなければ,1〜12の一直線上での距離の平均が最小になるのは中央の6か7で,そのときの合計距離は 5+4+3+2+1+0+1+2+3+4+5+6=36(初期値6の場合),初期値1なら 0+1+2+…+11=66。確かに②が正しくなり,⓪①は最悪の選択になります。輪になっているかどうかだけで結論がひっくり返るので,「12の下は1,1の上は12である」という一文が本問の分かれ目です。
ここで効く一般則・学問的背景
- 絶対値の和 Σ|x−c| を最小にする c は中央値。データの個数が偶数のときは,真ん中の2つの値に挟まれた範囲ならどこでも同じ最小値になります(一意とは限らない)。
- 2乗の和を最小にするのは平均値。絶対値か2乗かで答えが変わるので,問題文が「距離の平均」なのか「距離の2乗」なのかを必ず読み分けます。
- 輪の上に一様に分布したデータでは,どこを基準にしても距離の平均は変わらない。基準を1つずらすと距離の顔ぶれ全体もそっくり1つずれるだけだからです。ただしこれは分布に偏りがない場合に限ります。本問も「誕生月の分布に偏りがない場合」とわざわざ断っています。もし偏りがあれば話は別で,たとえば全員が3月生まれなら初期値3が最善(平均0),初期値9が最悪(平均6)になります。
- 要素数が偶数の輪には「真裏」がある。12個の輪では,どの月にもちょうど1つ距離6の月(真裏)があります。奇数個の輪,たとえば7個ならいちばん遠い距離は3で,それが2つずつあります。「必ず真裏が1つある」は偶数個のときだけの性質です。
- UIの初期値は,最も多い人の手間ではなく全体の手間の総和で決める。これが情報デザインの考え方です。
学問的背景。「距離の合計を最小にする点は中央値」という性質は,18世紀にロジャー・ボスコビッチが観測データへの直線あてはめに絶対値の和を使ったのが始まりとされ,のちにラプラスが理論的に整理しました。19世紀にガウスとルジャンドルが2乗和を使う最小二乗法を確立して以降は平均値と2乗和が主流になりますが,20世紀後半になると「外れ値に強い」という利点から絶対値の和(中央値回帰・ロバスト統計)が再評価され,今日の機械学習でもL1損失として広く使われています。平均は外れ値1つに大きく引きずられますが,中央値はびくともしない。この設問で最大値2005が論外な選択になるのも同じ理屈です。また,スマートフォンの日付入力に使われるホイール型UIは2007年の初代iPhoneで広まったもので,「初期値をどこに置くか」で操作量が決まるという本問の問題意識は,情報デザインの分野で古くから研究されてきたテーマです。『情報Ⅱ』では,こうしたユーザ操作のログを集めて分析し,初期値やレイアウトを実際に比較検証するA/Bテスト,そして代表値・分散・相関を使ったデータサイエンスの手法へと発展していきます。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第4章 情報通信ネットワークとデータの活用/第2章 情報デザイン に対応します。
問4 2026年度 共通テスト『情報Ⅰ』第1問 問4
1問題
問 4 次の文章を読み,後の問い(a・b)に答えよ。
電子メールはさまざまな機器を経由して受信者に配信される。経由する機器は場合により異なるが,ここでは図7の概念図に示すように,カオルさん(kaoru@example.ac.jp)がシノブさん(shinobu@example.ed.jp)にメールを送ろうとするときに,送信側のメールサーバAと受信側のメールサーバBがかかわる場合を考える。
【図7】カオルさんからシノブさんへメールを送るときの概念図。左下に「カオルさん kaoru@example.ac.jp」の人型,右下に「シノブさん shinobu@example.ed.jp」の人型が描かれている。上段には左に「送信側メールサーバ A」,右に「受信側メールサーバ B」のサーバ機器の絵がある。矢印は3本で,向きはカオルさん→A(「メール送信」),A→B,B→シノブさん(「メール受信」)。つまりメールは必ず カオルさん → A → B → シノブさん の順に一方向へ流れ,AとBを飛ばす経路や,逆向きに流れる経路は描かれていない。(原図は問題冊子PDFを参照)
a カオルさんが,次に示す誤りの例あ〜うのようにシノブさんのメールアドレスを間違えて送信したとき,配信途中のどこかでそのメールをシノブさんに届けられないことが検出される。あ〜うのそれぞれの場合で,そのメールが届けられないことを最初に検出したサーバとその理由の組合せとして正しいものを,後の⓪〜⑦のうちから一つずつ選べ。ただし,同じものを繰り返し選んでもよい。なお,誤って指定した sinobu という文字列に対応するユーザ名やドメイン名は存在しないものとする。exmple.ed.jp という文字列についても,同様とする。
誤りの例(下線部の文字列には綴りの間違いがある。)
| 誤ったアドレス(下線部が誤り) | 解答欄 | |
|---|---|---|
| あ | sinobu@example.ed.jp | [シ] |
| い | example.ed.jp@sinobu | [ス] |
| う | sinobu@exmple.ed.jp | [セ] |
| サーバ | 理由 | |
|---|---|---|
| ⓪ | A | 送信側のドメイン名が存在しない |
| ① | B | 送信側のドメイン名が存在しない |
| ② | A | 受信側のドメイン名が存在しない |
| ③ | B | 受信側のドメイン名が存在しない |
| ④ | A | ユーザ名が存在しない |
| ⑤ | B | ユーザ名が存在しない |
| ⑥ | A | 受信側のドメイン名とユーザ名の両方が存在しない |
| ⑦ | B | 受信側のドメイン名とユーザ名の両方が存在しない |
b 図7のメールを送る過程で用いられる通信先のIPアドレスを特定する仕組みとして最も適当なものを,次の⓪〜③のうちから一つ選べ。[ソ]
⓪ DNS ① WWW ② パケット通信 ③ ルーティング
2解答
[シ]=⑤(配点1点)
[ス]=②(配点2点)
[セ]=②(配点2点)
[ソ]=⓪(配点1点)
3解説(端的に)
メールアドレスは ユーザ名@ドメイン名。@の右で「どのサーバへ運ぶか」を決め,@の左で「そのサーバの中の誰の私書箱か」を決めます。だからドメイン名の誤りはAの段階で,ユーザ名の誤りはBに届いてから分かります。
あ @の右 example.ed.jp は正しいので,AはBまで運べる。Bが自分の利用者一覧を見て sinobu が無いと気づく → ⑤(シ=5)。
い @の右が sinobu で,このドメインは存在しない。Aは運び先のサーバを見つけられず,そこで止まる → ②(ス=2)。
う @の右 exmple.ed.jp が存在しないので,やはりAの段階で止まる。ユーザ名の誤りはBに届いて初めて分かるので,この時点ではまだ検出されない → ②(セ=2)。
b ドメイン名からIPアドレスを調べる仕組みはDNS → [ソ]=⓪。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
メールアドレスの構造。「kaoru@example.ac.jp」は,@の左の kaoru がユーザ名(ローカル部),@の右の example.ac.jp がドメイン名。郵便でいえば,ドメイン名が「住所」,ユーザ名が「その建物の中の部屋番号・氏名」です。郵便配達員はまず住所を見て建物まで運び,建物に着いてから宛名を確かめます。順番が逆になることはありません。
ドメイン名の階層。example.ac.jp は,右から jp(日本)→ ac(学術機関)→ example と,右へ行くほど大きなくくりになる階層構造です。ac.jp は大学など,ed.jp は小中高校などに割り当てられます。
DNS(Domain Name System)。人が読みやすいドメイン名と,機械が通信に使うIPアドレスを対応づける「電話帳」の仕組み。世界中のDNSサーバが階層的に分担して情報を持ち合っています。メールの場合はさらにMXレコードという専用の記録を引いて「このドメイン宛のメールはどのサーバが受け取るか」を調べます。存在しないドメイン名を引くと「そんな名前はない」という答えが返り,ここで配信が止まります。
SMTPとPOP/IMAP。メールを送り出して中継するのがSMTP,受信者が自分の私書箱から取り出すのがPOPやIMAP。図7の「カオルさん→A→B」がSMTP,「B→シノブさん」がPOP/IMAPにあたります。
検算 — 別の道すじで確かめる
「その情報をそのサーバは持っているか?」で判定する。これが最も確実な検算法です。
| 知りたいこと | Aが判定できるか | Bが判定できるか |
|---|---|---|
| 宛先ドメイン名が存在するか | できる(DNSに問い合わせればよい) | できるが,そもそも届かない |
| 宛先のユーザ名が存在するか | できない(他組織の利用者一覧は持っていない) | できる(自分の利用者一覧を持っている) |
この表に照らせば,「ドメイン名の誤りはA,ユーザ名の誤りはB」という結論が機械的に出ます。
誤答を実際に最後まで追う。
[シ]で④(A・ユーザ名が存在しない)を選んだ場合。実際に追うと,Aは example.ed.jp をDNSで引いてBを見つけます。ここまでは何の異常もありません。次にAがBへメールを渡そうとするとき,Aは「Bに sinobu という利用者がいるか」を知る手段を持っていません。他組織の利用者名簿は公開されていないからです。したがってAは正常に転送し,異常はBで初めて分かる。④は成立しません。
[シ]で③(B・受信側のドメイン名が存在しない)を選んだ場合。実際に追うと,example.ed.jp はシノブさんの本当のドメインで,問題文にも図7にも実在するものとして書かれています。下線が引かれているのは sinobu の部分だけ。ドメイン名には誤りが無いので,「ドメイン名が存在しない」という理由自体が成り立ちません。③は成立しません。
[ス]で⓪(A・送信側のドメイン名が存在しない)を選んだ場合。実際に追うと,送信側はカオルさんの kaoru@example.ac.jp で,これは正しいまま変わっていません。誤っているのは宛先の @ の右にある sinobu,すなわち受信側のドメイン名です。「送信側」と「受信側」を取り違えているだけなので,⓪は成立しません。ここは選択肢が⓪①②③と紛らわしく並べられている,出題者の仕掛けです。
[ス]で⑤(B・ユーザ名が存在しない)を選んだ場合。実際に追うと,Aはドメイン sinobu のメールサーバをDNSで探しますが見つかりません。運び先が分からないのでメールは1歩も先へ進まず,Bには到達しません。到達しない以上Bは何も検出できない。⑤は成立しません。
[セ]で⑥(A・受信側のドメイン名とユーザ名の両方が存在しない)を選んだ場合。ここが本問で最も差がつくところです。実際に追うと,Aは exmple.ed.jp をDNSで引いて「存在しない」という答えを得ます。この時点でAの処理は終わりです。では sinobu というユーザ名が存在しないことをAは確かめられるでしょうか。ユーザ名の存在確認は,そのドメインを担当するサーバに問い合わせて初めてできることですが,そのサーバ自体が存在しません。したがってAが検出できた理由はドメイン名の不存在だけです。設問は「届けられないことを最初に検出したサーバとその理由」を聞いているので,答えは②であって⑥ではありません。
[セ]で⑦(B・両方が存在しない)を選んだ場合。実際に追うと,宛先ドメインは exmple.ed.jp であって example.ed.jp ではないので,そもそもBはこのメールの宛先サーバではありません。図7の矢印はカオルさん→A→B→シノブさんの一方向で,Aで止まったメールがBへ渡る経路はありません。⑦は成立しません。
[ソ]の誤答。①WWWは,HTTPを使ってWebページを閲覧する仕組みそのもので,IPアドレスを特定する仕組みではありません。②パケット通信は,データを小さな塊に分けて送る運び方の話であり,宛先を調べる仕組みではありません。③ルーティングは紛らわしいですが,これはIPアドレスがすでに分かっているパケットを,どのルータを経由して届けるか経路を選ぶ仕組みです。「名前 → IPアドレス」の変換を行うのはDNSだけ。DNSで住所(IPアドレス)を調べ,パケットに分けて,ルーティングで道順を決めるという役割分担で整理すると混乱しません。
ここで効く一般則・学問的背景
- エラーは「その情報を持っている場所」で初めて検出される。ネットワークの問題を考えるときの基本原則です。誰が何を知っているかを整理すれば,どこで止まるかは自動的に決まります。
- 宛先の解決は必ず「大きいくくり → 小さいくくり」の順。ドメイン名(どのサーバか)を解決してから,ユーザ名(誰か)を解決します。この順序は逆転しません。
- ただし「ユーザ名の誤りは必ずBが検出する」とまでは言えません。あくまで「メールがBまで到達した場合に,Bが検出する」です。本問のうのように,その手前のドメイン解決で止まればBは何も検出しません。「必ず」と付けたくなったら,手前で止まる場合を必ず疑ってください。
- DNSは「名前→アドレス」の変換専用。経路選択(ルーティング)でも,データの分割(パケット通信)でも,Web閲覧(WWW)でもありません。役割の切り分けを覚えることが,この手の設問では最短ルートです。
- DNSはメール以外でも常に働いている。Webサイトを開くときも,アプリが通信するときも,まずDNSでIPアドレスを引いています。だから「DNSが止まると,サーバは生きているのにインターネットが全部使えなくなったように見える」という障害が起こります。
学問的背景。インターネット初期の1970年代,ホスト名とアドレスの対応は HOSTS.TXT という1枚のファイルで管理され,各組織がそれを定期的にコピーして使っていました。接続するコンピュータが増えるとこの方式は破綻し,1983年にポール・モカペトリスがDNSを設計します。「名前空間を階層に分け,管理を分散させる」というこの設計思想のおかげで,DNSは40年以上たった今も世界規模で動き続けています。メールのSMTPも1982年に定められた古いプロトコルですが,当初は暗号化も送信者認証も想定されておらず,これが今日の迷惑メールやなりすましの温床になりました。そのため後からSPF・DKIM・DMARCといった送信元を検証する仕組みが継ぎ足されています。「最初に決めた仕様は簡単には変えられないので,後から層を重ねて補う」というのはインターネット技術に共通する進化の形です。『情報Ⅱ』では,このDNSの階層構造やプロトコルの階層モデル(TCP/IPの4層モデル)を通じて,情報システムがどのように分散設計され,どこに脆弱性が生まれるのかを,より踏み込んで学ぶことになります。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第4章 情報通信ネットワークとデータの活用 に対応します。
A問1 2026年度 共通テスト『情報Ⅰ』第2問 A 問1
1問題
第2問 次の問い(A・B)に答えよ。(配点 30)
A 次の文章を読み,後の問い(問1〜3)に答えよ。
A国では,役所が発行する住民証明に,住民の氏名,生年月日,住所(以下,この三つをまとめて住民情報と呼ぶ。)が記載されている。住民情報は就職先企業などから求められたときに自分自身で申告することができる。企業は,申告された住民情報が役所に登録された住民情報と一致しているかを確認するために,役所が発行する住民証明の提出を一緒に求めることがある。紙に印刷された役所発行の住民証明(紙媒体)を取得するには,請求者が役所に直接訪れるだけでなく,コンビニエンスストアなどに設置されている多機能プリンタで印刷しても入手することができる。
図1は,A国の住民証明(紙媒体)発行のための情報システムを表したものである。ここで,1,2,…の数字は操作・要求やデータの移動が発生する時間的順序を表している。なお,以降の問題を含め,住民証明の請求に必要となる個人認証は請求操作に含まれており,認証に関する不正行為への対策は別途行われているとする。
【図1】多機能プリンタで住民証明(紙媒体)を入手できる情報システム。上段に左から「役所」「多機能プリンタ(コンビニエンスストアなど)」「請求者」の三つが横一列に並び,左下に「提出先」がある。矢印は5本で,付いた番号が発生順を表す。1 請求操作:請求者→多機能プリンタ。2 データ要求:多機能プリンタ→役所。3 住民証明(電子データ):役所→多機能プリンタ。4 住民証明(紙媒体):多機能プリンタ→請求者。5 住民証明(紙媒体)持参あるいは郵送:請求者→提出先。(原図は問題冊子PDFを参照)
問1 次の文章を読み,空欄 [ア] ・ [イ] に入れるのに最も適当なものを,後の解答群のうちから一つずつ選べ。ただし,解答の順序は問わない。
図1に示した情報システムでは,提出先に住民証明(紙媒体)を持参あるいは郵送しなければならない。そこで,住民証明(電子データ)を電子的に提出できるように,情報システムを改良する。
図2に示す情報システムでは,請求者が個人保有のパーソナルコンピュータ(PC)からインターネットを介して住民証明(電子データ)を請求して入手できる。図1の情報システムと異なり,図2の情報システムには「 [ア] 」や「 [イ] 」といった特徴がある。
【図2】個人保有のPCで住民証明(電子データ)を入手できる情報システム。上段に左から「役所」「PC(個人保有)」「請求者」が横一列に並び,このうちPCと請求者だけが破線の枠で囲まれている(=請求者の手元で完結する範囲)。左下に「提出先」。矢印は5本。1 請求操作:請求者→PC。2 データ要求:PC→役所。3 住民証明(電子データ):役所→PC。4 送信操作:請求者→PC。5 住民証明(電子データ):PC→提出先。図1にあった「多機能プリンタ」「コンビニエンスストア」「紙媒体」は図2には一つも登場しない。(原図は問題冊子PDFを参照)
[ア]・[イ]の解答群
⓪ デジタルデバイドが解消され,誰でも簡単に請求できる。
① 住民証明(電子データ)を入手するにはコンビニエンスストアを訪れる必要がある。
② 自宅や出先から住民証明(電子データ)を請求できる。
③ 請求者が操作しなくても提出先は住民証明(電子データ)を入手できる。
④ 入手した住民証明(電子データ)をインターネット経由で送ることができる。
2解答
[ア]・[イ]=②,④(解答の順序は問わない。配点3点)
3解説(端的に)
図1と図2を「どこが消えて,どこが増えたか」で見比べます。図1では請求者は多機能プリンタのあるコンビニエンスストアまで足を運ぶ必要があり,受け取るのは紙媒体なので,提出先へは持参か郵送でした。
図2ではその二つがまるごと消えます。請求は請求者の手元のPCから行われる(1請求操作・2データ要求)ので,場所に縛られずに請求できる=②。受け取るのは電子データで,5の矢印がPCから提出先へ直接向かっている=インターネット経由で送れる=④。
この2点がちょうど「紙とコンビニ」の裏返しになっています。図の矢印が「誰から誰へ」「何が」動いているかを追うだけで決まる問題です。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
情報システムの図の読み方。この手の図は「箱=登場人物(役所・PC・請求者・提出先)」「矢印=やりとりされるモノや操作」「番号=起きる順番」の三つでできています。だから比較するときも,(1) 箱が増減したか,(2) 矢印の向きと中身が変わったか,(3) 順番が変わったか,の3点だけを見ればよい。図1→図2では,箱「多機能プリンタ」が消えて「PC(個人保有)」に置き換わり,矢印4・5の中身が「紙媒体」から「送信操作」「電子データ」に変わりました。
デジタルデバイド。情報機器やネットワークを使える人と使えない人のあいだに生まれる格差のことです。年齢,収入,地域,障がいの有無などが原因になります。「デジタル化=万人に便利」ではない,というのが情報Ⅰで繰り返し問われる論点です。
検算 — 別の道すじで確かめる
残る3択を,図2に当てはめて最後まで追ってみます。
⓪「デジタルデバイドが解消され,誰でも簡単に請求できる」。図2の請求には,個人保有のPCとインターネット接続,そしてそれを操作できることが前提になります。図1なら近所のコンビニエンスストアの多機能プリンタで済んだ人が,図2ではPCを持っていないと請求できません。つまり図2はデジタルデバイドを解消するどころか,その影響を受けやすくする方向の変更です。誤り。
①「コンビニエンスストアを訪れる必要がある」。図2にはコンビニエンスストアも多機能プリンタも登場せず,請求者は手元のPCで住民証明(電子データ)を入手します。つまり図2について端的に偽なので誤り。ちなみに図1でも,請求者が受け取るのは4の紙媒体であって,電子データが動くのは3(役所→多機能プリンタ)だけです。だから①は図1についても成り立ちません。コンビニエンスストアを訪れる必要があったのは,あくまで紙媒体を入手するときの話です。
③「請求者が操作しなくても提出先は入手できる」。図2をなぞると,5(PC→提出先)の直前に必ず4 送信操作(請求者→PC)があります。請求者が送信操作をしなければ5は起きません。誤り。ちなみにこの選択肢が正しくなる情報システムは,このあとの問2・問3でも登場しません(図3では請求者がアクセスコードを送り,図4でも請求者が送信操作を行います)。
ここで効く一般則・学問的背景
- 「図Xと異なり図Yには〜」型の設問では,図Xにも当てはまる記述は答えにならない。差分だけが答えになる。ただし本問の①はこの型ではありません。①は図2について端的に偽(図2にコンビニエンスストアも多機能プリンタも登場しない)だから落ちるのであって,「図1にも当てはまるから差分でない」からではない——実際,①は図1についても成り立ちません。「両方で成り立つから違いにならない」型の実例は,このあとのA問2の[カ]①(図2でも図3でも提出先に住民証明(電子データ)が届く)のほうです。
- 選択肢に「解消される」「誰でも」「必ず」のような強い言い切りが入っていたら,例外を一つ探す。ここでは「PCを持っていない人」という例外がすぐ見つかります。
- ただし逆に「強い言い切りは常に誤り」と覚えるのは危険です。真理値表やビット演算のように,全ての場合を数え上げられる場面では言い切りが正しいこともあります(本問Bの問1がその例)。
- 電子化は「速さ・場所の自由・複製の容易さ」を得るかわりに「機器と技能の前提」「改ざんの容易さ」という新しい問題を生みます。後者が問2・問3のテーマです。
学問的背景。行政手続をオンライン化する動きは各国で「電子政府(e-Government)」と呼ばれ,日本でも住民票の写しなどがコンビニエンスストアの多機能プリンタで取得できるようになりました。本問の図1はまさにその仕組みを抽象化したものです。一方で,紙の証明書には「役所の印」という改ざんしにくさがあり,電子データにはそれがありません。だから電子化を進めるときは必ず「本人確認(認証)」と「内容が正しいことの保証(真正性)」をセットで設計する必要がある——問2以降はその設計を一段ずつ登っていく構成になっています。情報Ⅱの「情報システムとプログラミング」では,こうしたシステムを実際にデータの流れ(データフロー)として設計する練習に進みます。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第1章 情報社会の問題解決 に対応します。
A問2 2026年度 共通テスト『情報Ⅰ』第2問 A 問2
1問題
問2 次の文章を読み,空欄 [ウ] 〜 [カ] に入れるのに最も適当なものを,後の解答群のうちから一つずつ選べ。
図2に示した情報システムでは,入手した住民証明(電子データ)を請求者が勝手に変更してしまうおそれがある。請求者が住民証明(電子データ)を変更できないようにするために,アクセスコードを利用する方式に情報システムを改良する。
図3に示す情報システムでは,役所は請求ごとにアクセスコードを発行する。アクセスコードを役所に送信することで,対応する住民証明(電子データ)を入手できる。
【図3】アクセスコードを利用する方式の情報システム。上段に左から「役所」「PC(個人保有)」「請求者」が並び,PCと請求者は破線の枠で囲まれている。左下に「提出先」。1 請求操作:請求者→PC。2 コード要求:PC→役所。3 アクセスコード:役所→PC。4 送信操作:請求者→PC。ここまでは番号と内容が図に書かれている。空欄は3か所で,「役所」と「提出先」を上下に結ぶ縦の矢印が2本ある。左側の縦矢印は下から上(提出先→役所)を向いており,その左に空欄[ウ]が置かれている。右側の縦矢印は上から下(役所→提出先)を向いており,その右に空欄[エ]が置かれている。もう1本は,PCから下へ回り込んで右から左(PC→提出先)へ向かう横矢印で,その下に空欄[オ]が置かれている。(原図は問題冊子PDFを参照)
図2の情報システムと異なり,図3の情報システムでは [カ] 。
[ウ]〜[オ]の解答群
⓪ 5 コード要求 ① 5 アクセスコード ② 5 住民証明(電子データ)
③ 6 コード要求 ④ 6 アクセスコード ⑤ 6 住民証明(電子データ)
⑥ 7 コード要求 ⑦ 7 アクセスコード ⑧ 7 住民証明(電子データ)
[カ]の解答群
⓪ 請求者が住民証明(電子データ)の内容を見ることができる
① 提出先が住民証明(電子データ)の内容を見ることができる
② 請求者が住民証明(電子データ)を送る必要がない
③ 役所が住民証明(電子データ)を提供する必要がない
2解答
[ウ]=④(6 アクセスコード) [エ]=⑧(7 住民証明(電子データ)) [オ]=①(5 アクセスコード) ——[ウ][エ][オ]で配点3点
[カ]=②(配点2点)
3解説(端的に)
4の次は5,6,7の順です。矢印の向きから,どこに入るかが一つに決まります。
4の送信操作を受けたPCが次に何かを送る先は提出先だけ。したがってPC→提出先の横矢印が5。ただしPCが持っているのは3で受け取ったアクセスコードだけなので,中身はアクセスコード=[オ]=①。
それを受け取った提出先は,リード文のとおり「アクセスコードを役所に送信する」。提出先→役所の上向き矢印が6・アクセスコード=[ウ]=④。すると役所が「対応する住民証明(電子データ)」を返すので,役所→提出先の下向き矢印が7・住民証明(電子データ)=[エ]=⑧。
[カ]は図2との差。図2では請求者のPCが住民証明そのものを送っていましたが,図3で請求者が送るのはアクセスコードだけ。住民証明は役所から提出先へ直接届きます。だから②です。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
「持っていないものは送れない」という原則。データの流れを追うときの最強の道具です。ある時点でその箱(役所・PC・提出先)が何を持っているかを書き出せば,次に送れるものは自動的に絞られます。図3のPCは,3の時点でアクセスコードしか受け取っていません。だから5でPCが送れるのはアクセスコードだけ。ここで住民証明(電子データ)を選ぶ余地は最初からありません。
アクセスコードとは何か。「役所が請求ごとに発行する,データの引換券」だと思ってください。券そのものには中身が書かれていませんが,役所に見せると対応する品物(住民証明)が出てきます。券を持っていない人には何も出ないので,途中で券を持つ人が中身を書き換えることはできません——これが「請求者が勝手に変更できないようにする」という改良のねらいです。
検算 — 別の道すじで確かめる
番号を先に確定させてから中身を決める。まず番号だけを追います。4の送信操作を受けて次に動くのはPCで,PCから出る残りの矢印はPC→提出先の1本だけ。よって[オ]が5。5を受け取った提出先が次に動き,提出先から出る矢印は提出先→役所の上向き1本だけ。よって[ウ]が6。最後に役所が応じるので,役所→提出先の下向きが[エ]=7。これで番号は3か所とも決まり,各空欄の候補は番号ごとに3つ(コード要求/アクセスコード/住民証明)に絞られます。
次に中身。[オ]はPCが送るもので,PCが持っているのは3で受け取ったアクセスコードだけ。よって①(5 アクセスコード)。[ウ]は提出先が送るもので,提出先が持っているのは5で受け取ったアクセスコード。リード文も「アクセスコードを役所に送信することで,対応する住民証明(電子データ)を入手できる」と書いているので④(6 アクセスコード)。「コード要求」はコードを発行する役所に「発行してほしい」と頼む矢印で,その役目はすでに2(PC→役所)が果たしており,コードを5で受け取っている提出先が改めて要求する場面はありません。残る[エ]は,その要求に役所が応える矢印なので⑧(7 住民証明(電子データ))。3か所とも一意に決まります。
[カ]の誤答を最後まで追う。
⓪「請求者が住民証明(電子データ)の内容を見ることができる」——図2では3で住民証明(電子データ)が役所からPCへ届くので,請求者は内容を見られました。図3でPCに届くのは3アクセスコードだけ。つまり図3は「見られる」どころか「見られなくなる」方向の変更です。「図2と異なり図3では〜できる」という文の中身として逆向き。誤り。
①「提出先が住民証明(電子データ)の内容を見ることができる」——図2でも5で提出先に住民証明(電子データ)が届き,図3でも7で届きます。どちらの図でも成り立つので,「図2と異なり」の答えになりません。誤り。
③「役所が住民証明(電子データ)を提供する必要がない」——図3の[エ]=7がまさに役所→提出先の住民証明(電子データ)です。提供しています。誤り。なお「役所が住民証明そのものを渡さなくなる」のは次の問3の図4であって,図3ではまだ渡しています。ここを混同すると③を選んでしまいます。
ここで効く一般則・学問的背景
- データフロー図で空欄を埋めるときは,①番号の順序,②矢印の向き,③その時点で送り手が持っているものの3つを掛け合わせる。3つ揃うとたいてい一意に決まります。
- 「AとBの違いは何か」を問われたら,候補をA・Bの両方に当てはめる。両方で成り立つ記述は違いではない(①がこれ)。逆向きの変化は答えではない(⓪がこれ)。
- データそのものを渡すかわりに「引換券」を渡す設計にすると,途中で人手が触れるのは券だけになり,データの改ざん経路が減ります。ただし券が盗まれると,盗んだ人がデータを引き出せてしまう——この弱点が問3の出発点です。
学問的背景。「本人かどうかを確かめる」ことを認証(authentication),「その相手にどこまで許すか」を認可(authorization)と呼び,情報セキュリティでは厳密に区別します。図3のアクセスコードは,請求ごとに発行される認可の券にあたります(使用回数については問題文に記述がありません)。こうした引換券方式は,実際のWebサービスでも「ダウンロードURL」「ワンタイムトークン」といった形で日常的に使われています。国際的な認可の仕組みであるOAuth 2.0でも,まず短命な「認可コード」を渡し,それと引き換えに本体のデータへアクセスする,という本問とそっくりな二段構えが採られています。券は短命であるほど,盗まれたときの被害が小さくなる——この考え方は情報Ⅱの「情報システムとプログラミング」で,実際のAPI設計として学び直すことになります。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第4章 情報通信ネットワークとデータの活用 に対応します。
A問3 2026年度 共通テスト『情報Ⅰ』第2問 A 問3
1問題
問3 次の文章を読み,空欄 [キ] 〜 [ケ] に入れるのに最も適当なものを,後の解答群のうちから一つずつ選べ。
図3に示した情報システムでは,アクセスコードが第三者に漏れると住民情報が流出するおそれがある。住民情報は請求者自身が提出先に伝えることができるので,そのことを利用して情報システムを図4のように改良する。図4に示す情報システムでは,確認依頼コードを利用する。なお,図4では,図の一部を「?」で隠してある。
図1〜3に示した情報システムでは,役所の役割は [キ] することである。一方,図4に示す情報システムでは,役所の役割を [キ] することから [ク] することに変更している。図3の情報システムにおけるアクセスコードとは異なり,図4の情報システムにおける確認依頼コードは, [ケ] 。
【図4】確認依頼コードを利用する方式の情報システム。上段に左から「役所」「PC(個人保有)」「請求者」が並び,PCと請求者は破線の枠で囲まれている。左下に「提出先」。矢印は次のとおり。1 履歴書など(住民情報を含む)持参,郵送,Webでの提出など:請求者→提出先(この図では請求者が最初に動く)。2 請求操作:請求者→PC。3 コード要求:PC→役所。4 確認依頼コード:役所→PC。5 送信操作:請求者→PC。? 確認依頼コード:PC→提出先。そして「役所」と「提出先」を結ぶ縦矢印が2本あり,下から上(提出先→役所)の矢印には「? 確認依頼コードと住民情報」,上から下(役所→提出先)の矢印には「? 正しいかどうかの情報」と書かれている。図4のどの矢印にも「住民証明(電子データ)」は現れない。また「確認依頼コード」と「住民情報」は上向き矢印のラベルの中で別々の語として並記されている。(原図は問題冊子PDFを参照)
[キ]・[ク]の解答群
⓪ 住民情報を入手 ① 住民情報を提供
② 住民情報を削除 ③ 住民情報を電子化
④ 住民情報の誤りを訂正 ⑤ 住民情報の正しさを証明
[ケ]の解答群
⓪ コードのコピーを誰も作れない
① コードだけを送信すれば住民情報を入手できる
② コードだけを送信しても住民情報を入手できない
③ コードに住民情報が含まれる
④ コードに住民情報が含まれない
2解答
[キ]=①(住民情報を提供/配点2点) [ク]=⑤(住民情報の正しさを証明/配点2点) [ケ]=②(配点3点)
3解説(端的に)
役所が外へ出しているものは何かだけを見ます。図1〜3では,役所は住民証明(=住民情報が書かれたもの)そのものを渡していました。だから役割は「住民情報を提供」=①。
図4では違います。役所から出ていく矢印は「4 確認依頼コード」(役所→PC)と「正しいかどうかの情報」(役所→提出先)の2本ですが,そのどちらにも住民情報・住民証明は乗っていません。つまり図4には,役所が住民情報そのものを外へ渡す矢印が一本もない(住民情報は,提出先から役所へ入ってくる矢印に照合材料として乗っているだけです)。役所は情報を渡す係から,提出先が持っている情報が本物かをお墨付きする係に変わった。よって「住民情報の正しさを証明」=⑤。
[ケ]はその帰結です。アクセスコードは,それを役所に送るだけで住民証明が手に入る券でした。確認依頼コードは,コードだけ送っても役所からは何も出てきません(住民情報は請求者が1で提出先に伝えたものを役所が照合するだけ)。だから漏れても住民情報は流出しない=②。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
「役割」は,出ていく矢印の中身で決まる。組織や部品の役割を図から読むときは,そこから外へ出ていく矢印に何が乗っているかを見ます。図1〜3の役所からは「住民証明(電子データ)」=住民情報そのものが出ていました。図4の役所から出ていくのは「確認依頼コード」(→PC)と「正しいかどうかの情報」(→提出先)の2本で,どちらも住民情報ではありません。出ていく矢印から住民情報が消え,かわりに判定結果が出るようになった——出力が変われば役割が変わる,というのがそのまま答えになります。
「提供」と「証明」の違い。提供は,中身そのものを相手に渡すこと。証明は,中身は渡さず「その内容で合っています/違います」という判定だけを返すこと。図4は,住民情報を請求者本人が提出先に伝え(1 履歴書など),役所は照合結果だけを返す構造になっています。役所が住民情報を配らずに済むので,役所からの流出経路そのものが消えます。
「?」で隠された図の読み方。隠されていても,矢印の向きとラベルの一部は見えています。図4では「? 確認依頼コードと住民情報」(提出先→役所)と「? 正しいかどうかの情報」(役所→提出先)というラベルが読めるので,隠れているのは番号だけです。番号が分からなくても,向きと中身が分かれば役割は判定できます。
検算 — 別の道すじで確かめる
[キ][ク]の誤答を,実際に図に当てはめる。
⓪「住民情報を入手」——役所は住民情報を最初から登録して持っている側です。図4の上向き矢印で提出先から住民情報を受け取ってはいますが,それは照合のために一時的に受け取っているだけで,役所がしている仕事(受け取った内容が登録内容と合っているかを判定して返す)を言い表していません。よって[ク]にはなりません。図1〜3でも役所は住民情報を受け取る側ではないので,[キ]にもなりません。
なお,「[キ]と[ク]は同じ解答群から選ぶのだから,[キ]で使えない選択肢は[ク]でも使えない」といった消し方はできません。[キ]は図1〜3の役所,[ク]は図4の役所という別々の対象についての空欄なので,片方でだけ成り立つ選択肢がふつうにあります(正解の①は[キ]でだけ,⑤は[ク]でだけ成り立ちます)。選択肢は必ず,その空欄が指している図に当てはめて判定してください。
②「住民情報を削除」・④「住民情報の誤りを訂正」——図1〜4のどの矢印にも削除や訂正は現れません。図4で役所が返すのは「正しいかどうかの情報」であって,誤りを直してあげる矢印ではない点に注意。
③「住民情報を電子化」——図1の3で役所が住民証明(電子データ)を出しているので一見それらしく見えますが,これは3の矢印に乗っているデータの形式を言っているだけで,図1〜3の役所の役割の説明にはなっていません。図1〜3を通じて役所が外へ渡しているのは住民情報そのもの(住民証明)であり,その役割は「電子化」ではなく「提供」です。だから[キ]として誤り。図4でも役所が外へ出しているのは確認依頼コードと「正しいかどうかの情報」だけで,住民情報を電子データにして渡す矢印は一本もないので,[ク]としても誤りです。図1では役所が出した電子データは多機能プリンタで紙に印刷され,請求者が受け取るのは紙媒体の住民証明です。どの図でも役所の仕事は「登録された住民情報を証明として渡すこと」で一貫しており,電子データという形はそのときの媒体の話にすぎません。媒体を役割と取り違えないでください。
[ケ]の誤答を,実際に追う。
⓪「コードのコピーを誰も作れない」——確認依頼コードはPCから提出先へ送信されるデータであり,コピーできないとはどこにも書かれていません。図4のねらいは「コピーされても困らない」であって「コピーできない」ではない。誤り。
①「コードだけを送信すれば住民情報を入手できる」——これは図3のアクセスコードの説明です。図4で提出先が役所に送るのは「確認依頼コードと住民情報」の両方であり,しかも返ってくるのは「正しいかどうかの情報」だけ。誤り。
③「コードに住民情報が含まれる」——含まれるなら,提出先が役所へ送るときにわざわざ「確認依頼コードと住民情報」と並べて書く必要がありません。含まれていないからこそ2つ並記されています。誤り。
④「コードに住民情報が含まれない」——これは図4について正しい記述です。ただし問われているのは「アクセスコードとは異なり」という点。図3でも,「アクセスコード」を運ぶ矢印(3 役所→PC,5 PC→提出先,6 提出先→役所)と「住民証明(電子データ)」を運ぶ矢印(7 役所→提出先)は別々に描かれています。アクセスコードは住民証明を引き出すための券であって,コード自体に住民情報が入っているとは読み取れません。両方のコードに当てはまってしまうので,違いを述べたことにならない。ここが④と②を分ける決め手です。
ここで効く一般則・学問的背景
- 秘密の強さは「漏れないこと」だけで測らない。漏れたときに何ができてしまうかで測る。アクセスコードは漏れたら住民情報が取れる,確認依頼コードは漏れても何も取れない。だから後者のほうが安全です。
- 「AとBの違い」を問う設問では,Bについて正しいだけの記述は答えにならない。Aについては偽で,Bについては真である記述を選ぶ。④が落ちるのはこの型です。
- ただし「コードだけでは何も取れないから完全に安全」とは言えません。図4でも,提出先に提出した履歴書自体が漏れれば住民情報は流出しますし,請求者本人が誤った住民情報を書けば「正しくない」と返るだけです。安全になったのは役所から住民情報が出ていく経路であって,システム全体の全リスクではない,という限定つきの改善です。
- データを渡すのをやめて判定だけを返す設計は,渡す情報量を最小にするので,事故が起きたときの被害も最小になります。
学問的背景。「中身を渡さずに,正しいことだけを相手に納得させる」という発想は,情報科学ではデータ最小化(data minimization)や属性証明と呼ばれ,プライバシー保護設計の中心にあります。日本のマイナンバーカードに入っている公的個人認証サービスも,相手に個人情報の束を渡すのではなく「この署名は本人のものか」を検証させる仕組みです。さらに進んだ技術として,年齢を明かさずに「18歳以上である」ことだけを証明するゼロ知識証明や,発行者・保持者・検証者の三者で成り立つ検証可能な資格情報(Verifiable Credentials)があり,本問の図4はまさにこの三者モデル(役所=発行者・検証者,請求者=保持者,提出先=検証を依頼する側)の入り口になっています。設計の段階からプライバシーを組み込む考え方は「プライバシー・バイ・デザイン」と呼ばれ,情報Ⅱの情報システム設計でも重要な指針です。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第4章 情報通信ネットワークとデータの活用 に対応します。
B問1 2026年度 共通テスト『情報Ⅰ』第2問 B 問1
1問題
B 次の文章を読み,後の問い(問1〜4)に答えよ。
ゲームの画面などは一つの画像ではなく,背景の画像やキャラクターの画像など複数の画像を組み合わせて作られている。例えば,図5(A)の画像の上に,コンピュータを使って描いた図5(B)のようなゲームのキャラクター画像をそのまま重ねると,図5(C)のように図5(B)の白い背景が表示されてしまう。
【図5】背景の画像にキャラクターの画像を重ねる様子。(A)=遠近法のグリッドが描かれた背景画像で,中央に「START GAME」の文字がある。(B)=四角い枠の中に,グレーのキャラクターが1体描かれた画像。キャラクターの周囲は白一色の背景で,図中では「キャラクター画像」「白い背景」の2つのラベルがそれぞれを指している。(C)=(A)の上に(B)をそのまま重ねた結果で,キャラクターの周りに(B)の白い四角形がそのまま残って背景を隠している。(原図は問題冊子PDFを参照)
図5(B)の白い背景を透過させ,その部分に図5(A)の画像を表示させたい。これは,画像を重ね合わせ,画素単位のビット演算を組み合わせて実現することができる。ここでは1画素(点)を4ビットで表現した16階調のグレースケールとし,黒色の点の値は0000(2),白色の点の値は1111(2)とする。
最初に,図5(B)のキャラクターの部分をすべて白色,透過したい部分をすべて黒色にした図6の画像を作成しておく。
【図6】四角い画像で,キャラクターの形をした領域が真っ白(1111(2)),それ以外の領域が真っ黒(0000(2))のシルエット画像。図中では引き出し線で,外側の黒い部分に「黒 0000(2)」,内側の白いキャラクター部分に「白 1111(2)」と示されている。(原図は問題冊子PDFを参照)
次に,図5(A)の画像に図6の画像を図5(C)と同様に重ねて,(a)重なる各点の4ビットについてビットごとにOR演算をすると図7の画像になる。さらに,(b)図7の画像に図5(B)の画像を重ねて,重なる各点の4ビットについて,ビットごとに「ある演算」を行うと図8の画像になる。
【図7】図5(A)の背景画像の上に,キャラクターの形をした真っ白な領域が乗っている画像。背景のグリッドと「START GAME」の文字は,白い領域に隠された部分を除いてそのまま見えている。
【図8】図5(A)の背景画像の上に,図5(B)のキャラクターがそのまま(白い四角形の背景なしで)乗っている画像。図7で真っ白だった領域が,そっくりそのままキャラクターの絵に置き換わっている。キャラクターの形に隠れる部分は図7と図8で同じで(「START GAME」の文字は図7・図8のどちらでも中央部が隠れ,左右の「STA」「AME」だけが見えている),それ以外の部分では背景のグリッドと文字がそのまま見えている。図5(C)にあった白い四角形は図7・図8のどちらにも現れない。(原図は問題冊子PDFを参照)
なお,以降の問題で使用するOR演算(論理和),AND演算(論理積),NOT演算(否定)の真理値表は表1のとおりである。
表1 論理演算子の真理値表
| x | y | x OR y |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
| x | y | x AND y |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
| x | NOT x |
|---|---|
| 0 | 1 |
| 1 | 0 |
問1 下線部(a)の操作について,図6の白色の点1111(2)と重なる図5(A)の点の値が1010(2),図6の黒色の点0000(2)と重なる図5(A)の点の値が0110(2)であった場合のそれぞれについて,ビットごとにOR演算した結果として最も適当なものを,後の解答群のうちから一つずつ選べ。
点1111(2)と点1010(2)とのビットごとのOR演算結果 [コ]
点0000(2)と点0110(2)とのビットごとのOR演算結果 [サ]
[コ]・[サ]の解答群
⓪ 0000(2) ① 0011(2) ② 0101(2) ③ 0110(2)
④ 1001(2) ⑤ 1010(2) ⑥ 1100(2) ⑦ 1111(2)
2解答
[コ]=⑦(1111(2)/配点1点) [サ]=③(0110(2)/配点1点)
3解説(端的に)
「ビットごと」とは,同じ位どうしを別々に計算して並べ直すこと。表1のOR演算だけを使います。
[コ]1111 OR 1010:1と1で1,1と0で1,1と1で1,1と0で1。並べて1111=⑦。
[サ]0000 OR 0110:0と0で0,0と1で1,0と1で1,0と0で0。並べて0110=③。
表1を見れば分かるように,ORは片方が1ならもう片方が何であっても1,片方が0ならもう片方の値がそのまま残ります。だから白(1111)とORすると必ず白,黒(0000)とORすると相手の色がそのまま。これが図7で「キャラクターの形だけ真っ白に塗りつぶされ,それ以外は背景がそのまま残る」理由です。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
ビットごとの演算(ビット単位演算)。4桁の2進数どうしの演算といっても,繰り上がりのある足し算とは別物です。1桁目は1桁目どうし,2桁目は2桁目どうし,というように桁をまたがずに独立に計算します。だから桁数がいくつでも,やることは表1の4行を引くだけ。
グレースケールと階調。1画素を4ビットで表すと,表せる明るさは24=16通り。これが「16階調」です。0000(2)が最も暗い黒,1111(2)が最も明るい白で,その間の14段階が灰色になります。ビット数を増やすほど階調は細かくなり,本問の問3で出てくる8ビットなら28=256階調です。
マスク画像。図6のように「残したい部分=白,消したい部分=黒」で塗り分けた白黒2値の画像をマスクと呼びます。マスクと元画像をビット演算で組み合わせることで,切り抜きや合成が計算だけで実現できます。
検算 — 別の道すじで確かめる
10進数に直して確かめる。1111(2)=15,1010(2)=10。ORは「どちらかに立っているビットを全部立てる」演算なので,15はすでに全ビットが立っており,結果は15=1111(2)。0000(2)=0,0110(2)=6で,0には立っているビットが1つもないので結果は6=0110(2)。一致します。
誤答がなぜ出るか。この設問で最も多い取り違えは,ORとANDを逆にすることです。もしANDでやってしまうと,1111 AND 1010=1010=⑤,0000 AND 0110=0000=⓪となり,コ・サともに別の選択肢になります。選択肢に⑤と⓪の両方が用意されているのは,この取り違えを受け止めるためです。もう一つは最後にNOTを混ぜてしまうミス。たとえばANDのあとに反転すると[コ]は NOT 1010=0101(2)=②,ORのあとに反転すると[サ]は NOT 0110=1001(2)=④が出ます。②や④はこの経路で出てくる値です。下線部(a)が指示しているのはOR演算だけなので,反転は行いません。
図7の見た目と照合する。[コ]はマスクの白い部分(=キャラクターの形)での計算で,結果は1111=白。[サ]はマスクの黒い部分(=それ以外)での計算で,結果は0110=元の背景の値そのまま。図7が「キャラクター型の真っ白な領域+そのままの背景」になっているという記述と,計算結果がぴたりと合います。
ここで効く一般則・学問的背景
- 表1から直接読み取れる性質:x OR 1=1,x OR 0=x,x AND 1=x,x AND 0=0。xは0か1の2通りしかないので,表1の各行を確かめれば例外がないことも確認できます(この4つは言い切ってよい性質です)。
- 4ビットに拡張すると:1111とORすれば必ず白,0000とORすれば相手そのまま,1111とANDすれば相手そのまま,0000とANDすれば必ず黒。この4本が本問B全体を貫く道具になります。
- 「OR=塗りつぶして白くする」「AND=通す/落とす」というイメージで覚えると,問2や問4で演算を選ぶときに迷いません。
- ただしこれは「黒=全ビット0,白=全ビット1」と決めたからこそ成り立つ話です。値の割り当てが逆の約束の問題なら,ORとANDの役割も入れ替わります。約束は毎回問題文で確認してください。
学問的背景。0と1に対するAND・OR・NOTの体系は,19世紀のイギリスの数学者ジョージ・ブールが論理学を代数として書き直したことに始まり,ブール代数と呼ばれます。当初は純粋に論理学の道具でしたが,20世紀にクロード・シャノンがこれを電気回路のスイッチの開閉に対応づけたことで,コンピュータの回路設計の基礎になりました。そして今度は,その同じ演算が画像の1画素ずつに適用されて,ゲーム画面の合成という全く別の仕事をこなしています。抽象化された数学が分野をまたいで効くという,情報科学のもっとも見事な例の一つです。画像処理でのこうしたマスク演算は,のちにアルファチャンネルという滑らかな透明度の仕組みへ発展していきます(問4で扱います)。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第3章 コンピュータとプログラミング に対応します。
B問2 2026年度 共通テスト『情報Ⅰ』第2問 B 問2
1問題
問2 下線部(b)「図7の画像に図5(B)の画像を重ねて,重なる各点の4ビットについて,ビットごとに『ある演算』を行うと図8の画像になる」における「ある演算」として最も適当なものを,後の解答群のうちから一つ選べ。 [シ]
【図5(B)(再掲)】四角い枠の中に,グレーのキャラクターが1体。周囲は白一色(1111(2))の背景。
【図7(再掲)】背景画像の上に,キャラクターの形をした真っ白(1111(2))な領域が乗った画像。それ以外の部分は背景画像がそのまま。
【図8(再掲)】背景画像の上に,図5(B)のキャラクターがそのまま乗った画像。図5(C)にあった白い四角形は現れず,キャラクターの形に隠れる部分(「START GAME」の中央部など)を除いて背景がそのまま見えている。隠れている範囲は図7と同じ。(原図は問題冊子PDFを参照)
[シ]の解答群
⓪ AND演算 ① OR演算
② AND演算の後にNOT演算 ③ OR演算の後にNOT演算
2解答
[シ]=⓪(AND演算/配点3点)
3解説(端的に)
画像を2つの領域に分けて,それぞれで何が起きてほしいかを書き出します。
キャラクターの部分:図7は白(1111),図5(B)はキャラクターの色(仮にC)。図8ではキャラクターの色が出てほしいので,結果はC。
それ以外の部分:図7は背景の色(仮にA),図5(B)は白(1111)。図8では背景が出てほしいので,結果はA。
どちらも「1111と組み合わせたら,相手の値がそのまま残る」という形になっています。表1でその性質を持つのはANDです(1 AND 1=1,0 AND 1=0,つまりx AND 1=x)。よって⓪ AND演算。
問1のOR演算が「白いところで塗りつぶす」働きだったのに対し,AND演算は「白いところを相手の絵に譲る(素通しにする)」働き。この対で図7→図8ができています。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
領域ごとに場合分けするという発想。画像全体を一度に考えると難しく見えますが,実際には「キャラクターの部分」と「それ以外の部分」の2種類しかありません。それぞれについて,重なる2つの値と,出てほしい値の3つを並べて表にすれば,必要な演算は機械的に決まります。
| 領域 | 図7の値 | 図5(B)の値 | 図8で欲しい値 | 必要な性質 |
|---|---|---|---|---|
| キャラクター | 1111(白) | C(キャラクターの色) | C | 1111と組んで相手そのまま |
| それ以外 | A(背景の色) | 1111(白) | A | 1111と組んで相手そのまま |
単位元という考え方。足し算では0を足しても値が変わりません(a+0=a)。この0のような役割の値を単位元と呼びます。ビット演算では,ORの単位元が0,ANDの単位元が1です。4ビットに広げると,ORの単位元が0000(黒),ANDの単位元が1111(白)。「白を素通しにしたいならAND」と一発で言えるのはこのためです。
検算 — 別の道すじで確かめる
具体的な数値でトレースする。キャラクターの色を1010(2),背景のある1点の色を0110(2)として,4つの選択肢すべてを実際に計算します。なお,重ね合わせが起きるのは図5(B)の四角形が乗る範囲だけで,その外側の背景画像は演算の影響を受けません。
| 演算 | キャラクター部:1111と1010 | 四角形内の背景部:0110と1111 | 図8になるか |
|---|---|---|---|
| ⓪ AND | 1010(キャラクターの色) | 0110(背景の色) | なる |
| ① OR | 1111(真っ白) | 1111(真っ白) | 四角形の範囲が一面真っ白。ならない |
| ② AND→NOT | 0101(色が反転) | 1001(色が反転) | 四角形の範囲がネガになる。ならない |
| ③ OR→NOT | 0000(真っ黒) | 0000(真っ黒) | 四角形の範囲が一面真っ黒。ならない |
①と③は,重なる各点で図7側と図5(B)側のどちらか一方が必ず1111なので,ORの結果が必ず1111になってしまいます。だから①では図5(B)の四角形が乗った範囲がまるごと白い板になり(図5(C)で白い四角形が背景を隠していたのと同じ失敗),③はそれを反転して黒い板になります。四角形の外側は演算の対象外なので背景のままですが,いずれにせよキャラクターは消えてしまいます。図8はキャラクターも背景も見えている画像なので,どちらもあり得ません。②はAND(=正解の演算)の結果を最後にひっくり返すので,重なった範囲だけ明るいところが暗く,暗いところが明るい,いわゆるネガの画像になります。図8はネガではないので誤り。
問1の結果とつなげて確かめる。問1で図7の背景部分は0110(元の背景そのまま)と分かりました。その点で図5(B)は白い背景なので1111。0110 AND 1111=0110で,背景の色が保たれます。図7と図8で背景部分の見た目が変わっていないという記述と一致します。
ここで効く一般則・学問的背景
- 相手の絵をそのまま通したいなら,通す場所を白(全ビット1)にしてANDするか,黒(全ビット0)にしてORする。逆に,そこを塗りつぶしたいなら,白にしてORすれば真っ白,黒にしてANDすれば真っ黒になる。この4通りが,本問Bで使う道具のすべてです。
- 合成の定石は2段構え。まず置き場所を作る(重ねる側の形に穴を空ける/塗りつぶす),次にそこに入れる。図7が置き場所づくり,図8が流し込みにあたります。
- 「必ず1111になる」といった言い切りは,重なる各点では図7と図5(B)のどちらか一方が必ず白だという構造から出ています。しかもこれが言えるのは図5(B)の四角形が乗る範囲だけで,その外側はそもそも重なりません。言い切りの根拠が構造にあること,その言い切りがどの範囲で成り立つのかを毎回確認してください。
- NOT演算は明暗を反転させる演算なので,「元の絵の色をそのまま出したい」場面では最後に付けてはいけません。②③が落ちるのは,どちらも最後にNOTが付いているからです。
学問的背景。本問のやり方は,コンピュータグラフィックスで長く使われてきたビットブリット(BitBlt)という技法そのものです。1970年代のAlto以来,ウィンドウやマウスカーソル,スプライト(ゲームのキャラクター)の描画は,画像の矩形領域をビット演算しながら転送することで実現されてきました。メモリも計算力も乏しかった時代には,AND・OR・NOTだけで合成できることが決定的に重要だったのです。ただしこの方法だと,境界は完全に不透明か完全に透明かの2択になり,輪郭がギザギザになります。そこで,各画素に「どのくらい透けるか」を表す値をもう一枚持たせるアルファチャンネルが考案され,1980年代にポーターとダフによって合成規則が体系化されました。現在のPNG画像やゲームエンジンの半透明表現はすべてその延長線上にあります。情報Ⅱのコンテンツ制作では,このアルファ合成を実際に扱うことになります。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第3章 コンピュータとプログラミング に対応します。
B問3 2026年度 共通テスト『情報Ⅰ』第2問 B 問3
1問題
問3 図5(B)から図6を作成するには,図5(B)の背景色(白一色)を指定して背景の領域を選択すれば容易に実現できる。しかし,図9のような背景が一色でない画像から,図10の画像を作成することは容易ではない。そこで,色の範囲を指定して,その色から成る領域を選択することができる画像編集ソフトウェアを使って背景を選択することを考える。図11は画像編集ソフトウェアで表した図9の各階調の画素数を表したヒストグラムである。なお,図9の画像は1画素を8ビットで表現した256階調のグレースケールである。図9の背景(熊以外)だけを選択するには階調のどの範囲を指定すれば良いか。最も適当なものを,図11中の⓪〜④のうちから一つ選べ。 [ス]
【図9】グレースケールの写真。中央に熊のぬいぐるみが写っており,熊は中間の明るさ(灰色)で,毛並みによって明るさがまだらに散らばっている。その背後は布のようなほぼ一様に明るい(白に近い)背景で,図中に「一色でない背景」「熊」というラベルが付いている。
【図10】図9から作りたい目標画像。熊の形の領域が白,それ以外が黒のシルエット画像(図6と同じ役割のマスク)。
【図11】図9の各階調のヒストグラム。横軸が階調で,左端が黒,右端が白(横軸の下に黒→白のグラデーション帯が添えられている)。縦軸は画素数。山は2つあり,左寄りに「低くて幅の広い山」,右寄り(白側)に「高くて幅の狭い鋭い山」があり,その間にはっきりした谷がある。左の山より左側(黒端まで)は画素数がほぼ0で平坦。グラフの下に,指定できる階調の範囲が5本の矢印で示されている。⓪=黒端から,左の山が立ち上がる手前まで(画素数がほぼ0の暗い側だけ)。①=⓪の右端から,2つの山の間の谷まで(左の幅広い山をちょうど覆う)。②=谷から白端まで(右の鋭い山をちょうど覆う)。③=左の山の頂上付近から右の山の頂上付近まで(谷をまたいで両方の山の一部ずつを含む)。④=⓪の右端から白端まで(①と②を合わせた範囲)。(原図は問題冊子PDFを参照)
2解答
[ス]=②(配点3点)
3解説(端的に)
ヒストグラムは「その明るさの画素が何個あるか」の棒の集まりです。だから山があれば「同じくらいの明るさの画素がたくさんある=まとまった領域がある」ということ。
図9には大きく2つの領域しかありません。ほぼ一様に明るい背景と,中間の明るさでまだらな熊。一様に同じ明るさが集まっている背景は狭い範囲に高く鋭い山を作り,明るさが散らばっている熊は広い範囲に低く幅広い山を作ります。しかも背景のほうが明るいので,鋭い山は白側(右)にあります。
選びたいのは背景だけ。つまり右の鋭い山をまるごと含み,左の山には手を出さない範囲です。図11でそれにあたるのは,谷から白端までの②。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
ヒストグラムの読み方。横軸に階調(暗い←→明るい),縦軸にその階調の画素数をとったグラフです。個々の画素がどこにあるかという位置の情報は捨てられていて,「明るさの分布」だけが残っています。位置が分からなくても,山の数=おおよその領域の数,山の幅=その領域の色のばらつき,山の位置=その領域の明るさが読めます。
山が2つあることの意味。「明るさの似た画素の集まりが2グループある」ということ。写真に写っているのが熊と背景の2つだけなら,2つの山はそれぞれに対応すると考えるのが自然です。この「2つの山を谷で切る」という発想が本問の核心です。
色の範囲指定による選択。画像編集ソフトウェアの「色域選択」機能にあたります。指定した階調の範囲に入る画素だけを選択するので,範囲の取り方がそのまま選択結果の良し悪しになります。
検算 — 別の道すじで確かめる
どの山がどちらか,を逆から確かめる。もし右の鋭い山が熊だとしたら,熊は「ほぼ一様な明るさで,しかも画像中で最も明るい」ことになります。しかし図9では熊は灰色で背後の布のほうが明るく,熊の毛並みには濃淡があります。逆に,左の幅広い山が背景だとすると,背景は「明るさがばらばら」ということになりますが,鋭い山を作るほど一様な領域が他にありません。したがって右の鋭い山=背景,左の幅広い山=熊で確定します。
誤答を,実際に選択したらどうなるかまで追う。
⓪:黒端から左の山の手前まで。この範囲には画素がほとんどありません。選択してもほぼ何も選ばれず,図10は作れません。
①:左の幅広い山をちょうど覆う範囲。これは熊が選ばれます。目的は「背景だけ」なので誤り。ただし,ここで選ばれるのはまさに図10の白い部分にあたる領域なので,「熊を選びたい」という別の設問だったなら①が答えになります。問われているのが背景であることを読み違えると①を選びます。
③:谷をまたいで,左の山の右半分と右の山の左半分を含む範囲。熊のうち明るめの画素と,背景のうち暗めの画素が混ざって選ばれます。熊の明るい部分(顔まわりなど)まで選ばれてしまい,背景の最も明るい部分は選ばれない。図10とはまったく別のまだらなマスクになります。
④:①と②を合わせた範囲。熊も背景も両方選ばれます。つまり画像全体がほぼ選択され,何も切り分けられません。
境界の取り方を確かめる。②の左端は谷の位置にあります。ここでいう谷とは,2つの山のあいだで画素数が最も少なくなる場所のことです。「画像全体で画素数がいちばん少ない場所」ではない点に注意してください——図11で画素数が最も少ないのは,むしろ⓪の範囲(黒端側)で,ここはほとんど0です。谷は「2つの山にはさまれた極小」を指します。
この谷で切ると,誤って選ばれてしまう熊の画素と,選び損ねる背景の画素の合計がおおよそ小さくなります。「両方とも最小になる」わけではありません。境界を白側へずらせば誤って選ばれる熊の画素は減りますが,そのぶん選び損ねる背景の画素が増えます。黒側へずらせばその逆。この2つはトレードオフの関係にあり,同時に最小化する境界は存在しません(誤って選ばれる画素だけを0にしたいなら,範囲を空にしてしまえばよいことになります)。①と②の境界が谷に置かれているのは,この合計を小さくできる位置だからです。なお,理論上いちばん良いしきい値は熊と背景それぞれの分布が交わる点であって,全体のヒストグラムの谷とは一般には一致しません。谷はその良い近似だ,というのが実際のところです。
ここで効く一般則・学問的背景
- ヒストグラムに山が2つあり,その間に深い谷があるとき,谷の位置で切るのが2つの領域を分ける実用的な目安になる。画像処理の基本テクニックです(誤判定を完全になくせるわけではなく,誤判定の総数を小さく抑えられる,という意味です)。
- 山の形は領域の性質を映す。鋭く高い山=色がそろった均一な領域,低く幅広い山=濃淡のある領域。面積が同じでも,ばらつきが大きいほど山は低く広がります。
- ただし「山の数=領域の数」は常に成り立つわけではありません。明るさが偶然近い2つの物体は1つの山にまとまってしまい,明るさで分けることはできません。図9でうまくいくのは,熊と背景の明るさが十分離れているからです。
- また「谷で切れば完璧」でもありません。熊の中でとくに明るい画素や,背景のうち影になった画素は,谷のどちら側に落ちるかで誤判定されます。図10のような輪郭のきれいなマスクを作るには,このあと手作業での修正が必要になるのが普通です。
学問的背景。ヒストグラムの谷で明暗を切り分けて画像を白黒2値にする操作はしきい値処理(二値化)と呼ばれ,画像処理のもっとも基礎的な手法です。本問では人間が図を見て谷を探しましたが,1970年代に大津展之が提案した大津の二値化は,「2つのグループに分けたときにグループ間の分離がいちばん良くなるしきい値」を計算で自動的に求める方法で,現在も文字認識や検査装置で広く使われています。一方,背景が複雑な画像から対象だけを切り出す作業は領域分割(セグメンテーション)と呼ばれ,明るさだけでは歯が立たない場面が多いため,今日では深層学習によって「これは熊の画素か」を画素ごとに判定する手法が主流になりました。情報Ⅱのデータサイエンス分野では,こうした画像認識のモデルを扱います。なお,映画やテレビの合成で使われるグリーンバックは,背景をあえて被写体に無い色で一様に塗ることで,本問の「鋭い山」を人工的に作り出す工夫だと言えます。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第3章 コンピュータとプログラミング に対応します。
B問4 2026年度 共通テスト『情報Ⅰ』第2問 B 問4
1問題
問4 次の文章を読み,空欄 [セ] 〜 [チ] に入れるのに最も適当なものを,後の解答群のうちから一つずつ選べ。
ポスターやパンフレットなどで,風景画像(図12左)に別の画像の一部分(図12中央の熊の部分)を切り抜いて重ねられたような合成画像(図12右)を見ることがある。
【図12】熊の部分のみ風景画像に合成する様子。左=雪山の風景画像(グレースケール)。中央=明るい背景の前に立つ熊のぬいぐるみの画像(図9と同じ被写体)。右=風景画像の上に熊だけが乗った合成画像で,熊の周囲には風景がそのまま見えている。(原図は問題冊子PDFを参照)
このように,画像の一部分を切り抜いて別の画像に重ねるには,背景の部分(ここでは図12中央の熊以外の部分)を透過させる必要がある。これは,図13で示した手順でビット演算を組み合わせれば実現できる。なお,ここでは,黒色の点の値は00000000(2),白色の点の値は11111111(2)とする。
【図13】風景画像に別の画像の一部を合成する手順。図は上から下へ流れる。(1) 左上に風景画像,その右に空欄[セ]の画像が置かれ,この2つをAND演算すると,下の画像=風景画像の中に熊の形が真っ黒に塗りつぶされた画像になる。(2) 空欄[セ]の画像にNOT演算を施すと,右隣の空欄[ソ]の画像になる。(3) 空欄[ソ]の画像と,右上にある熊の画像(図12中央と同じ,明るい背景の前の熊)を,空欄[タ]の演算で組み合わせると,空欄[チ]の画像になる。(4) (1)で得た「熊の形が真っ黒な風景画像」と[チ]の画像をOR演算すると,最終的に図12右と同じ合成画像になる。(原図は問題冊子PDFを参照)
[セ]・[ソ],[チ]の解答群 ※原文では6枚の画像が並び,それぞれの下に短いキャプションが付いています。以下ではキャプションをそのまま示し,丸括弧内に画像そのものの内容を補足します。
⓪ 背景:黒(熊はもとの写真のまま。周囲だけが真っ黒)
① 背景:白(熊はもとの写真のまま。周囲だけが真っ白)
② 熊:黒(熊の形が真っ黒に塗りつぶされ,周囲はもとの写真のまま)
③ 背景:白/熊:黒(白地に熊の形が真っ黒。写真の質感はない2色のシルエット)
④ 熊:白(熊の形が真っ白に塗りつぶされ,周囲はもとの写真のまま)
⑤ 背景:黒/熊:白(黒地に熊の形が真っ白。③の白黒を入れ替えたもの)
[タ]の解答群
⓪ AND演算 ① OR演算
② AND演算の後にNOT演算 ③ OR演算の後にNOT演算
2解答
[セ]=③(背景:白/熊:黒) [ソ]=⑤(背景:黒/熊:白) ——[セ][ソ]で配点2点
[タ]=⓪(AND演算/配点3点) [チ]=⓪(背景:黒。熊はもとの写真のまま/配点2点)
3解説(端的に)
問1・問2で作った道具をそのまま使います。ANDは,相手が白(全ビット1)ならその値をそのまま通し,相手が黒(全ビット0)なら真っ黒にする。ORは,相手が黒(全ビット0)ならその値をそのまま通し,相手が白(全ビット1)なら真っ白にする。
[セ]:風景画像とANDして「熊の形だけ真っ黒,それ以外は風景そのまま」にしたい。真っ黒にしたい熊の部分は黒(全ビット0),残したい背景の部分は白(全ビット1)。よって背景:白/熊:黒=③。
[ソ]:③にNOTをかけると白黒が入れ替わり,背景:黒/熊:白=⑤。
[タ][チ]:最後のOR演算で使うには,[チ]は熊の部分だけ写真の色が入り,それ以外は真っ黒でなければなりません(黒とORすれば風景が素通しになるから)。[ソ]は熊が白・背景が黒なので,熊の画像とANDすれば,熊の部分は写真そのまま,背景の部分は黒になります。よって[タ]=⓪ AND演算,[チ]=⓪ 背景:黒。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
ゴールから逆算する。最後がOR演算だと分かっている点が最大のヒントです。ORで2枚を重ねて片方だけが見えるようにするには,見せたくない側を0000 0000(黒)にしておく必要があります。だから最後にORされる2枚は,「風景側は熊の形が黒」「熊側は熊以外が黒」でなければならない。互いに黒い場所と黒くない場所がぴったり噛み合う,パズルのピースのような関係になります。この関係が見えれば,[セ][ソ][タ][チ]は芋づる式に決まります。
4つの基本則(8ビットに拡張)。
- X AND 11111111 = X(白とANDすれば,相手がそのまま残る)
- X AND 00000000 = 00000000(黒とANDすれば,必ず黒になる)
- X OR 00000000 = X(黒とORすれば,相手がそのまま残る)
- X OR 11111111 = 11111111(白とORすれば,必ず白になる)
いずれも表1の各行から直接確かめられます(xは0か1しかないので,反例はありません)。
マスクとその反転。[セ]と[ソ]はNOTで結ばれた,白黒が完全に逆のマスクです。片方で「風景から熊の形をくり抜く」,もう片方で「熊の画像から熊だけを切り出す」。1枚のマスクとその反転で,くり抜きと切り出しの両方をまかなう——これが合成の定石です。
検算 — 別の道すじで確かめる
1点ずつ数値でトレースする。熊の内側にある1点と,熊の外側にある1点を選んで,手順を最後まで追います。風景側のその点の値をK,熊画像側のその点の値をBと書きます。
| 段階 | 熊の内側の点 | 熊の外側の点 |
|---|---|---|
| [セ](背景白/熊黒) | 00000000 | 11111111 |
| 風景 AND [セ] | K AND 0…0 = 00000000 | K AND 1…1 = K |
| [ソ]=NOT[セ] | 11111111 | 00000000 |
| [チ]=[ソ]AND 熊画像 | 1…1 AND B = B | 0…0 AND B = 00000000 |
| 最後のOR | 00000000 OR B = B(熊が見える) | K OR 00000000 = K(風景が見える) |
熊の内側では熊画像の値,外側では風景の値がそのまま出ました。図12右の合成画像と一致します。
[セ]の誤答を追う。もし[セ]に⑤(背景:黒/熊:白)を選ぶと,風景とANDした結果は「熊の部分だけ風景がそのまま,それ以外が真っ黒」になります。図13にはっきり描かれている「風景の中に熊の形が真っ黒」という画像とは白黒が逆で,一致しません。残る⓪①②④はいずれも写真の質感がそのまま残っている画像で,白一色でも黒一色でもない部分を含みます。マスクは「白(全ビット1)か黒(全ビット0)か」の2値でなければ,風景をそのまま残すことも真っ黒にすることもできません。たとえば②(熊:黒/背景はもとの写真のまま)を使うと,熊の部分こそ真っ黒になりますが,背景の部分は「風景 AND 熊画像の背景」となって風景が暗く濁ってしまいます。同じ理由で⓪①④も落ちます。マスクとして使える選択肢は,白と黒だけでできている③と⑤の2つだけで,そのうち向きが合うのは③です。
[タ]の誤答を追う。[ソ](背景:黒/熊:白)と熊画像を,AND以外で組み合わせるとどうなるか。
- ① OR:熊の内側は 1…1 OR B=11111111 で真っ白,外側は 0…0 OR B=B で熊画像の明るい背景がそのまま残ります。これを最後にORすると,熊は真っ白の塊になり,周囲の風景も熊画像の明るい背景に潰されてしまいます。誤り。
- ② AND→NOT:正解のANDの結果を反転するので,[チ]にあたる画像は熊の内側がNOT B(ネガの熊),外側が11111111(真っ白)。これを(1)の画像(熊の内側00000000/外側K)と最後にORすると,内側は 00000000 OR NOT B = NOT B,外側は K OR 11111111 = 11111111。つまり周囲の風景だけが真っ白に潰れ,そこにネガになった熊が乗った画像になります。風景が消えるので誤り。
- ③ OR→NOT:[チ]にあたる画像は熊の内側が NOT(11111111 OR B)=00000000,外側が NOT(00000000 OR B)=NOT B。最後にORすると,内側は 00000000 OR 00000000 = 00000000 で熊が真っ黒な影になり,外側は K OR NOT B で風景にネガの背景が混ざった値になります。どちらも図12右にならないので誤り。
[チ]の誤答を追う。[チ]に①(背景:白)を選ぶと,最後のOR演算で背景部分が 11111111 とORされ,風景が真っ白に潰れます(図5(C)で白い四角形が背景を隠していたのと同じ失敗)。⑤(背景:黒/熊:白)だと熊が真っ白なシルエットになってしまい,写真の質感が出ません。⓪だけが,熊の写真をそのまま残しつつ周囲を黒にできます。
ここで効く一般則・学問的背景
- ビット演算による合成の型は,①マスクを作る ②マスクとその反転で2枚をそれぞれ加工する ③ORで合体するの3段階。本問はこの型をそのまま図にしたものです。
- ORで合体するときは,2枚の「黒でない部分」が重ならないように作るのが基本。重なると,重なった場所でORが両方のビットを立ててしまい,一般には元のどちらとも違う色になります。マスクとその反転を使えば,この条件は自動的に満たされます。
- 「白とANDすれば相手がそのまま」「黒とORすれば相手がそのまま」の2本を覚えるだけで,どちらの演算を選ぶべきかは即座に決まります。逆に言えば,どこを残したいかを先に決めれば,そこに置くべき値(白か黒か)も決まります。
- ここで扱った透過は,透けるか透けないかの2択(完全透明か完全不透明か)です。半分だけ透ける表現はビット演算だけではできません。輪郭のギザギザが気になる場面では,後述のアルファ合成が必要になります。
学問的背景。マスクと反転マスクを使い,AND・NOT・ORの3演算だけで2枚の画像を合成するこの手順は,コンピュータグラフィックスの世界で古くから使われてきた定番の技法です。1画素あたりの値だけを見て,隣の画素を一切参照せずに計算できるため,非常に高速で,専用ハードウェアにも実装しやすいという利点があります。1980年代にトーマス・ポーターとトム・ダフが,各画素に不透明度αを持たせて「上の画像の色×α+下の画像の色×(1−α)」という形で滑らかに混ぜるアルファ合成を定式化し,現在の映画やゲームの映像はほぼすべてこの延長線上にあります。本問のビット演算は,αが0か1の2値しか取れない特別な場合にあたる——そう位置づけると,情報Ⅰで学ぶ内容と現代の映像技術が一直線につながって見えてきます。情報Ⅱのコンテンツ制作分野では,このαを使った合成やクロマキー処理を実際に扱います。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第3章 コンピュータとプログラミング に対応します。
問1 2026年度 共通テスト『情報Ⅰ』第3問 問1
1問題
第3問 次の文章を読み,後の問い(問1〜3)に答えよ。(配点 25)
プログラミング部は毎年,文化祭で来訪者が体験できるゲーム作品を1点展示しており,部長のYさんは今年の展示方法を検討している。ゲームはできるだけ長く楽しんでもらいたいが,体験まで来訪者をあまり長時間待たせたくない。そこで,1人あたりのゲームの体験時間を決めるために,昨年のデータを用いて,体験時間を変えると来訪者の待ち時間がどのくらい変わるかを調べることにした。
問1 次の文章を読み,空欄[ア]〜[ウ]に当てはまる数字をマークせよ。また,空欄[エ]・[オ]に入れるのに最も適当なものを,後の解答群のうちから一つずつ選べ。
まずYさんは,昨年の文化祭で記録していた来訪者の到着時刻を用いて,ゲーム体験を開始するまでの待ち時間の求め方を考えた。来訪者は到着した順番でゲームを体験し,同時刻に到着する来訪者はいないものとする。ゲームの体験時間は来訪者によらず同一で,昨年は1人3分間としていた。
図1は,縦軸が来訪者(1行目から到着順で記載している。),横軸が時刻(1人目の来訪者の到着時刻を0分とする。)を表し,3人目までの来訪者の体験時間と待ち時間を矢印で表している。なお,交替時間は考えないものとする。
【図1】昨年のゲームの体験時間と待ち時間(3人目の来訪者まで)。縦に「1人目」〜「6人目」の6行,横に時刻0分〜20分の1分刻みの目盛りをとった帯状の表。矢印は次のとおり書き込まれている。
・1人目の行:体験時間の矢印が目盛り0から目盛り3まで。
・2人目の行:体験時間の矢印が目盛り3から目盛り6まで。
・3人目の行:待ち時間の矢印(破線)が目盛り4から目盛り6まで,続けて体験時間の矢印が目盛り6から目盛り9まで。
・4人目〜6人目の行:空欄(図1は表題のとおり3人目の来訪者までしか描かれていないため,これらの行には何も書き込まれていない)。
凡例は「実線の両矢印=体験時間」「破線の両矢印=待ち時間」。(原図は問題冊子PDFを参照)
1人目の来訪者の待ち時間はなく,ゲーム体験の開始時刻は0分,終了時刻は3分である。2人目は到着時刻が3分だったので,待ち時間がない。一方,3人目は4分に到着したが,2人目の終了時刻が6分のため,2分間の待ち時間が発生している。
次にYさんは,図1の残りの部分を完成させ,6人目までの来訪者の到着時刻,開始時刻,終了時刻,待ち時間を表1のとおりに整理した。4人目は到着時刻が10分で,3人目の終了時刻は[ア]分のため,4人目の待ち時間はない。5人目の待ち時間は[イ]分間,6人目の待ち時間は[ウ]分間である。
表1 昨年の来訪者の待ち時間を整理した結果
| 到着時刻 | 開始時刻 | 終了時刻 | 待ち時間 | |
|---|---|---|---|---|
| 1人目 | 0 | 0 | 3 | 0 |
| 2人目 | 3 | 3 | 6 | 0 |
| 3人目 | 4 | 6 | [ア] | 2 |
| 4人目 | 10 | 10 | 13 | 0 |
| 5人目 | 11 | ? | ? | [イ] |
| 6人目 | 12 | ? | ? | [ウ] |
(表の一部を“?”で隠してある)
これらの結果からYさんは,2人目以降の来訪者について,開始時刻が「[エ]より遅く到着した場合には[オ],それ以外の場合は[エ]」になること,終了時刻が「来訪者本人の開始時刻と体験時間の和」,待ち時間が「来訪者本人の開始時刻と[オ]の差」で求められることを確認した。
[エ]・[オ]の解答群
⓪ 来訪者本人の到着時刻 ① 直前の来訪者の到着時刻
② 来訪者本人の終了時刻 ③ 直前の来訪者の終了時刻
2解答
[ア]=9,[イ]=2,[ウ]=4(3つ合わせて配点3点)
[エ]=③(配点1点) 直前の来訪者の終了時刻
[オ]=⓪(配点1点) 来訪者本人の到着時刻
3解説(端的に)
ルールはたった一つ,「自分が着いた時刻と前の人が終わった時刻の,遅いほうから始める」です。前の人がまだ遊んでいれば待つ,もう終わっていればすぐ始められる,というだけのこと。
3人目は開始6分+体験3分で終了は9分(ア)。4人目は到着10分で,9分にはもう空いているのですぐ開始,終了13分。5人目は到着11分だが4人目の終了が13分なので開始13分,待ちは13−11=2分(イ)。6人目は到着12分,5人目の終了が13+3=16分なので開始16分,待ちは16−12=4分(ウ)。
この「遅いほうを選ぶ」を言葉にしたのがエ・オです。直前の来訪者の終了時刻(エ)より遅く着いたなら本人の到着時刻(オ)が開始時刻,そうでなければ直前の終了時刻が開始時刻。待ち時間は「開始時刻−本人の到着時刻」なので,オにも同じ選択肢が入ります。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
待ち行列(キュー)の考え方。「先に来た人から順に処理する」仕組みを,情報の世界ではFIFO(First In, First Out = 先入れ先出し)と呼びます。レジの行列そのものです。この問題は,窓口が1つ(ゲーム機1台),サービス時間が全員同じ,というもっとも単純な待ち行列を,時間の流れに沿って1人ずつ追うシミュレーションになっています。
「遅いほう」を選ぶという発想。ゲームを始められる条件は2つあります。(1) 本人が到着していること。(2) 直前の人が終わっていること(=台が空いていること)。両方が満たされた瞬間が開始時刻ですから,開始時刻は「到着時刻」と「直前の終了時刻」の大きいほうです。「2つの条件が両方そろう時刻=2つの時刻の大きいほう」という言い換えは,工程管理でもプログラミングでも繰り返し出てきます。
ガントチャートの読み方。図1のように,横軸に時間,縦軸に対象(人・作業・機械)をとって帯や矢印で占有区間を描いた図をガントチャートといいます。実線の両矢印が体験時間で,その左端が開始時刻,右端が終了時刻です。ある行の実線の左端は,「1つ上の行の実線の右端」と「本人の到着時刻」のうち遅いほうに置かれ,到着時刻から実線の左端までの距離が待ち時間——図1ではその区間がそのまま破線の両矢印として描かれています(距離が0,つまり待ち時間0の行には破線は描かれません)。3人目なら破線が目盛り4から6まで引かれており,その長さ2が待ち時間です。
ここで注意したいのは,行と行の「ずれ」を見ても待ち時間は分からない,ということです。図1では3人目の実線の左端(目盛り6)は2人目の実線の右端(目盛り6)とぴったり一致しており,行間のずれは0です。表1の5人目も開始13=4人目の終了13で一致します。詰まっている区間では帯は隙間なく連続するので,ずれは常に0——待ち時間2分とは一致しません。待ち時間として読み取るべきは破線の矢印の長さのほうで,破線が引かれていない行は待ち時間0を意味します。図1で破線があるのは3人目だけ,1人目・2人目には破線がありません。
到着時刻の読み方も,これと表裏の関係にあります。図1には到着時刻を指す目盛りや印が別に打たれているわけではないので,破線があればその左端が,破線が無ければ実線の左端が,そのまま到着時刻になります。3人目は破線の左端の目盛り4が到着時刻,1人目は実線の左端の目盛り0,2人目は実線の左端の目盛り3が到着時刻です。問題文の「2人目は到着時刻が3分だったので,待ち時間がない」は,2人目の実線が目盛り3から始まっていることとして図から確かめられます。この読み方さえ押さえておけば,図1の残り(4人目〜6人目,到着10・11・12分)を自分で描き足せます。4人目は到着10分が3人目の終了9分より遅いので待ち時間0,破線なしで実線が目盛り10から13まで。5人目は破線を目盛り11から13まで引いてから実線を13から16まで。6人目は破線を目盛り12から16まで引いてから実線を16から19まで,です。
検算 — 別の道すじで確かめる
累積で確かめる。台が一度も空かないまま行列がつながっている区間では,先頭が始まってからk人目が終わるまでに「3k分」かかります。1人目〜3人目はまさにその状態で,0分開始,終了が 3,6,9 と3分刻みに並びます。だから3人目の終了は9分です(ア=9)。ところが4人目の到着は10分で,3人目の終了9分よりあとなので,ここで行列がいったん途切れます。4人目を新しい先頭として数え直すと,4人目の終了13分,5人目16分,6人目19分。待ち時間はそれぞれ 10−10=0,13−11=2,16−12=4 となり,イ=2,ウ=4 と一致します。
誤答の検証(エに①「直前の来訪者の到着時刻」を選んだ場合)。来訪者は到着順に1人目・2人目…と並んでいるので,2人目以降は必ず直前の人より遅く到着します(同時刻の到着はないと問題文にある)。すると条件はいつも成り立ち,開始時刻は常にオ=本人の到着時刻になります。つまり誰も待たないことになり,待ち時間は全員0。しかし表1では3人目の待ち時間が2ですから矛盾します。①は誤りです。
誤答の検証(エとオを入れ替えた場合)。エ=⓪(本人の到着時刻),オ=③(直前の終了時刻)とすると,前半は「本人の到着時刻より遅く到着した場合」となり,本人が本人の到着時刻より遅く着くことはあり得ないので条件が意味をなしません。さらに待ち時間の式は「開始時刻と直前の終了時刻の差」になります。3人目で試すと開始6分・2人目の終了6分なので 6−6=0 となり,表1の2に反します。入れ替えは誤りです。
誤答の検証(②「来訪者本人の終了時刻」)。終了時刻は「開始時刻+体験時間」で,開始時刻を求めた後に決まる値です。開始時刻を決めるのに自分の終了時刻を使うと,答えを出すのに答えが必要という循環になります。②は原理的に入りません。
ここで効く一般則・学問的背景
・窓口1つの行列では,開始時刻 = 最大値(本人の到着時刻,直前の人の終了時刻)。これは到着時刻が到着順に並んでいる限り,2人目以降でいつでも成り立ちます。
・終了時刻 = 開始時刻 + 体験時間。体験時間が全員同じなので,終了時刻の間隔は「詰まっている区間では体験時間ちょうど」になります。
・待ち時間 = 開始時刻 − 到着時刻。定義上0以上で,負にはなりません。
・1人目だけは「直前の来訪者」が存在しないので,この規則の対象外です。文章が「2人目以降の来訪者について」とわざわざ断っているのは,そのためです。境界にあたる先頭の1人を別扱いする——これはプログラムを書くときにも必ず意識する場所です(実際,問2のプログラムでも1人目は(06)行目で別に処理し,繰り返しはiを2から始めています)。
・待ち時間が0になるのは「到着時刻が直前の終了時刻以上」のとき。表1では2人目(到着3,直前の終了3)と4人目(到着10,直前の終了9)がこれに当たります。2人目のようにちょうど等しい場合も待ち時間0です。等号をどちら側に入れるかは,こうした具体例で必ず確認してください。
学問的背景。行列の長さや待ち時間を数学的に扱う分野を待ち行列理論といいます。20世紀初頭,デンマークの電話技師アーラン(A. K. Erlang)が電話交換機に必要な回線数を見積もるために創始したもので,今日ではコールセンターの人員配置,工場の生産ライン,通信ネットワークのパケット処理,Webサーバの応答時間設計まで,あらゆる「順番待ち」の設計を支えています。この問題のように到着時刻の実データを1件ずつ流し込んで挙動を追う手法は離散事象シミュレーションと呼ばれ,数式で解くのが難しい条件でも答えが出せるのが強みです。『情報Ⅱ』では,乱数を使って到着時刻そのものを生成し,何通りもの状況を試すモンテカルロ法へと発展します。「サービス時間を延ばすと客の満足は上がるが待ち時間も伸びる」というこの問題のジレンマは,まさに待ち行列理論が扱う中心的なトレードオフです。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第3章 コンピュータとプログラミング に対応します。
問2 2026年度 共通テスト『情報Ⅰ』第3問 問2
1問題
問2 次の文章を読み,空欄[カ]〜[コ]に入れるのに最も適当なものを,後の解答群のうちから一つずつ選べ。ただし,空欄[カ]・[キ],[コ]は同じものを繰り返し選んでもよい。また,空欄[カ]・[キ]の解答の順序は問わない。
次に,Yさんは問1で整理した考え方に基づき,昨年の6人目までの来訪者の到着時刻を用いて2人目以降の来訪者の待ち時間を求めるプログラムを作成した(図2)。
(01)行目の変数 taiken は体験時間を表す変数で,昨年の体験時間(3分間)を表す数値3を代入している。配列 Touchaku,Kaishi,Shuryou はそれぞれ,各来訪者の到着時刻,開始時刻,終了時刻を格納する。すべての配列の添字は1から始まり,来訪者の到着順を表している。例えば,各配列の添字1の要素には,1人目の来訪者に関する値を格納する。配列 Touchaku の各要素には来訪者の到着時刻を設定し,配列 Kaishi,Shuryou の各要素は0で初期化する。(03)行目では,関数「要素数」を用いて変数 kyakusu に来訪者数を代入する。
【関数の説明】
要素数(配列)…引数として配列が与えられ,その配列の要素数を返す。例えば,配列 X が [6, 9, 1] であるとき,要素数(X) は3となる。
(06)行目では,1人目の終了時刻を設定する。(07)〜(10)行目の繰り返しでは,i 番目の来訪者の開始時刻,終了時刻,待ち時間を順に求める。(08)行目で関数「最大値」を用いて開始時刻を,(09)行目で終了時刻を求める。(10)行目で待ち時間を表示する。
【関数の説明】
最大値(x, y)…引数として与えられた二つの値の最大値を返す。例えば,最大値(1, 5) は5となり,最大値(2, 2) は2となる。
図2 2人目以降の来訪者の待ち時間を求めるプログラム
[カ]・[キ],[コ]の解答群
⓪ Touchaku[i – 1] ① Shuryou[i – 1]
② Touchaku[i] ③ Shuryou[i]
④ Touchaku[i + 1] ⑤ Shuryou[i + 1]
[ク]・[ケ]の解答群
⓪ Kaishi[i – 1] ① Kaishi[i] + Touchaku[i]
② Kaishi[i] ③ Kaishi[i] + Shuryou[i]
④ Kaishi[i + 1] ⑤ Kaishi[i] + taiken
2解答
[カ]・[キ]=①・②(順不同,配点4点=各2点) ① Shuryou[i – 1],② Touchaku[i]
[ク]=⑤(配点2点) Kaishi[i] + taiken
[ケ]=②(配点2点) Kaishi[i]
[コ]=②(配点2点) Touchaku[i]
3解説(端的に)
問1で言葉にした3つの式を,そのまま配列の書き方に翻訳するだけです。
(08)行目:開始時刻=最大値(本人の到着時刻,直前の人の終了時刻)。「本人」は添字 i,「直前の人」は添字 i - 1 なので,最大値(Touchaku[i], Shuryou[i - 1])。カ・キは順不同なので①と②。
(09)行目:終了時刻=開始時刻+体験時間。体験時間は変数 taiken なので Kaishi[i] + taiken(ク=⑤)。
(10)行目:待ち時間=開始時刻−到着時刻。引き算の順番に注意して Kaishi[i] - Touchaku[i](ケ=②,コ=②)。
迷ったら「その行が実行される瞬間に,値が入っているのはどれか」を考えてください。Shuryou[i] は(09)行目でこれから入れる値なので,(08)行目の時点ではまだ0のままです。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
配列と添字。配列は「同じ種類の値を,番号を付けて一列に並べた入れ物」です。Touchaku[3] は「3番目の到着時刻」。この問題では添字が1から始まると本文に明記されています。ここは毎回,問題文の断り書きで決まります(0から始まると書かれている年もあります)。勝手に「共通テストは1始まり」と覚え込まないでください。添字を1つずらすだけでプログラムは別物になります。
「隣を参照する」パターン。i 番目を計算するのに i - 1 番目の結果を使う書き方は,累積・漸化的な処理の定番です。ポイントはすでに確定した値だけを参照すること。i は2から増えていくので,Shuryou[i - 1] は必ず1つ前の回で計算済み(i = 2 のときは(06)行目で設定済みの Shuryou[1])です。逆に i + 1 を指す⑤ Shuryou[i + 1] は,i が2〜5のあいだはまだ計算していないので(05)行目の初期値0のままであり,i が最後の6になると Shuryou[7]——配列 Shuryou は要素6個なので存在しない要素——を参照してしまいます。④ Touchaku[i + 1] のほうは i が2〜5なら値こそ入っていますが,それは「まだ来ていない次の人」の到着時刻であり,本人の開始時刻を決める材料にはなりません。しかも i が最後の6になると,こちらも Touchaku[7] は存在しません。添字を後ろへ(i + 1 へ)ずらす選択肢は,未確定の値を読むか,配列の外に出るか,そのどちらかになると覚えておくとよいでしょう。
逆向きの i - 1 は事情が違います。この繰り返しは i を2から始めるので i - 1 は必ず1以上=配列の範囲内で,しかも前の周(i = 2 なら(06)行目)ですでに値が確定しています。正解の① Shuryou[i - 1] がまさにそれです。ただし「i - 1 なら何でもよい」わけでもありません。⓪ Touchaku[i - 1] も範囲内の確定値ですが,こちらは意味が合わない(下の誤答の検証のとおり,到着順に並んでいるので最大値は必ず Touchaku[i] になってしまう)ため誤りです。添字をずらす向きで「値が確定しているか」が決まり,そのうえで「意味が合うか」を別に確かめる——この二段構えで選択肢を絞ってください。
1人目を別扱いする理由。1人目には「直前の人」がいません。そこで(06)行目で Shuryou[1] = taiken と直接設定し,繰り返しは i を2から始めています。この「先頭だけ手で置いてから,2番目以降をループで回す」型は,漸化式を実装するときの標準形です。
検算 — 別の道すじで確かめる
正解の式を手で1周させる。taiken = 3,Touchaku = [0, 3, 4, 10, 11, 12],(06)で Shuryou[1] = 3。
- i=2:Kaishi[2]=最大値(3, 3)=3,Shuryou[2]=3+3=6,待ち=3−3=0
- i=3:Kaishi[3]=最大値(4, 6)=6,Shuryou[3]=6+3=9,待ち=6−4=2
- i=4:Kaishi[4]=最大値(10, 9)=10,Shuryou[4]=13,待ち=10−10=0
- i=5:Kaishi[5]=最大値(11, 13)=13,Shuryou[5]=16,待ち=13−11=2
- i=6:Kaishi[6]=最大値(12, 16)=16,Shuryou[6]=19,待ち=16−12=4
終了時刻の列 3, 6, 9, 13, 16, 19 も,待ち時間 0, 0, 2, 0, 2, 4 も表1と完全に一致します。ア=9,イ=2,ウ=4 もここで再確認できます。
誤答の検証(カ・キに③ Shuryou[i] を選んだ場合)。(08)行目が実行される時点で Shuryou[i] は(05)行目の初期値0のままです。すると 最大値(Touchaku[i], 0) となり,到着時刻は0以上なので結果は必ず Touchaku[i]。i=3 で追うと Kaishi[3]=4,待ち時間=4−4=0 となり,表1の2に反します。
誤答の検証(カ・キに⓪ Touchaku[i – 1] を選んだ場合)。最大値(Touchaku[i], Touchaku[i - 1]) は,到着順に並んでいるので必ず Touchaku[i]。やはり全員の待ち時間が0になり,表1と合いません。
誤答の検証(カ・キに④ Touchaku[i + 1] を選んだ場合)。①と組み合わせて 最大値(Touchaku[i + 1], Shuryou[i - 1]) としてみます。i=2 では Touchaku[3]=4,Shuryou[1]=3 なので Kaishi[2]=4,待ち時間は 4−3=1。表1の2人目の待ち時間0に反します。加えて i=6 では存在しない Touchaku[7] を参照してしまいます。④は誤りです。
誤答の検証(クに① Kaishi[i] + Touchaku[i] を選んだ場合)。i=2 では Kaishi[2]=3,Touchaku[2]=3 なので Shuryou[2]=6 と,偶然ながら正解と同じ値が出ます。ここで「合っている」と早合点しないこと。i=3 に進むと Kaishi[3]=最大値(4, 6)=6,Shuryou[3]=6+4=10 となり,表1のア=9 に反します。1回だけ合う式は珍しくないので,必ず2回以上回して確かめてください。
誤答の検証(クに③ Kaishi[i] + Shuryou[i] を選んだ場合)。Shuryou[i] はまだ0なので,実質 Shuryou[i] = Kaishi[i]。i=2 で Shuryou[2]=3 となり,i=3 では Kaishi[3]=最大値(4, 3)=4,待ち時間0。表1に反します。
誤答の検証(ケとコを入れ替えた場合)。Touchaku[i] - Kaishi[i] は待ち時間の符号を反転させた値です。i=3 なら 4−6=−2 となり,「−2分間待った」という意味の通らない表示になります。待ち時間は必ず0以上,という定義から引き算の向きが決まります。
ここで効く一般則・学問的背景
・参照してよいのは,その時点までに値が確定している要素だけ。初期化しただけの要素は0であって「未定」ではないので,バグに気づきにくいのが厄介です。式を選んだら,その行が動く瞬間に各配列に何が入っているかを表にして確かめる習慣をつけてください。
・ループ変数の開始値は,参照する添字の範囲から決まる。この繰り返しは Shuryou[i - 1] を使うので,i が1だと Shuryou[0](添字1始まりなので存在しない)を触ってしまいます。i を2から始めているのは必然です。
・順不同の空欄は,交換しても同じ意味になる演算の証拠。カ・キの順序が問われないのは,最大値(x, y) が引数の順番を入れ替えても同じ値を返す(可換である)からです。もしこれが引き算や割り算だったら,順序は必ず問われます。
・要素数を関数で求める意味。(03)行目で kyakusu = 要素数(Touchaku) としているので,(07)行目の繰り返し回数がデータに追随します。ここに「6」と直接書いてしまうと,人数が変わるたびに書き換えが必要になり,直し忘れというバグの温床になります。
ただし,これだけで「配列 Touchaku を差し替えるだけで何人分でも動く」わけではありません。図2では(04)(05)行目で Kaishi・Shuryou が要素6個のリテラル [0, 0, 0, 0, 0, 0] に固定されています。Touchaku だけを20人分に差し替えると kyakusu は20になる一方,Kaishi・Shuryou は6要素のままなので,(08)(09)行目で i が7になった瞬間に存在しない Kaishi[7]・Shuryou[7] を参照して破綻します。人数を変えるときは Kaishi・Shuryou の初期化も同じ要素数に直す必要がある,ということです。数値を直接埋め込まず,データから求める——これは実務でも徹底される原則ですが,「1か所を関数にすれば自動的に汎用になる」のではなく,データの大きさに依存する箇所をすべてそろえて初めて成り立ちます。
学問的背景。この Kaishi[i] = 最大値(Touchaku[i], Shuryou[i-1]) という形は,前の項から次の項を決める漸化式そのものです。数列で学ぶ漸化式が,プログラムでは「1つ前の配列要素を参照する繰り返し」として現れる。同じ考えは,工程の最早開始時刻を求めるクリティカルパス法(PERT/CPM)や,2つの文字列を比較する動的計画法にもそのまま使われています。とくに動的計画法は「小さい問題の答えを表に貯めておき,それを使って大きい問題を解く」手法で,カーナビの経路探索から生物の遺伝子配列比較まで応用範囲が広く,『情報Ⅱ』のアルゴリズム分野で本格的に扱われます。「未確定の値を参照してはいけない」という今回の注意点は,動的計画法で表を埋める順序を決めるときの,まさに核心にあたる考え方です。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第3章 コンピュータとプログラミング に対応します。
問3 2026年度 共通テスト『情報Ⅰ』第3問 問3
1問題
問3 次の文章を読み,空欄[サ]・[シ]に入れるのに最も適当なものを,後の解答群のうちから一つずつ選べ。また,空欄[ス]・[セ]に入れるのに最も適当なものを,図3の⓪〜③のうちから一つずつ選べ。空欄[ソ]に当てはまる数字をマークせよ。
Yさんは,昨年の様子から来訪者を10分間以上は待たせられないと考え,最も長く待たされる来訪者の待ち時間(以下,最長待ち時間と呼ぶ。)が10分間未満となる体験時間を調べるプログラムを作成した(図3)。
図3 最長待ち時間が10分間未満となる体験時間を調べるプログラム
【図3の矢印⓪〜③の位置】プログラムの右側から4本の矢印が引かれ,行と行の「すきま」を指している。
・⓪…(02)行目の直後,(03)行目の直前(外側の繰り返しの外,開始前)。
・①…(03)行目の直後,(04)行目の直前(外側の繰り返し本体の先頭)。
・②…(14)行目の直後(外側の繰り返し本体の末尾。外側ループを示す縦線の内側で終端の折れ線に接している)。
・③…外側の繰り返しがすべて終わった後(縦線の外側)。
(原図は問題冊子PDFを参照)
(03)行目からの繰り返しで各体験時間に対する最長待ち時間を求める。体験時間の上限は15分間とした。(04)〜(09)行目の処理は図2のプログラムの(04)〜(09)行目の処理と同じである。(10)〜(14)行目で体験時間が taiken 分間の場合の最長待ち時間を求め,10分間未満ならば体験時間と最長待ち時間を表示する。図3のプログラムの実行結果は,図4のようになった。
図4 図3のプログラムの実行結果
ある体験時間に対して最長待ち時間が10分間以上となった時点で,(04)行目以降の繰り返しをやめても実行結果は変わらない。そこでYさんは,最長待ち時間が10分間以上となった時点で処理を止めるために,(03)行目を「(taiken <= 15) and ([シ]) の間繰り返す:」に変更した。「and」は「かつ」を意味する論理演算子であり,左右の式がともに真のときにだけ真となる。さらに,「taiken = 1」と「saichou = 0」を[ス]の位置に挿入した。また,「taiken = taiken + 1」を[セ]の位置に挿入した。
配列 Kaishi の初期化処理の実行回数は,修正前のプログラムでは15回だったが,修正後のプログラムでは[ソ]回となった。
[サ]の解答群
⓪ Touchaku[i] ① Kaishi[i]
② Shuryou[i] ③ saichou
[シ]の解答群
⓪ saichou > 10 ① taiken > 10
② saichou < 10 ③ taiken < 10
2解答
[サ]=③(配点2点) saichou
[シ]=②(配点2点) saichou < 10
[ス]=⓪(配点2点) (02)行目の直後(繰り返しの外・開始前)
[セ]=②(配点2点) (14)行目の直後(繰り返し本体の末尾)
[ソ]=5(配点2点)
3解説(端的に)
サ:(11)〜(12)行目は「これまでの最大」と「今回の値」を比べて更新する最大値の探索です。「これまでの最大」は saichou 自身なので saichou = 最大値(saichou, Kaishi[i] - Touchaku[i])。(10)行目で0に初期化してあるのがその証拠です。
シ:表示条件は「10分間未満」ですから saichou < 10。(03)行目の継続条件にも同じ式が入り,「体験時間が15分以下 かつ まだ10分未満」の間だけ繰り返します。
ス・セ:「〜の間繰り返す」型に書き換えると,カウンタを回す仕事を自分でやる必要があります。初期化(taiken = 1,saichou = 0)はループに入る前=⓪,増加(taiken = taiken + 1)は本体の最後=②です。saichou = 0 も⓪に必要なのは,1回目の条件判定で saichou の値が読まれるからです。
ソ:taiken=1, 2, 3, 4 で最長待ち時間は 0, 2, 4, 8(図4)。5回目の taiken=5 でも条件 8<10 が真なのでループに入り,そこで最長待ち時間13が出ます。次の判定で 13<10 が偽になり終了。よって初期化は5回実行されました。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
最大値の探索という定型。「変数を最小相当の値で初期化 → 全要素と比べて大きければ入れ替える」は,最大値を求める最も基本的なアルゴリズムです。ここでは待ち時間が必ず0以上なので0で初期化して問題ありません。もし負の値を取りうるデータなら,0で初期化すると答えが必ず0以上になってしまい誤りです。初期値は「そのデータが決して下回らない値」に置くのが原則です。待ち時間にとっての0がまさにそれで,実際に0が現れても構いません。
2種類の繰り返し。「i を1から n まで1ずつ増やしながら繰り返す」は回数が最初から決まっている繰り返し(for型)。「〜の間繰り返す」は条件が成り立つ限り続ける繰り返し(while型)。for型は初期化・条件判定・増加の3つを言語が面倒みてくれますが,while型では3つとも自分で書きます。書き換えのとき,どれか1つでも忘れると動きません。
入れ子(ネスト)の読み方。図3は外側((03)行目,体験時間を変える)と内側((07)行目と(11)行目,来訪者をたどる)の二重構造です。外側が1周するたびに(04)(05)行目で配列が作り直され,(10)行目で saichou が0に戻ります。「外側の1周=ある体験時間についての1回の実験」と捉えると,構造がすっと見えます。
検算 — 別の道すじで確かめる
体験時間ごとに最長待ち時間を手で求める。到着時刻は 0, 3, 4, 10, 11, 12 で固定です。
| 体験時間 | 各人の開始時刻 | 各人の待ち時間 | 最長待ち時間 |
|---|---|---|---|
| 1分 | 0, 3, 4, 10, 11, 12 | 0, 0, 0, 0, 0, 0 | 0 |
| 2分 | 0, 3, 5, 10, 12, 14 | 0, 0, 1, 0, 1, 2 | 2 |
| 3分 | 0, 3, 6, 10, 13, 16 | 0, 0, 2, 0, 2, 4 | 4 |
| 4分 | 0, 4, 8, 12, 16, 20 | 0, 1, 4, 2, 5, 8 | 8 |
| 5分 | 0, 5, 10, 15, 20, 25 | 0, 2, 6, 5, 9, 13 | 13 |
1〜4分の行が図4の4行と完全に一致します。5分の行で初めて10以上(13)になり,ここで打ち切られる——だから初期化は5回(ソ=5)です。修正前は taiken が1から15まで無条件に回るので15回でした。
ソでよくある取り違え。「表示されたのは4行だから4回」と考えると誤りです。taiken=5 の回も,ループの入口の条件判定は前回の saichou=8 で行われるため真になり,本体(配列の初期化を含む)は実行されます。実行されたうえで saichou=13 となり,表示条件 13<10 が偽なので表示だけされない。「実行された回数」と「表示された回数」は別物です。while型では,条件を偽にした当の回も本体は最後まで実行される,と覚えてください。
誤答の検証(サに① Kaishi[i] を選んだ場合)。式は saichou = 最大値(Kaishi[i], Kaishi[i] - Touchaku[i]) となります。Touchaku[i] は0以上なので Kaishi[i] - Touchaku[i] <= Kaishi[i],つまり常に Kaishi[i] のほうが選ばれ,saichou は「最後に見た開始時刻」になってしまいます。taiken=1 で追うと,i が1から6まで進んで最終的に saichou = Kaishi[6] = 12。表示条件 12<10 が偽なので,図4の1行目「体験時間1分間:最長待ち時間0分間」がそもそも出ません。①は誤りです。
誤答の検証(シに⓪ saichou > 10 を選んだ場合)。シは(13)行目の表示条件なので,(03)行目が未修正(taiken を1から15まで回す)の状態で実行結果と突き合わせます。図4に並ぶ4行は最長待ち時間 0, 2, 4, 8 で,どれも10より大きくないため,この4行は1行も表示されません。そのかわり,上の表のとおり taiken=5 で13,taiken=6 では開始時刻 0, 6, 12, 18, 24, 30,待ち時間 0, 3, 8, 8, 13, 18 で18となり,以降も減ることはないので,taiken=5〜15 の11行が表示されてしまいます。つまり図4にある4行が消え,図4に存在しない行が11行並ぶ——実行結果とは正反対です。⓪は誤りです。
誤答の検証(シに③ taiken < 10 を選んだ場合)。これだと体験時間が9分までなら最長待ち時間がいくら大きくても表示されます。taiken=5 のとき最長待ち時間13が「体験時間5分間:最長待ち時間13分間」として表示されてしまい,図4に5行目がないことと矛盾します。
誤答の検証(スに①の位置を選んだ場合)。①はループ本体の先頭なので,1周するたびに taiken = 1 と saichou = 0 が実行されます。taiken は末尾で2に増えても次の周の先頭でまた1に戻され,saichou も毎回0にリセットされるので,条件 (taiken <= 15) and (saichou < 10) は永遠に真——無限ループです。さらに,そもそも1回目の条件判定は(03)行目に入る前に行われるので,taiken と saichou はその時点で値を持っていなければなりません。初期化はループの外(⓪)である必要があります。
誤答の検証(セに①の位置を選んだ場合)。本体の先頭で taiken = taiken + 1 を実行すると,1回目の周でいきなり taiken が2になり,(06)行目以降は体験時間2分間として計算されます。表示は「体験時間2分間:最長待ち時間2分間」から始まり,図4の1行目「体験時間1分間:最長待ち時間0分間」が欠落します。実行結果と合いません。
(11)行目が i=1 から始まることの確認。i=1 のとき,Kaishi[1] は(04)行目の初期値0のまま((07)からの繰り返しは i=2 から)で,Touchaku[1] も0です。差は 0−0=0 となり,(10)行目で置いた初期値0と同じなので saichou は変わりません。1人目の待ち時間は実際0なので,結果として正しい値が保たれます。
ここで効く一般則・学問的背景
・while型に書き換えるときの3点セットは「初期化はループの外」「条件判定は入口」「更新は本体の末尾」。1つでも位置を誤ると,無限ループか,回数のずれ(1回多い・1回少ない)になります。
・条件式に使う変数は,最初の判定より前に値が入っていなければならない。今回 saichou = 0 を⓪に置くのは,まさにこの理由です。
・体験時間を延ばすと,最長待ち時間は減ることがない(=単調非減少)。理由はこうです。Shuryou[1] = taiken は taiken が増えれば増え,Kaishi[i] = 最大値(Touchaku[i], Shuryou[i-1]) は Shuryou[i-1] が増えれば減ることはなく,Shuryou[i] = Kaishi[i] + taiken も同様。順に1番目から追っていけば,すべての Kaishi[i] が減らないと言えます。待ち時間は Kaishi[i] - Touchaku[i] で Touchaku[i] は変わらないので,各人の待ち時間も減りません。だから最長待ち時間も減りません。上の表でも 0→2→4→8→13 と増えています。この性質があるからこそ「一度10分以上になったら,それ以降を調べる必要はない」という打ち切りが正当化されます。ただし単調増加(必ず増える)とまでは言えません。増えない場合もあり得るので,主張は「減らない」に留めるのが安全です。
・打ち切りは結果を変えずに計算量だけ減らす。15回が5回になっても表示内容は同一。「答えは同じで速い」を目指すのが,アルゴリズム改善の基本姿勢です。
・設計上の結論。Yさんの目的(10分未満に抑えつつできるだけ長く遊ばせる)に照らすと,条件を満たす最大の体験時間は4分間です。プログラムが出力した最後の行が,そのまま答えになっています。
学問的背景。「単調な性質を利用して,条件を満たさなくなった時点で探索をやめる」考え方は,アルゴリズム設計の枝刈り(pruning)と呼ばれます。同じ単調性を使えば,1から順に試す代わりに二分探索で境目を一気に絞り込むこともでき,15回の試行が4回程度で済みます(『情報Ⅱ』で扱う探索アルゴリズムの典型です)。また,for型とwhile型の書き換えは,1960年代の構造化プログラミング——ダイクストラらが提唱した,goto文を排して順次・分岐・反復の3つの制御構造だけでプログラムを組み立てる考え方——の中核にあるテーマです。この3つだけであらゆるプログラムが書けることは構造化定理として知られています。そして「サービス時間を延ばすほど待ち時間が伸びる」という単調性は,問1で触れた待ち行列理論のトレードオフを,実データ上で目に見える形にしたものだと言えます。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第3章 コンピュータとプログラミング に対応します。
問1 2026年度 共通テスト『情報Ⅰ』第4問 問1
1問題
桜の花が好きなTさんは桜の開花日に興味をもち,気象庁のデータを用いて,桜の開花日を分析することにした。
問1 次の文章を読み,後の問い(a・b)に答えよ。
Tさんは気象庁のデータから,桜の開花日を観測している場所(観測点)ごとに,2014年から2023年までの開花日を表1にまとめた。例えば,稚内の2023年の開花日は5月3日である。なお,この気象庁のデータはオープンデータである。
表1 桜の開花日
| 観測点 | 2014年 | 2015年 | 〜 | 2021年 | 2022年 | 2023年 |
|---|---|---|---|---|---|---|
| 稚内 | 5月11日 | 5月3日 | 〜 | 5月8日 | 5月6日 | 5月3日 |
| 旭川 | 5月2日 | 4月27日 | 〜 | 4月29日 | 4月26日 | 4月25日 |
| 網走 | 5月7日 | 4月30日 | 〜 | 5月6日 | 4月27日 | 4月28日 |
| 〜 | 〜 | 〜 | 〜 | 〜 | 〜 | 〜 |
| 那覇 | 1月15日 | 1月15日 | 〜 | 1月4日 | 1月11日 | 1月7日 |
| 南大東島 | 1月7日 | 1月15日 | 〜 | 0 | 1月28日 | 2月7日 |
a 次の二つの文A,Bは,オープンデータについての説明である。その正誤の組合せとして最も適当なものを,後の⓪〜③のうちから一つ選べ。[ア]
A オープンデータは,誰でも入手可能である。
B オープンデータを加工・編集する場合には,利用申請が必須である。
| ⓪ | ① | ② | ③ | |
|---|---|---|---|---|
| A | 正 | 正 | 誤 | 誤 |
| B | 正 | 誤 | 正 | 誤 |
b 次の文章中の空欄[イ]・[ウ]に入れるのに最も適当なものを,後の解答群のうちから一つずつ選べ。
Tさんは,表1において,2021年の南大東島の開花日に0が入力されていることを見つけ,南大東島はその年に開花日の記録がない観測点であることがわかった。つまり,表1の0は[イ]を意味するので,Tさんは表1から[イ]が含まれる行を除外したデータを用いることにした。
Tさんはまず,4月1日より早く開花した観測点の数が,年ごとにどのように変化しているかを見るために,[ウ]とした折れ線グラフにより可視化し,変化の傾向を把握した。
[イ]の解答群 ⓪ 補数 ① 乱数 ② 代表値 ③ 欠損値
[ウ]の解答群 ⓪ 横軸を月,縦軸を2023年の各月に開花した観測点の数 ① 横軸を月,縦軸を10年間分の各月に開花した観測点の総数 ② 横軸を年,縦軸を各年の3月末までに開花した観測点の数 ③ 横軸を年,縦軸を各年の4月に開花した観測点の数
2解答
[ア]=①(配点2点)
[イ]=③(配点1点)
[ウ]=②(配点2点)
3解説(端的に)
a オープンデータとは,誰でも自由に入手・利用・再配布できる形で公開されたデータのこと。だからAは正しい。もし加工や編集のたびに利用申請が必要なら「自由に使える」とは言えないので,Bは誤り。A正・B誤の組合せは①。
b 記録がないマスに入っている0は,「0日に咲いた」という観測値ではなく,「値がない」ことを表す印である。これが欠損値(③)。数値のまま平均などに混ぜると結果がゆがむので,Tさんはその行ごと除外している。
[ウ]は「4月1日より早く開花した観測点の数」が年ごとにどう変わるかを見たい。年ごとの変化を追うのだから横軸は年。そして「4月1日より早い」は「3月末まで」と同じ意味なので,縦軸は各年の3月末までに開花した観測点の数。よって②。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
オープンデータの三条件。政府の『オープンデータ基本指針』(2017年)が示す定義では,オープンデータとは次の三つを満たすものをいう。①営利・非営利を問わず二次利用できるルールで公開されている,②機械判読に適した形式である,③無償で利用できる。「誰でも入手できる」だけでなく「誰でも自由に加工・再配布してよい」ところまで含むのがポイント。単に無料で見られるだけのウェブページはオープンデータとは限らない。なお,国際的な定義であるOpen Definitionでは三つ目の条件を「無償または実費程度の低廉な費用で」としており,文書によって文言は少し異なる。
欠損値。データの中で値が得られていない箇所のこと。表計算ソフトでは空欄,0,−9999,NA などさまざまな形で置かれる。とくに0や−9999のように「数字の形をした欠損値」は,そのまま計算に入れてしまうと平均や合計を大きく狂わせるので危ない。対処は大きく「除外する」か「何らかの値で埋める(補完する)」の二つ。この問題では除外を選んでいる。
可視化は「何を軸に取るか」で決まる。折れ線グラフは,横軸に沿った量の変化を追うためのグラフ。「年ごとの変化を見たい」なら横軸は年で確定する。縦軸には,知りたい量そのものを置く。
検算 — 別の道すじで確かめる
[ウ]の誤答を実際に追ってみる。
⓪は横軸が月で,しかも2023年だけのデータ。1本の折れ線が描けるだけで,年ごとの変化は比べようがない。①も横軸が月で,10年分を合計してしまっている。合計にした時点で年の区別が消えるので,やはり年ごとの変化は見えない。この二つは「横軸が年でない」時点で外れる。
③は横軸が年なので惜しいが,縦軸が「各年の4月に開花した観測点の数」になっている。4月に咲いた観測点は,どれも4月1日より早くない。しかも表1の那覇や南大東島のように1月に咲く観測点は,このグラフではまったく数に入らない。実際に③のグラフを描いても「4月1日より早く開花した観測点の数」は一つも読み取れない。よって③は誤り。
[イ]の他の語も確認しておく。補数は,コンピュータが引き算を足し算で行うために使う数(2の補数など)で,欠測とは無関係。乱数は規則性のないでたらめな数。代表値は平均値・中央値・最頻値のようにデータ全体を代表する値。どれも「記録がない」を意味しない。
ここで効く一般則・学問的背景
- 数字の形をした欠損値(0,−9999,999 など)は,実データと見分けがつかないまま計算に紛れ込む。データを受け取ったらまず「ありえない値が入っていないか」を確認する。
- 欠損値の扱いは「行ごと除外」だけが正解ではない。除外するとサンプルが減り,欠損の出方に偏りがあると結論もゆがむ。今回は「その年に記録がない観測点」という理由がはっきりしているので除外が素直。
- グラフ選びは「知りたい問いの形」から決まる。時間変化を追うなら折れ線,項目どうしの大小比較なら棒,二つの量の関係なら散布図,内訳の割合なら帯・円。
- 「4月1日より早い」=「3月31日以前」=「3月末まで」。日付の条件は,境界をどちらに含めるかを毎回言い換えて確かめる癖をつけると事故が減る。
学問的背景。オープンデータの考え方は,日本では2012年7月の『電子行政オープンデータ戦略』(IT総合戦略本部決定)で国の方針として打ち出され,翌2013年6月のG8オープンデータ憲章と,それを受けた同年10月の『G8オープンデータ憲章に基づく我が国のアクションプラン』を経て一気に広まった。行政が持つデータを機械判読可能な形で開放すれば,民間がそれを組み合わせて新しいサービスを生めるという発想である。気象庁の生物季節観測データもその一つで,実際に本問のような分析が誰でもできる。一方,欠損値の扱いはデータサイエンスの中心的な話題で,情報Ⅱでは単純な除外(リストワイズ削除)だけでなく,平均値補完や,欠損の理由まで考慮する多重代入法といった手法を学ぶ。「なぜ欠けたのか」を考えずに埋めると,かえって偽の傾向を作り出してしまうことがある。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第4章 情報通信ネットワークとデータの活用 に対応します。
問2 2026年度 共通テスト『情報Ⅰ』第4問 問2
1問題
問2 次の文章を読み,空欄[エ]〜[カ]に入れるのに最も適当なものを,後の解答群のうちから一つずつ選べ。
Tさんは,各年の開花日に関する経験則として,次の二つの仮説があることを見つけた。なお,気温の単位はセ氏(℃)である。
2月1日からの各日の平均気温の和が400を超えると開花する。
仮説2(600度の法則)
2月1日からの各日の最高気温の和が600を超えると開花する。
そこでTさんは,ある年で2月1日以降に開花した観測点を対象に,この二つの仮説を検証することにした。まず,この年の2月1日以降の平均気温と最高気温のデータを入手した。さらに,各観測点で2月1日からの平均気温の和が初めて400を超えた日を400度開花推定日,2月1日からの最高気温の和が初めて600を超えた日を600度開花推定日とし,同じ年の開花日(実際の開花日)と合わせて,表2にまとめた。
次に,Tさんは各観測点で開花推定日が実際の開花日からずれている日数を確認した。実際の開花日を基準にして,開花推定日が早ければ負の値,遅ければ正の値,一致していれば0として,400度開花推定日と実際の開花日との差(400度開花差),ならびに600度開花推定日と実際の開花日との差(600度開花差)を計算し,表3にまとめた。
例えば,名古屋の400度開花差は[エ],600度開花差は[オ]と計算できた。また,新潟と奈良のそれぞれで,どちらの開花推定日が実際の開花日に近いか,表3だけを用いて比較すると,[カ]ことがわかった。なお,開花差の絶対値が小さいことを「実際の開花日に近い」とする。
表2 開花推定日(表の一部を“?”で隠してある)
| 観測点 | 400度開花推定日 | 600度開花推定日 | 実際の開花日 |
|---|---|---|---|
| 稚内 | 5月31日 | 5月21日 | 5月8日 |
| 旭川 | 5月26日 | 5月7日 | 4月29日 |
| 〜 | 〜 | 〜 | 〜 |
| 新潟 | ? | ? | ? |
| 〜 | 〜 | 〜 | 〜 |
| 名古屋 | 3月19日 | 3月16日 | 3月17日 |
| 甲府 | 3月20日 | 3月14日 | 3月18日 |
| 〜 | 〜 | 〜 | 〜 |
| 奈良 | ? | ? | ? |
表3 開花差
| 観測点 | 400度開花差 | 600度開花差 |
|---|---|---|
| 稚内 | 23 | 13 |
| 旭川 | 27 | 8 |
| 〜 | 〜 | 〜 |
| 新潟 | 4 | −1 |
| 〜 | 〜 | 〜 |
| 名古屋 | [エ] | [オ] |
| 甲府 | 2 | −4 |
| 〜 | 〜 | 〜 |
| 奈良 | −1 | −5 |
[エ]・[オ]の解答群 ⓪ 0 ① 1 ② 2 ③ 3 ④ 4 ⑤ −1 ⑥ −2 ⑦ −3 ⑧ −4
[カ]の解答群 ⓪ 新潟と奈良の両方とも,400度開花推定日の方が近い ① 新潟と奈良の両方とも,600度開花推定日の方が近い ② 新潟は400度開花推定日の方が近く,奈良は600度開花推定日の方が近い ③ 新潟は600度開花推定日の方が近く,奈良は400度開花推定日の方が近い ④ 新潟と奈良の両方とも,表3だけではどちらの開花推定日が近いか判断できない
2解答
[エ]=②,[オ]=⑤(二つあわせて配点2点)
[カ]=③(配点2点)
3解説(端的に)
開花差は(開花推定日)−(実際の開花日)であり,推定日が遅ければ正,早ければ負になる。
名古屋は400度開花推定日が3月19日,実際の開花日が3月17日なので,推定日は2日遅い。400度開花差は+2で②。600度開花推定日は3月16日なので,推定日は1日早い。600度開花差は−1で⑤。
[カ]は「開花差の絶対値が小さいほうが実際の開花日に近い」と本文が定義してくれている。新潟は400度が4,600度が−1で,絶対値は4と1。小さいのは600度のほう。奈良は400度が−1,600度が−5で,絶対値は1と5。小さいのは400度のほう。したがって「新潟は600度,奈良は400度」で③。表2の“?”は最後まで使わなくてよい。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
符号つきの差。「基準を決めて,そこからのずれを正負で表す」という考え方。ここでは実際の開花日が基準で,推定日が遅いと正,早いと負。日付の引き算に慣れないうちは,「3月17日を0日目として,3月19日は2日目だから+2」「3月16日は1日前だから−1」と数直線を書くのが確実。
絶対値は「ずれの大きさ」を表す。符号は「どちらにずれたか(方向)」,絶対値は「どれだけずれたか(大きさ)」。近い・遠いを比べたいときは大きさだけが問題なので絶対値を使う。−1と−5なら,数としては−5のほうが小さいが,ずれの大きさは−5のほうが大きい。ここを取り違えると答えが変わる。
積算温度という考え方。桜のつぼみは,一定の暖かさを「ためて」から咲く。だから毎日の気温を足し合わせた量(積算温度)がある水準を超えたら咲く,というモデルが立てられる。400度の法則は平均気温の和,600度の法則は最高気温の和を使う。どちらも経験則であって,物理法則ではない。
検算 — 別の道すじで確かめる
[カ]の誤答①を実際にたどってみる。「近い=値が小さい」と,絶対値を取らずに符号つきの数の大小で判断してしまったとする。新潟は4と−1で,小さいのは−1なので600度を選ぶ。奈良は−1と−5で,小さいのは−5なので600度を選ぶ。すると「両方とも600度開花推定日の方が近い」=①にたどり着く。①はこの取り違えで生まれる選択肢である。正しくは絶対値で比べるので,奈良は400度が近い。
誤答④の検討。「表2に?があるから新潟と奈良は計算できない」と考えると④を選びたくなる。しかし本文は「表3だけを用いて比較すると」と明記しており,表3にはその新潟・奈良の開花差そのものが数値で載っている。開花差さえわかれば絶対値の大小は決まるので,推定日や実際の開花日を知る必要はない。よって④は誤り。
他の観測点で同じ手順を回してみる。甲府は2と−4で,絶対値は2と4だから400度のほうが近い。稚内は23と13で,絶対値は23と13だから600度のほうが近い。旭川は27と8で600度のほうが近い。手順が正しく回っていることが確認できる。
[エ][オ]の符号の検算。甲府で確かめる。400度開花推定日3月20日,実際の開花日3月18日なので推定日は2日遅く,表3の400度開花差は2。表と一致する。600度開花推定日3月14日は実際より4日早いので−4。これも表と一致する。同じ規則を名古屋に当てはめれば+2と−1になる。
ここで効く一般則・学問的背景
- 誤差を評価するときは「符号つきの誤差(かたよりの向き)」と「絶対誤差(ずれの大きさ)」を分けて見る。向きが一方に偏っていれば,モデルに系統的なくせがあるということ。
- 表3をながめると,稚内・旭川のような北の観測点では400度開花差が大きな正の値になっている。つまり400度の法則は,北の地域では開花を遅く見積もりがちである。これが問3・問4の出発点になる。
- 「表◯だけを用いて」という条件が付いたら,それは制約であると同時にヒントでもある。その表だけで足りるように問題が作られている。
- 日付の差は,月をまたぐときに要注意。3月31日と4月2日の差は2日で,31や1という数字をそのまま引いてはいけない。
学問的背景。積算温度で生物の季節を予測する考え方は,18世紀フランスの博物学者ルネ・レオミュール(1683−1757)が1735年に示した「度日(どじつ)」の着想にさかのぼる古い発想で,現在は生物季節学(フェノロジー)と呼ばれる分野になっている。日本の桜前線予想でも,積算温度に加えて「休眠打破」(冬の寒さで眠りから覚める過程)まで組み込んだモデルが使われている。400度の法則・600度の法則は,そうした本格モデルを思い切り単純化した入門版だと思えばよい。モデルの良し悪しを測る指標としては,本問の開花差の平均にあたる平均誤差(バイアス),絶対値の平均である平均絶対誤差(MAE),二乗して平均する二乗平均平方根誤差(RMSE)などがあり,情報Ⅱのモデル評価で扱う。バイアスがあるモデルは,本問の問4のように「補正」で改善できる余地がある。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第4章 情報通信ネットワークとデータの活用 に対応します。
問3 2026年度 共通テスト『情報Ⅰ』第4問 問3
1問題
問3 次の文章を読み,後の問い(a・b)に答えよ。
Tさんは観測点の緯度も開花差に影響するのではないかと考えた。そこで,ある年のデータを用いて,横軸に緯度,縦軸に開花差をとった散布図(図1)を作成し,相関係数を求めた。なお,各観測点の緯度はすべて異なっている。
【図1】緯度と開花差の散布図。横軸「緯度」の目盛りは30,35,40,45。縦軸「開花差」の目盛りは−15,−10,−5,0,5,10,15,20,25,30。○が400度開花差,×が600度開花差を表し,同じ観測点の○と×は同じ横位置(同じ緯度)に縦に並ぶ。各観測点の緯度はすべて異なるので,横位置が同じ○と×は同一観測点の組と読める。図中に「緯度と400度開花差の相関係数:0.92」「緯度と600度開花差の相関係数:0.74」が明記されている。左上には,緯度35あたり・開花差0あたりに引かれた小さな長方形の中身を拡大した「拡大図」が置かれている(その長方形の中に横軸ラベル「35」が入っているため,拡大図の中央に大きく「35」が見える)。
解説の結論を再現するために必要な位置関係は次のとおり。
・全体として,左下から右上へ向かって上がっていく散らばりで,○のほうが×よりも一直線に近く並んでいる。
・緯度40の目盛り線より右の領域では,○はすべて15の目盛り線より上に,×はすべて15の目盛り線より下にあり,○の群と×の群が上下にはっきり分かれている。
・その領域のうち,最も右(緯度が最も高い)の観測点は,○が20と25の目盛り線のあいだ,×が10と15の目盛り線のあいだにある。この観測点の○と×の縦の隔たりは,目盛り線の間隔のちょうど2つ分ある(目盛り線の間隔は5なので,隔たりは10)。
・その他の観測点では,×が5の目盛り線より下にあるものはどれも○が15の目盛り線より上にあり,×が5と10の目盛り線のあいだにあるものはどれも○が25の目盛り線より上にある。
・○のうち最も高い位置にあるものは30の目盛り線上にあり,それは最も右の観測点ではなく,最も右の観測点より左にある。
・緯度40の目盛り線より右に,○が15の目盛り線のすぐ上で同じ高さに並ぶ観測点が2つある。そのうち右(緯度が高いほう)の観測点の×は0の目盛り線のすぐ上,左(緯度が低いほう)の観測点の×は5の目盛り線の少し下にある。
・開花差0(横軸の線)の上に中心が乗っている記号を数えると,×のほうが○より多い(この密集部分を数えられるように拡大図が用意されている)。
(原図は問題冊子PDFを参照)
(注)観測点の緯度は,観測点の都庁舎・市庁舎がある場所の緯度を用いた。
a 図1と相関係数から読み取れることとして正しいものを,次の⓪〜④のうちから二つ選べ。ただし,解答の順序は問わない。[キ]・[ク]
⓪ 400度開花差よりも600度開花差の方が,散布図の点の集まりが直線に近い。
① 開花推定日と実際の開花日が一致する観測点の数は,400度開花推定日よりも600度開花推定日の方が多い。
② 緯度が最も高い観測点で,それぞれの開花差の値が最大となっている。
③ 任意の二つの観測点を比較して,緯度が高い観測点の方が,400度開花差の値か600度開花差の値の少なくとも一方が必ず大きい。
④ 緯度の値が40以上のすべての観測点で,400度開花推定日は600度開花推定日から一週間以上遅い。
b 次の文章を読み,空欄[ケ]〜[サ]に入れるのに最も適当なものを,後の解答群のうちから一つずつ選べ。
Tさんは,緯度が高い観測点で2月1日以降に平均気温が氷点下(0℃以下)となる日があることを見つけ,開花差に影響するのではないかと考えた。
図1の作成に用いたデータから,2月1日以降に平均気温が氷点下であった日が存在する観測点(氷点下観測点)のみを集めたグループ(G1)とそれ以外の観測点を集めたグループ(G2)に分け,400度開花差に関する箱ひげ図(図2)を作成した。なお,どちらの箱ひげ図にも外れ値はなかった。
【図2】400度開花差に関する箱ひげ図。横軸の目盛りは−15,−10,−5,0,5,10,15,20,25,30。上段がG1,下段がG2。
・G1:左ひげの左端(最小値)は0の目盛り線より右で5の目盛り線より左。箱の左端(第1四分位数)は5と10の目盛り線のあいだ。中央線(中央値)は15の目盛り線より右で20の目盛り線より左,15寄り。箱の右端(第3四分位数)は20と25の目盛り線のあいだ。右ひげの右端(最大値)は30の目盛り線上。
・G2:左ひげの左端(最小値)は−15の目盛り線より右で−10の目盛り線より左。箱の左端は−5の目盛り線のあたり。中央線は−5と0の目盛り線のあいだで0寄り。箱の右端は0と5の目盛り線のあいだ。右ひげの右端(最大値)は5と10の目盛り線のあいだで5寄り。
(原図は問題冊子PDFを参照)
図2から,開花差の絶対値が[ケ]以上となる観測点は,G1では半数以上あるが,G2では1か所もないことから,グループ間の違いを確認した。また,400度開花推定日と実際の開花日が一致している観測点(一致観測点)について,[コ]一致観測点の数がわかり,[サ]G2に存在することがわかった。
[ケ]の解答群 ⓪ 5 ① 10 ② 15 ③ 20
[コ]・[サ]の解答群 ⓪ 図1だけで ① 図2だけで ② 図1もしくは図2のいずれからも ③ 図1と図2の両方を組み合わせることで
2解答
[キ]・[ク]=①,④(解答の順序は問わない。配点4点。各2点)
[ケ]=②(配点2点)
[コ]=⓪(配点2点)
[サ]=③(配点3点)
3解説(端的に)
a ⓪は,直線への近さは相関係数の絶対値で比べるので,0.92の400度のほうが直線に近く誤り。②は,最も右の観測点の○が,30の目盛り線上にある○より低い位置にあるので最大ではなく誤り。③は反例がある。緯度40より右に○が同じ高さで並ぶ観測点が2つあり,緯度が高いほうは○が同じで×は低い。どちらも「大きい」にならない。よって残る①と④が正しい。①は0の線上の記号を数えれば×が多いこと,④は緯度40より右ではどの観測点も○と×の縦の隔たりが目盛り線2つ分(=10)以上あり,7を超えていることから確認できる。
b G1の中央値は15の目盛り線より右なので半数以上が15以上,G2は最小値が−15より右・最大値が15より左なので絶対値15以上は0か所。ケ=②。一致観測点の「数」は点を数えるしかないので図1だけ(コ=⓪)。それがG2にあると言うには,図2でG1の最小値が0より大きいことも必要なのでサ=③。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
相関係数。−1から1までの値をとり,絶対値が大きいほど点が一直線に近く並ぶ。正なら右上がり,負なら右下がり。目安として,絶対値が0.7以上なら強い相関,0.4以上0.7未満なら中程度,0.4未満なら弱い相関とする。本問の0.92も0.74もどちらも0.7以上で強い正の相関だが,「より直線に近い」のは0.92のほう。相関係数は直線的な関係の強さだけを測るもので,値の大小そのものを測るのではない。
箱ひげ図。左ひげの左端が最小値,箱の左端が第1四分位数,箱の中の線が中央値,箱の右端が第3四分位数,右ひげの右端が最大値。外れ値がない場合はこの5つの値だけを表す。個々のデータの値も,データの個数も読み取れないのがこのグラフの限界であり,本問の[コ][サ]はまさにそこを突いている。中央値がaより大きければ「a以上のデータが半数以上ある」と言える。
散布図と絶対値。「開花差の絶対値がa以上」は,0の線から上下いずれかにa以上離れていること。負の側も忘れないよう,0を中心に上下対称に見る癖をつける。
検算 — 別の道すじで確かめる
[キ][ク]の④を,目盛り線だけで確かめる。「400度開花推定日が600度開花推定日から一週間以上遅い」とは,同じ観測点で(400度開花差)−(600度開花差)が7以上ということ。緯度40の目盛り線より右の観測点を,○と×の組ごとに見ていく。×が5の目盛り線より下にある組は,○が15の目盛り線より上なので,差は15−5=10より大きい。×が5と10の目盛り線のあいだにある組は,○が25の目盛り線より上なので,差は25−10=15より大きい。残るのは最も右の観測点。ここは○と×の縦の隔たりが目盛り線の間隔のちょうど2つ分あり,目盛り線の間隔は5なので差は10。10は7以上である。どの観測点でも7以上あるので④は正しい。なお,○や×の高さを目分量で数値化する必要はない。「×より上に○がどれだけ離れているか」を目盛り線の本数で数えるほうが確実である。
③の反例を最後まで追う。緯度40の目盛り線より右に,○が15の目盛り線のすぐ上で同じ高さに並ぶ観測点が2つある。この2つを比べる。緯度が高いのは右の観測点。400度開花差(○)は左右で同じ高さだから「大きい」とは言えない。600度開花差(×)は,右の観測点のほうが0の目盛り線のすぐ上,左の観測点のほうが5の目盛り線の少し下にあるので,右のほうが低い。つまり緯度が高いほうは,どちらの開花差についても「大きい」が成り立たない。これが反例なので,③の「必ず」は崩れる。
ここで大事なのは,③を否定できるのはこの組が図1に実際に描かれているからだという点。「相関係数が1未満だから逆転がどこかにあるはず」という論法は使えない。相関係数が1未満でも逆転が一つも起きない散らばりはありうるからである(たとえば (1,1),(2,4),(3,9) のような点は,横軸が増えれば縦軸も必ず増えるのに,一直線ではないので相関係数は1より小さい)。「必ず」を崩すには,図の中に具体的な反例を一組見つけるしかない。
②を追う。「それぞれの開花差の値が最大」とは,○も×も最大ということ。図1で最も右の観測点の○は20と25の目盛り線のあいだにあるが,それより左に30の目盛り線上に乗る○がある。つまり400度開花差については最大ではない。片方でも最大でない時点で②は誤り。
[ケ]の他の選択肢をつぶす。⓪の5なら,G2の右ひげの右端は5の目盛り線より右にあるので,G2にも絶対値5以上の観測点が存在してしまい「1か所もない」に反する。①の10なら,G2の左ひげの左端は−10の目盛り線より左にあるので,絶対値10以上の観測点がG2に存在し,やはり反する。③の20なら,G1の中央値は20の目盛り線より左なので,20以上が半数以上とは言えない。②の15だけが,G1の中央値が15の目盛り線より右(半数以上が15以上)で,かつG2の最小値が−15より右・最大値が15より左(絶対値15以上が0か所)を同時に満たす。
[コ][サ]の論理を分けて考える。一致観測点とは400度開花差が0の観測点のこと。
・個数を知るには,0の線上に乗っている○を数えるしかない。これができるのは図1。箱ひげ図は5つの要約値しか示さないので,図2からは個数は決して出ない。よってコ=⓪。
・それがG2にあると言うには二段構えが要る。図1には氷点下かどうかの情報がないので,図1だけでは一致観測点がG1とG2のどちらに属するか分からない。一方,図2を見るとG1の最小値(左ひげの左端)は0の目盛り線より右にある。つまりG1には400度開花差が0の観測点は1つもない。図1から「一致観測点が存在する」,図2から「それはG1にはない」。この二つを合わせて初めて「G2に存在する」と言える。よってサ=③。図2だけでは,G2のデータにちょうど0という値があるかどうかまでは分からない点に注意。
ここで効く一般則・学問的背景
- 「緯度が高いほうが必ず値が大きい」のような例外なしの主張は,まず疑って反例を探す。散布図なら,同じ高さに並ぶ点や,右へ行くのに下がる点が反例の候補になる。ただし,反例は図の中に実際に見つけて初めて主張を崩せる。相関係数が1未満であることは「点が完全な一直線には乗っていない」ことしか意味せず,逆転の存在を保証しない(単調に増えるが曲がっている並びでは,相関係数は1未満でも逆転は起きない)。
- 箱ひげ図から読めるのは最小値・第1四分位数・中央値・第3四分位数・最大値の5つだけ。個数・分布の形・個々の値は読めない。「何個あるか」を問われたら箱ひげ図では答えられない。
- 中央値がa以上なら「a以上のデータが半数以上ある」は必ず言える。逆に中央値がa未満なら「a以上が半数以上」は言えない。
- 「絶対値がa以上が1か所もない」は,最小値が−aより大きく,かつ最大値がaより小さいこと。片側だけ確認して満足しないこと。
- 二つの図を組み合わせて初めて言えることがある。「どちらの図にしかない情報か」を意識すると,コとサの区別がつく。
学問的背景。散布図に相関係数を添えるという表現は,19世紀末のフランシス・ゴルトンとカール・ピアソンによって整えられた。ピアソンの積率相関係数は,二つの量の直線的な結びつきだけを測るので,きれいな曲線関係があっても値が小さく出ることがある。逆に,値が大きいからといって因果関係があるとは限らない。本問でも「緯度が高いから400度開花差が大きい」と即断せず,Tさんは氷点下の日数という別の要因を探しに行っている。この「相関の背後にある交絡要因(第三の変数)を疑う」姿勢は,データ分析の要である。箱ひげ図はジョン・テューキーが1970年代に提唱した図で,分布の要約を素早く比較するために設計された。要約であるがゆえに情報が落ちること,落ちた情報は別の図で補うべきことを,本問の[コ][サ]はうまく体験させてくれる。情報Ⅱでは,こうしたグループ間の差が偶然かどうかを判定する検定や,複数の要因を同時に扱う重回帰分析へ進む。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第4章 情報通信ネットワークとデータの活用 に対応します。
問4 2026年度 共通テスト『情報Ⅰ』第4問 問4
1問題
問4 次の文章を読み,空欄[シ]・[ス]に入れるのに最も適当なものを,後の解答群のうちから一つずつ選べ。
Tさんは,氷点下観測点の開花推定日を補正できないかと考えた。
1年間のデータだけでは足りないと感じたTさんは,ある3年間の気象データを用いて,まず,各年の気象データから氷点下観測点を抽出し,2月1日以降に平均気温が氷点下であった日数(氷点下日数)を数えた。次に,抽出された3年分の氷点下観測点について,氷点下日数と400度開花差の散布図と回帰直線(図3)を作成した。なお,回帰直線の方程式は,次のとおりである。
【図3】氷点下日数と400度開花差の散布図と回帰直線。横軸「氷点下日数」の目盛りは0,5,10,15,20,25,30,35,40,45,50。縦軸「開花差」の目盛りは0,5,10,15,20,25,30,35。右上がりの回帰直線が引かれ,点はおおむねその直線のまわりに集まっている。
解説の結論を再現するために必要な位置関係は次のとおり。
・氷点下観測点は「2月1日以降に平均気温が氷点下であった日が存在する観測点」なので,氷点下日数は1日以上である。図3の点のうち最も左にある列がその最小値,すなわち氷点下日数1日の観測点にあたる。この列は横軸の0の目盛り線のすぐ右,0と5の目盛り線のあいだを5等分した1つ目の位置にある。
・その最も左の列には,○が縦一列に等間隔で並んでいる。隣り合う○の間隔は,縦軸の目盛り線の間隔(5)を5等分した1つ分(=1)にあたる。
・この列は縦軸の5の目盛り線をまたいで上下に伸びている。列の上端は10の目盛り線から下へ1つ分の位置(=9),列の下端は5の目盛り線から下へ3つ分の位置(=2)にある。つまり下端は,0の目盛り線と5の目盛り線のちょうど中間よりさらに下にある。したがってこの列には,開花差が2の点と3の点が含まれている。
・この列の上端の○は,回帰直線の左端よりも上にある。
・図の右下に,引き出し線で「A」とラベルの付いた点がある。Aは横軸の40の目盛り線より右・45の目盛り線より左にあり,縦軸の20の目盛り線上にある。Aは回帰直線よりも大きく下側に離れている。
・回帰直線より上側にある点も,下側にある点も,どちらも図の各所に存在する。
(原図は問題冊子PDFを参照)
Tさんは,開花差の予測値の小数第1位を四捨五入した値(補正日数)を用いた次の補正方法により,実際の開花日に近い補正日(400度補正日)が得られるのではないかと考えた。ただし,補正日数が負の値の場合は,補正しないことにした。
400度開花推定日から補正日数分さかのぼった日を400度補正日とする。
400度開花推定日よりも400度補正日の方が実際の開花日に近くなることを「うまく補正できる」とする。Tさんは図3から,[シ]ことがわかった。
さらに,Tさんは新たに別の年のデータを取得し,この補正方法を試した。観測点Xにおいて,400度開花推定日が4月23日,氷点下日数は18日であった。これより,観測点Xの400度補正日は[ス]と計算できた。実際の開花日が4月12日だったことから,この年の観測点Xではうまく補正できた。
[シ]の解答群 ⓪ すべての氷点下観測点でうまく補正できる ① 散布図上にある点Aで示した氷点下観測点を除いたすべての氷点下観測点でうまく補正できる ② 氷点下日数が1日である氷点下観測点の一部を除いたすべての氷点下観測点でうまく補正できる ③ 回帰直線上または回帰直線よりも上側に点がある氷点下観測点だけうまく補正できる ④ 回帰直線上または回帰直線よりも下側に点がある氷点下観測点だけうまく補正できる
[ス]の解答群 ⓪ 4月5日 ① 4月8日 ② 4月12日 ③ 4月15日
2解答
[シ]=②(配点3点)
[ス]=①(配点2点)
3解説(端的に)
まず[ス]。氷点下日数が18日なので,予測値は 0.55×18+5.48=15.38。小数第1位を四捨五入して補正日数は15日。400度開花推定日4月23日から15日さかのぼると4月8日で①。実際の開花日4月12日とのずれは,補正前が11日,補正後が4日なので確かに近づいている。
次に[シ]。開花差が d の観測点を補正日数 c だけさかのぼらせると,補正後のずれは d−c になる。うまく補正できるのは |d−c|<|d| のとき。c は必ず正なので,これは d>c÷2 と同じ。境界は回帰直線そのものではなく,その観測点の補正日数 c の半分の高さである。氷点下日数が1日なら予測値は 0.55×1+5.48=6.03,四捨五入して c=6 だから,d が3以下の点は失敗する。図3の最も左の列(氷点下日数1日)は下端が5の目盛り線から3つ分下,つまり開花差2まで下がっており,○は1つ分ずつの等間隔なので開花差2と3の点が実在する。この2点だけが例外。よって②。
4 さらに深掘りするなら(使う道具・検算・学問的背景)
この設問で使う道具
回帰直線。散布図の点の真ん中を通るように引いた直線で,横軸の値から縦軸の値を予測するために使う。傾き0.55は「氷点下日数が1日増えると開花差が0.55日ぶん大きくなる」,切片5.48は「氷点下日数が0日のときの開花差の予測値」を表す。ただし本問の氷点下観測点は氷点下日数が1日以上なので,切片は図の外側の話であり,直接の意味づけは慎重に。
四捨五入の位置。「小数第1位を四捨五入」なので,15.38は15になる(15.4ではない)。どの位を四捨五入するのかを読み違えると,そのあとの日付計算が全部ずれる。
「近くなる」を式にする。実際の開花日を0とし,400度開花推定日のずれを d,補正日数を c とすると,400度補正日のずれは d−c。「近くなる」は距離が小さくなること,つまり |d−c|<|d|。
検算 — 別の道すじで確かめる
条件 d>c÷2 の導出。c は補正日数で,氷点下日数が1以上なら 0.55×1+5.48=6.03 以上だから c は必ず正。
・d≦0 のとき:d−c は d よりさらに小さい負の数になるので,距離は必ず広がる。うまく補正できない。
・d>0 のとき:|d−c|<d を解くと −d<d−c<d,すなわち c<2d。整理して d>c÷2。
つまり「開花差が補正日数 c の半分より大きい」ことが条件。
ここで注意。c は予測値そのものではなく,予測値を四捨五入した整数である。だから境界の高さは round(0.55×氷点下日数+5.48)÷2 であって,回帰直線の式を単純に半分にした直線(傾き0.275,切片2.74)ではない。両者は一般には一致しない。たとえば氷点下日数が4日のところを考えると,予測値は 0.55×4+5.48=7.68 でその半分は3.84だが,実際の補正日数は c=8 なので本当の境界は4.0である。仮に開花差4の点があったとすると,それは「半分にした直線」より上にあるのに,|4−8|=4=|4| でまったく近づかず,うまく補正できない。判定は必ず「四捨五入したあとの c」の半分で行うこと。
⓪が誤りである理由を数で確かめる。氷点下日数が1日のとき,予測値は 0.55×1+5.48=6.03 で補正日数 c=6。すると開花差 d が3のとき,補正後は 3−6=−3 でずれの大きさは3のまま変わらず「近くなった」とは言えない。d が2なら 2−6=−4 で,むしろ遠ざかる。図3の最も左の列(氷点下日数1日)は,下端が5の目盛り線から下へ3つ分の位置にあり,○は1つ分ずつの等間隔で並んでいるので,開花差が3の点と2の点がどちらも実在する。したがって「すべて」ではない。⓪は誤り。
逆に,この列の下端が4までしか下がっていなければ |4−6|=2<4 でうまく補正できてしまい,⓪が正しくなってしまう。「下端がどこか」がそのまま答えを決める急所なので,5の目盛り線より下という大ざっぱな読みでは足りず,1つ分の間隔を単位にして下端の位置を数える必要がある。
①が誤りである理由を,点Aで実際に追う。Aは横軸40の目盛り線より右・45の目盛り線より左にあるので,補正日数は 0.55×40+5.48=27.48 を四捨五入した27 以上,0.55×45+5.48=30.23 を四捨五入した30 以下。その半分は13.5以上15以下。一方Aの開花差は20の目盛り線上なので20。20はその半分より大きいので,条件 d>c÷2 を満たし,Aはうまく補正できる。除く必要がないので①は誤り。しかも仮にAを除いたとしても,氷点下日数1日の失敗点が残るので二重に誤り。
③④が誤りである理由。③は「回帰直線上または上側の点だけ」と言うが,いま見たとおりAは回帰直線より大きく下側にありながらうまく補正できる。よって③は誤り。④は「回帰直線上または下側の点だけ」と言うが,氷点下日数1日の列の上端の点は回帰直線の左端より上にあり(開花差は10の目盛り線から1つ分下の9),しかも c÷2=3 を大きく上回るのでうまく補正できる。よって④も誤り。うまく補正できるかどうかを分けるのは回帰直線そのものではなく,その観測点の補正日数 c を半分にした高さである。ここが本問の急所。
[ス]の誤答をたどる。⓪の4月5日は,氷点下日数18をそのまま日数として引いた(23−18=5)場合。予測値の式を使い忘れている。②の4月12日は実際の開花日そのもので,計算せずに書き写した場合。③の4月15日は,補正日数15という数値を,そのまま「15日」という日付だと取り違えた場合。正しくは「4月23日から15日さかのぼる」なので 23−15=8 で4月8日。
本文との整合。問題文は「実際の開花日が4月12日だったことから,この年の観測点Xではうまく補正できた」と述べている。補正前のずれは 23−12=11日,補正後は 8−12=−4日でずれの大きさは4日。11>4なので確かに近づいている。条件 d>c÷2 でも,11>15÷2=7.5 で成立。二通りの確認が一致する。
ここで効く一般則・学問的背景
- 回帰直線は「予測」の道具であって「補正の正しさ」を直接は保証しない。今回のように補正の可否を判定するときの境界は,回帰直線ではなく,四捨五入したあとの補正日数 c の半分の高さである(予測値を半分にした値ではない点にも注意)。図に引かれている線が,そのまま判定境界だとは限らない。
- 系統的なかたより(バイアス)は,一律の量を引くのではなく,別の変数から予測した量を引くほうがうまくいく。今回は「氷点下日数」がその変数。
- 「すべて」「〜だけ」と書かれた選択肢は,端の値・小さい値の場合を必ず試す。本問でも失敗するのは氷点下日数が最小の1日のところであり,真ん中を見ていては見つからない。
- 補正日数が負なら補正しない,という但し書きは,予測値が負になる場合に「さかのぼるどころか進めてしまう」事故を防ぐための安全弁。今回は氷点下日数が1以上なので予測値は必ず正になり,この但し書きは発動しない。
- 四捨五入する位を取り違えると,日付が丸ごとずれる。「小数第1位を四捨五入」=整数にする,と読み替えて確認する。
学問的背景。回帰という言葉は,ゴルトンが親子の身長を調べて「背の高い親の子は平均へ回帰する」と述べたことに由来する。回帰直線を引く標準的な方法は最小二乗法で,各点から直線までの縦方向のずれ(残差)の二乗和が最小になるように傾きと切片を決める。ガウスとルジャンドルが19世紀初頭に天体観測の誤差処理のために整えた技法である。本問の点Aのように残差が極端に大きい点は外れ値の候補で,原因を調べずに削除すると分析をゆがめる一方,そのまま残すと直線が引っ張られる。どう扱うかは分析者の判断であり,判断の根拠を記録することが求められる。情報Ⅱでは,説明変数を増やした重回帰分析,予測の当たり具合を測る決定係数,そして「訓練したデータにだけよく当てはまり新しいデータでは外す」過学習の問題へと進む。本問がわざわざ「新たに別の年のデータを取得し」て補正を試しているのは,まさにこの検証の姿勢そのものである。
📕 『藤原進之介の ゼロから始める情報I』(KADOKAWA) 第4章 情報通信ネットワークとデータの活用 に対応します。
この試験で問われた単元を、基礎から学び直す
解けなかった設問は「知識が無い」のではなく「その単元の型を知らない」だけのことが多いです。該当する講義で型を入れてから戻ってきてください。
第3問(プログラミング)を基礎から
- アルゴリズムと流れ図第47講
- 共通テスト用プログラム表記③ 条件分岐第50講
- 共通テスト用プログラム表記④ 反復第51講
- 共通テスト用プログラム表記⑤ 配列第52講
- ユーザ定義関数と引数第53講
- トレース──プログラムを手で追う第54講
- 線形探索と二分探索
- 整列(ソート)の違いと比較回数
第4問(データの活用)を基礎から
- データの整理・整形(欠損値・外れ値)第82講
- 代表値(平均値・中央値・最頻値)第83講
- 散らばり(分散・標準偏差・四分位)第84講
- ヒストグラムと箱ひげ図第85講
- 散布図と相関係数第86講
- 相関と因果は違う第87講
- 回帰直線と最小二乗法第88講
第1問・第2問(小問集合)の分野を基礎から
情報ラボの学習コンテンツ
- 2026年度 共通テスト「情報Ⅰ」本試験 全問解説全18問・問題文つき
- 令和7年度 共通テスト「情報Ⅰ」試作問題 全問解説全19問・問題文つき
- 2025年度 共通テスト「情報Ⅰ」追試験 全問解説全19問・問題文つき
- 2026年度 共通テスト「情報Ⅰ」追試験 全問解説全24問・問題文つき
- 令和7年度 共通テスト「情報」サンプル問題 全問解説全11問・問題文つき
- 共通テスト「情報Ⅰ」オリジナル予想問題全10問・問題文つき
- 大学入試「情報」過去問プリント 一覧12大学・全149問
- 情報Ⅰ 最強120講義単元別の体系学習
- 情報Ⅰ・情報関係基礎の過去問PDF一覧共通テスト・私大
- 情報ラボとは(情報Ⅰ・Ⅱ専門オンライン個別指導)
- 情報ラボの料金とご利用の流れ
大学別「情報」過去問 解答解説
- 日本大学 文理学部 公開問題 2025全3問
- 北海道情報大学 一般選抜 サンプル問題 2025全14問
- 東北学院大学 一般選抜 サンプル問題 2025全12問
- 武蔵野大学 全学部統一選抜 2026全12問
- 武蔵野大学 一般選抜A日程(2/4) 2026全13問
- 武蔵野大学 一般選抜A日程(2/6) 2026全14問
- 京都産業大学 公募推薦入試 2026全12問
- 京都産業大学 一般選抜入試(前期日程) 2026全25問
- 京都産業大学 情報入試模擬試験 2024全7問
- 明治大学 情報コミュニケーション学部 情報総合問題 2020全7問
- 慶應義塾大学 SFC 総合政策学部 2019全15問
- 慶應義塾大学 SFC 環境情報学部 2019全15問
この解説は,オンライン数学専門塾数強塾の情報科目専門塾「情報ラボ」が制作しています。監修は藤原進之介(株式会社数強塾 代表取締役/『藤原進之介の ゼロから始める情報I』KADOKAWA 著者)。解答・配点は大学入試センター公表の正解表と全記号を照合済みです。
解き終えたら、同じ型のオリジナル予想問題へ
この年度の出題を含む公表6セットを分析し、同じ形式・同じ配点で作った完全オリジナルの予想問題です。過去問を解き切ってしまった人の演習材料に。
第3問(プログラミング)予想問題 大問10回分 / 第4問(データの活用)予想問題 大問10回分 / 第1問・第2問(小問集合)予想問題 4回分
他の回の全問解説
共通テスト「情報Ⅰ」の本試験・追試験・試作問題と、情報関係基礎の全問解説を1ページにまとめています。市販の演習材料が少ない科目なので、公開分を全部使い切るのが確実です。
共通テスト「情報Ⅰ」・情報関係基礎の全問解説(一覧) / 情報Ⅰ 最強120講義で用語に戻る / 共通テスト数学の全問解説