【情報Ⅰ】コンピュータとプログラミング 例題20選|共通テスト対策完全ガイド

フリーランスボード

20万件以上の案件から、副業に最適なリモート・週3〜の案件を一括検索できるプラットフォーム。プロフィール登録でAIスカウトが自動的にマッチング案件を提案。市場統計や単価相場、エージェントの口コミも無料で閲覧可能なため、本業を続けながら効率的に高単価の副業案件を探せます。フリーランスボード

ITプロパートナーズ

週2〜3日から働ける柔軟な案件が業界トップクラスの豊富さを誇るフリーランスエージェント。エンド直契約のため高単価で、週3日稼働でも十分な報酬を得られます。リモートや時間フレキシブルな案件も多数。スタートアップ・ベンチャー中心で、トレンド技術を使った魅力的な案件が揃っています。専属エージェントが案件紹介から契約交渉までサポート。利用企業2,000社以上の実績。ITプロパートナーズ

Midworks 10,000件以上の案件を保有し、週3日〜・フルリモートなど柔軟な働き方に対応。高単価案件が豊富で、報酬保障制度(60%)や保険料負担(50%)など正社員並みの手厚い福利厚生が特徴。通勤交通費(月3万円)、スキルアップ費用(月1万円)の支給に加え、リロクラブ・freeeが無料利用可能。非公開案件80%以上、支払いサイト20日で安心して稼働できます。Midworks

2025年度大学入学共通テストから必須科目となった「情報Ⅰ」。本記事では、その中でも重要な「コンピュータとプログラミング」分野について、基礎から応用まで徹底解説します。実践的な例題20問を通じて、確実に得点できる力を身につけましょう。

コンピュータとプログラミングとは

学習範囲の概要

「コンピュータとプログラミング」は情報Ⅰの中核をなす分野で、以下の内容を含みます:

  • コンピュータの仕組み: ハードウェアとソフトウェア、CPUの役割
  • アルゴリズム: 問題解決の手順と表現方法(フローチャート、擬似言語)
  • プログラミング: 変数、条件分岐、繰り返し処理
  • データ構造: 配列、リストなどの基本的なデータの扱い方

共通テストでの出題傾向

  • プログラムの穴埋め問題
  • フローチャートの読解
  • アルゴリズムのトレース(実行結果の予測)
  • 計算量や効率性の判断

重要ポイント解説

1. コンピュータの構成要素

五大装置: 入力装置、出力装置、記憶装置、演算装置、制御装置

CPUの役割: プログラムの命令を読み込み、演算・制御を行う中央処理装置

メモリとストレージ:

  • メモリ(RAM): 高速だが揮発性(電源を切ると消える)
  • ストレージ(HDD/SSD): 低速だが不揮発性(データが残る)

2. アルゴリズムの基本

順次処理: 上から順に実行 条件分岐: if文による処理の分岐 繰り返し: for文、while文によるループ処理

3. プログラミングの基礎

変数: データを格納する箱 代入: 変数に値を入れる操作(例: x = 10演算: 四則演算、比較演算、論理演算


例題20選

【第1問】コンピュータの基本構成

問題: CPUに含まれる装置の組み合わせとして正しいものはどれか。

A. 入力装置と出力装置
B. 演算装置と制御装置
C. 記憶装置と入力装置
D. 出力装置と記憶装置

解答: B

解説: CPU(中央処理装置)は、演算装置(ALU)と制御装置から構成されます。記憶装置、入力装置、出力装置はCPUとは別の装置です。


【第2問】2進数の計算

問題: 2進数 1011 と 0110 を足した結果を2進数で表すとどうなるか。

A. 10001
B. 10010
C. 10011
D. 11001

解答: A

解説:

  1011 (10進数で11)
+ 0110 (10進数で6)
------
 10001 (10進数で17)

各桁を足し、2になったら繰り上がりが発生します。


【第3問】16進数の理解

問題: 16進数の「A3」を10進数に変換するといくつになるか。

A. 103
B. 163
C. 183
D. 243

解答: B

解説: A3 = 10×16¹ + 3×16⁰ = 160 + 3 = 163

16進数では A=10, B=11, C=12, D=13, E=14, F=15 を表します。


【第4問】変数の代入

問題: 次のプログラムを実行したとき、最後のxの値はいくつか。


x = 5 y = 3 x = x + y y = x - 2 x = y * 2

A. 6
B. 8
C. 10
D. 12

解答: D

解説:

  1. x = 5, y = 3
  2. x = 5 + 3 = 8
  3. y = 8 – 2 = 6
  4. x = 6 × 2 = 12

【第5問】条件分岐の基本

問題: 次のプログラムで、x = 7 のとき出力される値は何か。

x = 7
if x > 10:
    y = x * 2
else:
    y = x + 3

A. 7
B. 10
C. 14
D. 20

解答: B (実際には10)

解説: x = 7 は 10 より大きくないため、else節が実行されます。 y = 7 + 3 = 10


【第6問】繰り返し処理(for文)

問題: 次のプログラムを実行したとき、sumの最終値はいくつか。

sum = 0
for i in range(1, 5):
    sum = sum + i

A. 5
B. 10
C. 15
D. 20

解答: B

解説: range(1, 5)は1, 2, 3, 4の4回ループします。 sum = 0 + 1 + 2 + 3 + 4 = 10


【第7問】繰り返し処理(while文)

問題: 次のプログラムで、ループが終了したときのxの値はいくつか。

x = 1
while x < 10:
    x = x * 2

A. 8
B. 10
C. 12
D. 16

解答: D

解説: 1回目: x = 1 × 2 = 2 (< 10なので継続) 2回目: x = 2 × 2 = 4 (< 10なので継続) 3回目: x = 4 × 2 = 8 (< 10なので継続) 4回目: x = 8 × 2 = 16 (≥ 10なのでループ終了)


【第8問】配列の操作

問題: 次のプログラムで、data[2]の値はいくつか。

data = [10, 20, 30, 40, 50]
data[2] = data[1] + data[3]

A. 20
B. 30
C. 50
D. 60

解答: D

解説: 配列のインデックスは0から始まります。 data[1] = 20, data[3] = 40 data[2] = 20 + 40 = 60


【第9問】最大値の探索

問題: 次のアルゴリズムは何を求めているか。

data = [5, 2, 8, 1, 9]
max_val = data[0]
for i in range(1, 5):
    if data[i] > max_val:
        max_val = data[i]

A. 最小値
B. 最大値
C. 平均値
D. 合計値

解答: B

解説: データの中から最大値を見つけるアルゴリズムです。各要素を順に比較し、より大きい値が見つかれば更新していきます。


【第10問】探索アルゴリズム(線形探索)

問題: 要素数nの配列から特定の値を線形探索で探す場合、最悪の場合の比較回数は何回か。

A. 1回
B. n/2回
C. n回
D. n²回

解答: C

解説: 線形探索は先頭から順に探すため、目的の値が最後にある場合や存在しない場合、n回の比較が必要になります。


【第11問】フローチャートの読解

問題: 次のフローチャートで、入力が15のとき出力される値はいくつか。

[開始]
  ↓
[x を入力]
  ↓
[x > 10] → いいえ → [y = x + 5]
  ↓はい              ↓
[y = x × 2]           ↓
  ↓                   ↓
[y を出力] ←──────────┘
  ↓
[終了]

A. 15
B. 20
C. 25
D. 30

解答: D

解説: x = 15 は 10 より大きいので、y = 15 × 2 = 30 が実行されます。


【第12問】論理演算(AND)

問題: 次の条件式が真(True)になるのはどの場合か。


(x > 5) and (x < 10)

A. x = 3
B. x = 7
C. x = 10
D. x = 12

解答: B

解説: andは両方の条件が真のときのみ真になります。 x = 7 のとき、(7 > 5) = 真 かつ (7 < 10) = 真 なので、全体が真になります。


【第13問】論理演算(OR)

問題: 次の条件式が偽(False)になるのはどの場合か。


(x < 0) or (x > 100)

A. x = -5
B. x = 0
C. x = 50
D. x = 150

解答: C

解説: orはどちらか一方でも真なら真になります。 x = 50 のとき、(50 < 0) = 偽 かつ (50 > 100) = 偽 なので、全体が偽になります。


【第14問】バブルソート

問題: バブルソートで配列[5, 2, 8, 1]を昇順にソートする場合、1回目のパスで先頭の要素は何になるか。

A. 1
B. 2
C. 5
D. 8

解答: B

解説: バブルソートの1回目のパスでは: [5, 2, 8, 1] → [2, 5, 8, 1] → [2, 5, 8, 1] → [2, 5, 1, 8] 最大値の8が最後に移動し、先頭は2になります。


【第15問】2分探索

問題: 要素数nの整列済み配列に対して2分探索を行う場合、最悪の場合の比較回数はどれか。

A. log₂n回
B. n回
C. n log₂n回
D. n²回

解答: A

解説: 2分探索は探索範囲を毎回半分にするため、計算量はO(log₂n)です。例えば、1024個のデータでも最大10回の比較で見つかります。


【第16問】関数の理解

問題: 次の関数を呼び出したとき、返される値はいくつか。

def calculate(a, b):
    return a * b + 10

result = calculate(3, 4)

A. 12
B. 17
C. 22
D. 34

解答: C

解説: calculate(3, 4) = 3 × 4 + 10 = 12 + 10 = 22


【第17問】再帰関数

問題: 次の再帰関数でfact(4)を呼び出したとき、返される値はいくつか。

def fact(n):
    if n == 1:
        return 1
    else:
        return n * fact(n - 1)

A. 4
B. 10
C. 24
D. 120

解答: C

解説: これは階乗を求める関数です。 fact(4) = 4 × fact(3) = 4 × 3 × fact(2) = 4 × 3 × 2 × fact(1) = 4 × 3 × 2 × 1 = 24


【第18問】文字列操作

問題: 次のプログラムの出力はどれか。

text = "Python"
print(text[1:4])

A. Pyt
B. yth
C. tho
D. hon

解答: B

解説: スライス[1:4]は、インデックス1から3まで(4は含まない)を取得します。 P(0), y(1), t(2), h(3), o(4), n(5) より、”yth”が出力されます。


【第19問】リストの操作

問題: 次のプログラムを実行したとき、numbersの内容はどうなるか。

numbers = [1, 2, 3]
numbers.append(4)
numbers.insert(0, 0)

A. [1, 2, 3, 4, 0]
B. [0, 1, 2, 3, 4]
C. [0, 4, 1, 2, 3]
D. [1, 2, 3, 0, 4]

解答: B

解説:

  1. append(4): [1, 2, 3, 4]
  2. insert(0, 0): インデックス0に0を挿入 → [0, 1, 2, 3, 4]

【第20問】アルゴリズムの効率性

問題: 2つのアルゴリズムA(計算量O(n))とB(計算量O(n²))がある。データ量nが100のとき、アルゴリズムBはAの約何倍の処理時間がかかるか。

A. 2倍
B. 10倍
C. 100倍
D. 10000倍

解答: C

解答:

  • アルゴリズムA: O(n) = 100回
  • アルゴリズムB: O(n²) = 100² = 10,000回
  • 比率: 10,000 ÷ 100 = 100倍

計算量が違うと、データ量が増えたときの処理時間の差が大きくなります。


学習のコツとまとめ

効果的な学習方法

  1. プログラムを実際に書いて動かす: 理論だけでなく、実際にコードを書いて実行結果を確認しましょう
  2. トレースの練習: プログラムの各行で変数がどう変化するか、紙に書いて追う練習が重要です
  3. アルゴリズムの理解: 暗記ではなく「なぜそうなるのか」を理解することが大切です
  4. 過去問演習: 共通テストの形式に慣れるため、過去問や予想問題を解きましょう

押さえておくべき重要事項

  • 基本構文: 条件分岐、繰り返し、配列操作は確実に理解する
  • アルゴリズム: 探索、整列の基本的なアルゴリズムを理解する
  • トレース能力: プログラムの実行結果を正確に追える力を養う
  • 計算量: アルゴリズムの効率性を判断できるようにする

よくある間違い

  1. 配列のインデックス: 0から始まることを忘れない
  2. range関数: 終了値は含まれない(range(1, 5)は1,2,3,4)
  3. 条件式の評価順: andとorの優先順位に注意
  4. 変数の更新: x = x + 1 のような自己代入の理解

参考リンク・関連記事

  • 情報Ⅰ 全体の学習ガイド
  • データの活用 分野の対策
  • 情報デザイン 分野の対策
  • 共通テスト対策 総まとめ

おわりに

「コンピュータとプログラミング」は、情報Ⅰの中でも特に実践的な分野です。本記事の例題20問を繰り返し解き、解説をしっかり理解することで、共通テストでの得点力が確実に向上します。

プログラミングは最初は難しく感じるかもしれませんが、基本を押さえて練習を重ねれば必ず理解できるようになります。焦らず、一歩ずつ確実に学習を進めていきましょう。

頑張ってください!応援しています!

テックジム東京本校では「情報」科目の受験対策指導もいたします。


この記事は2025年度大学入学共通テスト「情報Ⅰ」の受験対策用に作成されています。

関連キーワード: 情報Ⅰ、共通テスト、コンピュータとプログラミング、アルゴリズム、プログラミング基礎、受験対策、例題、過去問、Python、フローチャート、データ構造

フリーランスボード

20万件以上の案件から、副業に最適なリモート・週3〜の案件を一括検索できるプラットフォーム。プロフィール登録でAIスカウトが自動的にマッチング案件を提案。市場統計や単価相場、エージェントの口コミも無料で閲覧可能なため、本業を続けながら効率的に高単価の副業案件を探せます。フリーランスボード

ITプロパートナーズ

週2〜3日から働ける柔軟な案件が業界トップクラスの豊富さを誇るフリーランスエージェント。エンド直契約のため高単価で、週3日稼働でも十分な報酬を得られます。リモートや時間フレキシブルな案件も多数。スタートアップ・ベンチャー中心で、トレンド技術を使った魅力的な案件が揃っています。専属エージェントが案件紹介から契約交渉までサポート。利用企業2,000社以上の実績。ITプロパートナーズ

Midworks 10,000件以上の案件を保有し、週3日〜・フルリモートなど柔軟な働き方に対応。高単価案件が豊富で、報酬保障制度(60%)や保険料負担(50%)など正社員並みの手厚い福利厚生が特徴。通勤交通費(月3万円)、スキルアップ費用(月1万円)の支給に加え、リロクラブ・freeeが無料利用可能。非公開案件80%以上、支払いサイト20日で安心して稼働できます。Midworks

らくらくPython塾 – 読むだけでマスター

【現役エンジニア歓迎】プログラミング学習お悩み相談会