戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

エンベデッドシステムスペシャリスト 2015年 午前2 問23


問題文

データが昇順に並ぶようにリストへデータを挿入するサブルーチンを作成した。このサブルーチンのテストに用いるデータの組合せのうち、網羅性の観点から適切なものはどれか。ここで、データは左側から順にサブルーチンへ入力する。

選択肢

ア:1、3、2、4
イ:3、1、4、2(正解)
ウ:3、4、2、1
エ:4、3、2、1

🔒 解説は解答すると表示されます

昇順リストへの挿入テスト【午前2解説】

正解の理由

昇順に並んだリストへデータを挿入する処理では、挿入位置によって処理が変わります。テストでは、少なくとも次の位置への挿入を確認する必要があります。
  • リストが空のとき
  • 先頭への挿入
  • 途中への挿入
  • 末尾への挿入
イの入力順では、それぞれのケースを確認できます。
入力データ挿入前のリスト挿入位置挿入後のリスト
3空空リストへの挿入3
13先頭1、3
41、3末尾1、3、4
21、3、4途中1、2、3、4
このように、挿入位置ごとの処理を網羅できるため、イが適切です。

解法ステップ

  1. 1つ目のデータを入力し、空リストへの挿入を確認します。
  2. 2つ目以降について、入力時点でのリストの状態を順に追います。
  3. 先頭・途中・末尾の各位置に挿入されるかを確認します。
  4. すべての挿入位置を通る組合せを選びます。

選択肢別の誤答解説

  • ア:1を空リストに挿入し、3と4は末尾、2は途中に挿入します。先頭への挿入がありません。
  • イ:空リスト、先頭、末尾、途中への挿入がすべて含まれています。
  • ウ:3を空リストに挿入した後、4は末尾、2と1は先頭に挿入します。途中への挿入がありません。
  • エ:4を空リストに挿入した後、3、2、1はいずれも先頭に挿入します。末尾や途中への挿入がありません。

よくある誤解

  • 入力データの並び順だけを見て判断する
    昇順か降順かではなく、各データを入力した時点でのリストに対して、どこへ挿入されるかを確認します。
  • 途中への挿入と先頭への挿入を同じと考える
    先頭への挿入では、既存の全データより小さい値を処理します。途中への挿入とは別のケースです。
  • すべての入力順を試す必要があると考える
    網羅性の観点では、すべての並べ方を試すのではなく、異なる処理経路を確認できるデータを選びます。

補足コラム

テストの網羅性を考えるときは、入力値の種類だけでなく、入力によってプログラムが通る処理の違いに注目します。この問題では、リストへの挿入位置が処理の違いを生むため、挿入位置を一つずつ確認することがポイントです。

FAQ

Q. 1つ目のデータは、先頭への挿入として数えますか?
A. ここでは、既存データの前に挿入するケースとは分けて、空リストへの挿入として考えます。
Q. 途中への挿入は、どのような場合ですか?
A. 挿入する値より小さい値と大きい値が、どちらもリスト内にある場合です。たとえば、1、3、4のリストに2を挿入するケースです。

関連キーワード: テスト網羅性、リスト、挿入処理、昇順ソート
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について