プログラミング
アルゴリズム クイズ
共通テスト「情報Ⅰ」第3問 対策
IT1-CODE-POCKETで学べること
IT1-CODE-POCKETは、共通テスト「情報Ⅰ」の第3問で問われやすいプログラミングとアルゴリズムの考え方を、スマートフォンで短時間ずつ練習できる学習サイトです。 単に答えを覚えるのではなく、配列の添字、条件分岐、繰り返し、変数の更新、探索、集計、シミュレーションなど、プログラムを読むための基本動作を確認できるように構成しています。
問題は「基礎」「標準」「発展」に分け、Python、JavaScript、共通テスト用プログラム表記(DNCL)を選んで演習できます。 同じ考え方を複数の表記で見比べることで、特定の文法だけでなく、処理の流れそのものを理解しやすくすることを目指しています。
おすすめの使い方
- まずは「基礎」を5問または10問で解き、配列・条件分岐・繰り返しの読み方を確認します。
- 慣れてきたら「標準」で、合計、最大値、探索、条件付きカウントなどの頻出処理を練習します。
- 最後に「発展」で、二重ループ、待ち行列、割り当て、表形式データの処理など、長めのプログラムに挑戦します。
- 間違えた問題は復習機能に残るため、翌日以降にもう一度解き直すと定着しやすくなります。
共通テスト「情報Ⅰ」第3問とはどんな問題か
第3問は、与えられたプログラムを読んで空欄を埋めたり、実行結果を答えたりする問題です。 特徴は「知識を覚えていれば解ける問題ではない」という点にあります。 用語の意味を知っていても、プログラムの中で変数がどう変わっていくかを追えなければ答えは出ません。
出題は、大きく次の4つの形に分けられます。本サイトの問題も、この4つのパターンで作成しています。
| パターン | 問われること | つまずきやすい点 |
|---|---|---|
| 穴埋め | [ ア ]に入る式や値を選ぶ | 添字の始まりが0か1か、条件式の向き |
| 実行結果 | 表示される値を答える | 変数の更新順、繰り返しを抜けるタイミング |
| 実行回数 | 処理が何回行われるか数える | 繰り返しの終わりの値、二重ループの数え方 |
| 正誤判定 | プログラムの説明として正しいものを選ぶ | 前提条件(整列済みかどうかなど)の見落とし |
いずれも、必要な力は共通しています。プログラムを上から1行ずつ読み、変数の値を書き換えながら追いかけることです。 この作業は「トレース」と呼ばれ、慣れるまでは時間がかかりますが、 練習量に比例して確実に速く正確になります。
つまずきの原因は「読み方」にある
第3問が苦手な人の多くは、プログラムを全体の雰囲気で読もうとしています。 しかし、プログラムは1行ずつ順番に実行されるものなので、雰囲気で読むと必ずどこかでずれます。 特に次の3つは、間違いの原因として非常に多いところです。
- 添字の始まり — 共通テスト用プログラム表記では、特に断りがなければ配列の添字は0から始まります。「3番目の要素」は Data[2] です。
- 繰り返しの終わりの値 — 「0 から 要素数 - 1 まで」の
- 1を見落とすと、範囲外を参照したり回数が1回ずれたりします。 - 更新の順序 —
x = x + vとv = v - 1は、書く順番を入れ替えると結果が変わります。
本サイトのクイズは、こうした間違えやすいポイントを狙って作られています。 間違えた問題は復習リストに残るので、翌日以降に解き直すと、自分がどこで読み違えるかの傾向が見えてきます。
シミュレーターで動きを目で確かめる
トレースは紙の上でもできますが、最初のうちは「自分の追い方が合っているのか」が分かりません。 そこで本サイトでは、代表的な7つのアルゴリズムについて、 1ステップずつ止めながら動きを見られるシミュレーターを用意しています。
配列のどのマスを比べているか、変数がいくつになったか、擬似コードのどの行を実行しているかが同時に表示されます。 自分で予測してから答え合わせに使うと、トレースの精度が上がります。 整列していない配列で二分探索が失敗する場面や、更新の順序を間違えて処理が終わらなくなる場面など、 失敗する様子もあえて再現できるようにしてあります。
7つのアルゴリズムを見る学習ガイド
クイズだけでなく、情報Ⅰ 第3問の学習方針や各言語の読み方も整理しています。演習前の確認や、間違えた後の復習に活用してください。