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

添字の入替えは転置、7−iのような反転は鏡像。組合せで回転になる

頻出基本情報技術者試験2019年度 秋期 午前9/アルゴリズムとプログラミング / アルゴリズム

図1(流れ図):開始→ループ1 i:0,1,7→ループ2 j:0,1,7→処理a(枠)→ループ2(終了)→ループ1(終了)→終了、という二重ループの流れ図。図2(配列Aの状態、8行8列、i=0〜7、j=0〜7、*が入っている位置):行0はj=1,2,3,4,5,6に*。行1はj=1に*。行2はj=1に*。行3はj=1,2,3,4に*。行4はj=1に*。行5はj=1に*。行6はj=1に*。行7はj=1に*。図3(実行後の配列Bの状態):行0は*なし。行1はj=0〜7全てに*。行2はj=4,7に*。行3はj=4,7に*。行4はj=4,7に*。行5はj=7に*。行6はj=7に*。行7は*なし。
図1(流れ図):開始→ループ1 i:0,1,7→ループ2 j:0,1,7→処理a(枠)→ループ2(終了)→ループ1(終了)→終了、という二重ループの流れ図。図2(配列Aの状態、8行8列、i=0〜7、j=0〜7、*が入っている位置):行0はj=1,2,3,4,5,6に*。行1はj=1に*。行2はj=1に*。行3はj=1,2,3,4に*。行4はj=1に*。行5はj=1に*。行6はj=1に*。行7はj=1に*。図3(実行後の配列Bの状態):行0は*なし。行1はj=0〜7全てに*。行2はj=4,7に*。行3はj=4,7に*。行4はj=4,7に*。行5はj=7に*。行6はj=7に*。行7は*なし。

選択肢

正解と解説

正解: B(j, 7-i) ← A(i, j)

二重ループは i と j を0〜7まで走査するので、代入式の添字の付け替え方がそのまま図形の変換を決める。B の行番号に元の列 j を、B の列番号に 7−i を割り当てる式は、行と列を入れ替えたうえで一方の向きを反転させる操作、すなわち図形を90度回転させることに相当する。実行後の B の形は元の A を回転させた配置になっており、この添字の対応と一致する。

選択肢ごとの解説

出典:令和元年度 秋期 基本情報技術者試験 午前 問9(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。