# 情報I / 共通テスト

線形探索を共通テストの表記とPythonで読む

配列を先頭から1つずつ調べ、探す値と同じものを見つけます。データが並んでいなくても使えるのが二分探索との違いです。

01

表記とPythonで読む

並んでいない6つの数から、23が何番目にあるかを探します。

共通テスト用プログラム表記

Data = [34, 12, 56, 78, 23, 45]sagasu = 23basho = -1i を 0 から 要素数(Data) - 1 まで 1 ずつ増やしながら繰り返す:|もし Data[i] == sagasu and basho == -1 ならば:⎿⎿basho = iもし basho == -1 ならば:|表示する(sagasu, "は見つかりませんでした")そうでなければ:⎿表示する(sagasu, "は", basho, "番目にありました")

Python書き換えて実行できます

▶ 実行 を押すと、ここに結果が出ます

共通テストの表記どおりなら、次のように表示されます。

23は4番目にありました

02

値の動きを追う

basho は「まだ見つかっていない」ことを表す -1 から始めます。i=4 で23が見つかって basho=4 になります。そのあとの i=5 も調べますが、basho が -1 ではなくなったので、もしの中には入りません。

iData[i]後のbasho
034-1
112-1
256-1
378-1
4234(見つかった)
5454

03

練習問題

条件の and basho == -1 を消しました。Data = [23, 12, 23] で sagasu = 23 のとき、表示される basho はいくつですか。

  1. -1
  2. 0
  3. 2
  4. 3
答えと解説を見る

答え 3and basho == -1 があると、最初に見つけた0番目で basho が決まり、あとは変わりません。消すと、23を見つけるたびに basho を上書きするので、最後に見つけた2番目が表示されます。

04

書き換えて試す

上のPythonのコードを書き換えて、もう一度実行してみましょう。

  • sagasu を 99 に変えて、「見つかりませんでした」になることを確かめる
  • Data に23をもう1つ入れて、最初に見つかった番号が表示されることを確かめる
  • 何回比べたかを数える変数を足して、二分探索と比べる

05

ほかの練習

表記の出典: 大学入試センター「令和7年度大学入学共通テスト 試作問題『情報』の概要」。問題とデータはLaibraのオリジナルです。

# LET'S TRY

読めたら、次は書いてみよう。

無料でPythonを始める

変数・条件分岐・繰り返しから、ブラウザで順番に練習できます。

無料で利用できる範囲・有料プランは料金案内をご確認ください。