基本情報技術者試験 過去問解説

データ構造とは?基本情報技術者試験 令和4年度 科目A 問6を解説

基本情報技術者試験 令和4年度 科目A 問6は、データ構造に関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。

問題文

配列 A が図2の状態のとき,図1の流れ図を実行すると,配列 B が図3の状態になった。図1の a に入れる操作はどれか。ここで,配列 A,B の要素をそれぞれ A(i, j),B(i, j) とする。
図1: 二重ループの流れ図(i,j: 0,1,7)。図2: 配列Aの8x8状態(左上から*マーク階段状配置)。図3: 配列Bの8x8状態(Aを90度回転した配置)

この問題の出題ポイント

  • データ構造の定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
  • データ構造分野では、用語の目的・主体・責任範囲の違いが選択肢で問われやすい。

選択肢

  1. B(7−i, 7−j) ← A(i, j)
  2. B(7−j, i) ← A(i, j)
  3. B(i, 7−j) ← A(i, j)
  4. B(j, 7−i) ← A(i, j)正解

正解

: B(j, 7−i) ← A(i, j)

解説

配列 A を90度回転させて配列 B が得られています。元の A(i, j) は B(j, 7−i) に対応します(行→列、列→行を反転)。よって a の処理は B(j, 7−i) ← A(i, j) でエが正解。

なぜ他の選択肢が違うのか

  • B(7−i, 7−j) ← A(i, j) は180度回転(点対称)に相当し、本問の90度回転にはなりません。

  • B(7−j, i) ← A(i, j) は逆方向の90度回転で、図3の状態と一致しません。

  • B(i, 7−j) ← A(i, j) は左右反転で、回転になりません。

  • エ(正解)

    B(j, 7−i) ← A(i, j) は時計回り90度回転を表す式で、図3の配置と一致し正解です。

解き方の整理

データ構造の問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。

関連問題

前後の問題

令和4年度 科目A の関連する問題

復習を続ける

間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。