アルゴリズムとプログラミング

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

配列 A が図 2 の状態のとき,図 1 の流れ図を実行すると,配列 B が図 3 の状態になった。図 1 の a に入れるべき操作はどれか。ここで,配列 A,B の要素をそれぞれ A (i, j),B (i, j) とする。
図 1 流れ図: 開始 → ループ1(i : 0, 1, 7 (注))→ ループ2(j : 0, 1, 7 (注))→ [a] → ループ2(端)→ ループ1(端)→ 終了。 (注) ループ端の繰返し指定は,変数名 : 初期値,増分,終値 を示す。 図 2 配列 A の状態(行 i=0〜7,列 j=0〜7,* は印あり,他は空白): i=0: j=1〜6 に * i=1: j=1 に * i=2: j=1 に * i=3: j=1,2,3,4 に * i=4: j=1 に * i=5: j=1 に * i=6: j=1 に * i=7: j=1 に * 図 3 実行後の配列 B の状態: i=0: 空 i=1: j=0〜7 全てに * i=2: j=4,7 に * i=3: j=4,7 に * i=4: j=4,7 に * i=5: j=7 に * i=6: j=7 に * i=7: 空
答えを選ぶ

出典:平成27年度 秋期 基本情報技術者試験 午前 問6(問題文は IPA の公開問題。解説は当サイト作成)

解説に誤りを見つけたら、解説の誤りを報告してください。

答えと解説を見る

正解:エ

覚える知識

2次元配列の回転・転置操作の読解

n×n配列の右90度回転は、A(i,j)をB(j,n−1−i)へ格納する操作である。

この問題で必要なこと

A(0,1)の印がB(1,7)に移るなど、具体的な点を追って対応式を特定する。A(i,j)→B(j,7−i)は右90度回転。

ひっかけ

他の選択肢は左回転・180度回転・左右反転に相当し、特定の点で検証しないと区別できない。

この知識の出題:本試験系 2 回・免除試験 2 回(公開問題での観測値)。頻出知識ランキング344位(全1,254件中)。

この知識をアプリで解いて覚える レッスン「配列の添字操作と表計算の参照」で学ぶ

同じ知識の過去問