IPA過去問ドリル

平成27年度 秋期 基本情報技術者試験 午前 問6

テクノロジ/アルゴリズム

配列 A が図2の状態のとき,図1の流れ図を実行すると,配列 B が図3の状態になった。図1の a に入れるべき操作はどれか。ここで,配列 A,B の要素をそれぞれ A(i, j),B(i, j) とする。

平成27年度 秋期 基本情報技術者試験 午前 問6の図

出典:平成27年度 秋期 基本情報技術者試験 午前 問6

正解:エ

解説

配列Aでは列j=1に全ての行(i=0~7)で星印があり,さらに行i=0の列1~6,行i=3の列1~4にも星印があります。実行後の配列Bでは,行i=1に全ての列(j=0~7)で星印が現れ,列j=7の行1~6,列j=4の行1~4にも星印が現れています。これは,Aの列方向の並びがBでは行方向の並びに変わり,かつ向きが反転していることを示しており,A(i,j)の要素をB(j, 7-i)に格納する操作(90度回転に相当)を行うと,図3の状態と一致します。

選択肢ごとの解説

  • 誤り。この操作は180度回転に相当し,Aの列1の並びはBでも列方向の並びのまま残ってしまい,図3のように行1が横一列に埋まる結果にはなりません。
  • 誤り。これは回転方向が逆の90度回転に相当し,Aの列1(行0~7)に対応する星印の並びがBの行6付近に現れることになり,図3(行1に並ぶ)とは一致しません。
  • 誤り。これは列方向を反転させるだけの操作(左右反転)であり,Aの列1の並び(縦方向)はBでも同じ縦方向の並びのまま残ってしまい,図3のように横一列にはなりません。
  • 正しい。Aの列1(行0~7に星印)がBの行1(列0~7に星印)に変わり,向きも反転しているため,図3の状態と一致します。90度回転に相当する操作です。
基本情報技術者の過去問を演習モードで解く