基本情報技術者 2015年 秋期 午前(科目A) 問06
問題文
配列が図2の状態のとき、図1の流れ図を実行すると、配列が図3の状態になった。図1のaに入れるべき操作はどれか。ここで、配列の要素をそれぞれ, とする。

選択肢
ア:
イ:
ウ:
エ:(正解)
配列の座標変換(回転・転置)【午前2 解説】
要点まとめ
- 結論:A(i, j) を B に格納する操作は 90度時計回り回転の式 、つまり選択肢は エ です。
- 根拠:図2 の上端横線(i=0, j=1..6)が図3 の右端縦線(j=7, i=1..6)に、左端縦線(j=0, i=1..7)が図3 の上端横線に対応しているため回転変換です。
- 差がつくポイント:候補式を点で検算し、代表点(線や角の端点)を移して図3 の該当セルと一致するかだけで判定すると速くて確実です。
正解の理由
選択肢 エ の変換 は,座標 を行列の中心を基準に 90° 時計回りに回転させる変換式です。図2 における特徴的なパターン(上辺の横線、左辺の縦線、途中の短い横線など)をこの式で移すと,図3 の対応する位置にぴったり一致します。したがって正解は エ です。
よくある誤解
- 「転置()だけならよい」と考える誤り:転置は対角線に関する反転であり,図3 のように辺が反対側(右端や上端)へ移る回転には合いません。
- 「左右反転や上下反転と混同する」:左右反転は 、上下反転は なので,図のパターン移動と合致するか必ず確認する必要があります。
- 代表点での検算を省くミス:全体を見て直感で選ぶと間違いやすいので,必ず 2~3 点で式を代入して確かめること。
解法ステップ
- 図2 の「目立つ特徴」を拾う(例:上端の横線、左端の縦線、交差点や端点)。
- 各候補式が表す幾何変換をイメージする(例:転置・左右反転・上下反転・90° 回転など)。
- 代表点を選び,それぞれの候補式で移動先座標を計算する。
- 計算結果が図3 の該当セルにあるかを照合する。複数点で一致すれば正解。
具体的な代表点検算例(回転式 の確認)
- A の点 → :図3 に星あり。
- A の点 → :図3 に星あり。
- A の点 → :図3 に星あり。
これらが一致するので回転式が妥当です。
選択肢別の誤答解説
- ア:
- 意味:180度回転。図2 の上辺は下辺に移動するはずですが,図3 はそうなっていないため不適です。
- イ:
- 意味:反時計回り90度(ある順序での回転)。図3 の配置(上辺→右辺,左辺→上辺)と逆向きの変換なので不適です。
- ウ:
- 意味:左右反転(各行内で左右を反す)。図2 の横線が縦線に移っている点を説明できないため不適です。
- エ: (正解)
- 意味:90度時計回り回転。図2 の特徴的な線や端点が図3 の対応位置に一致します。
補足コラム
2次元配列の座標変換は「回転」「転置」「反転(左右・上下)」の組合せで表現できます。(ここでは )の配列で 90° 時計回り回転の一般式は
であり,反時計回りは ,180° 回転は ,転置は となります。試験ではこの公式を暗記しておくと迅速に判定できます。
FAQ
Q1. どの点を選べば検算が早くできますか?
A1. 「線の端点」や「交点」など特徴的で少数の点を選ぶと良いです。例えば端の角(0,1)や端点(3,0)などが有効です。
A1. 「線の端点」や「交点」など特徴的で少数の点を選ぶと良いです。例えば端の角(0,1)や端点(3,0)などが有効です。
Q2. が 8 以外でも同じ式を使えますか?
A2. はい。一般に の配列で 90° 時計回り回転は です。
A2. はい。一般に の配列で 90° 時計回り回転は です。
Q3. 手早く覚えるコツは?
A3. 「上端が右端に行く」「右端が下端に行く」……という位置の移り変わりを視覚化すると公式が覚えやすいです。
A3. 「上端が右端に行く」「右端が下端に行く」……という位置の移り変わりを視覚化すると公式が覚えやすいです。
関連キーワード: 2D配列、配列の回転、座標変換、行列の回転、インデックス変換、アルゴリズム、プログラミング操作

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

