基本情報技術者試験の令和7年度の公開問題(科目B)を解こう。
今回のテーマは、「2つの配列の同じ並びを検索するプログラム」である。
令和7年度 基本情報技術者試験 科目 B 公開問題 問4


正解:ク
今回のデータの確認
- data:
{"a", "b", "a", "b", "c", "a", "b", "c"}(8文字) - key:
{"a", "b", "c"}(3文字)
🏃♂️ 「真(一致)」になった時だけカウント!トレース表
外側のループ i は、開始位置を 1から6まで 動かす(8 ー 3 + 1 = 6)。
「条件式 β」が ○(一致) になった回数をカウントしていく。
| 開始位置 (i) | 比較のステップ (j) | data側 と key側 | 判定 | カウント |
| i = 1 | j = 1 | “a” == “a” | ○ (真) | 1回目 |
| j = 2 | “b” == “b” | ○ (真) | 2回目 | |
| j = 3 | “a” == “c” | × (偽) | (カウントしない) | |
| i = 2 | j = 1 | “b” == “a” | × (偽) | (カウントしない) |
| i = 3 | j = 1 | “a” == “a” | ○ (真) | 3回目 |
| j = 2 | “b” == “b” | ○ (真) | 4回目 | |
| j = 3 | “c” == “c” | ○ (真) | 5回目 | |
| i = 4 | j = 1 | “b” == “a” | × (偽) | (カウントしない) |
| i = 5 | j = 1 | “c” == “a” | × (偽) | (カウントしない) |
| i = 6 | j = 1 | “a” == “a” | ○ (真) | 6回目 |
| j = 2 | “b” == “b” | ○ (真) | 7回目 | |
| j = 3 | “c” == “c” | ○ (真) | 8回目 |
✨ 結論
一致した回数(真となった回数)を合計すると、8回 になる。正解は ク となる。
💡 初学者へのアドバイス
科目Bの問題文には、今回のように「実行回数」なのか「真(True)になった回数」なのかを区別させるひっかけが出題される。
- 実行回数:
if文を通った回数すべて(真も偽も含む) - 真となる回数:
if文の中身が「一致(真)」した回数のみ


コメント