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 ではなくなったので、もしの中には入りません。
| i | Data[i] | 後のbasho |
|---|---|---|
| 0 | 34 | -1 |
| 1 | 12 | -1 |
| 2 | 56 | -1 |
| 3 | 78 | -1 |
| 4 | 23 | 4(見つかった) |
| 5 | 45 | 4 |
03
練習問題
条件の and basho == -1 を消しました。Data = [23, 12, 23] で sagasu = 23 のとき、表示される basho はいくつですか。
- -1
- 0
- 2
- 3
答えと解説を見る
答え 3and basho == -1 があると、最初に見つけた0番目で basho が決まり、あとは変わりません。消すと、23を見つけるたびに basho を上書きするので、最後に見つけた2番目が表示されます。
04
書き換えて試す
上のPythonのコードを書き換えて、もう一度実行してみましょう。
- sagasu を 99 に変えて、「見つかりませんでした」になることを確かめる
- Data に23をもう1つ入れて、最初に見つかった番号が表示されることを確かめる
- 何回比べたかを数える変数を足して、二分探索と比べる
05
ほかの練習
表記の出典: 大学入試センター「令和7年度大学入学共通テスト 試作問題『情報』の概要」。問題とデータはLaibraのオリジナルです。