問9
配列Aが図2の状態のとき、図1の流れ図を実行すると、配列Bが図3の状態になった。図1のaに入れる操作はどれか。ここで、配列A、Bの要素をそれぞれA(i,
j)、B(i, j)とする。
図1 流れ図
j
───────────────→
0 1 2 3 4 5 6 7
│ ┌─┬─┬─┬─┬─┬─┬─┬─┐
│0│ │*│*│*│*│*│*│ │
│ ├─┼─┼─┼─┼─┼─┼─┼─┤
│1│ │*│ │ │ │ │ │ │
│ ├─┼─┼─┼─┼─┼─┼─┼─┤
│2│ │*│ │ │ │ │ │ │
│ ├─┼─┼─┼─┼─┼─┼─┼─┤
│3│ │*│*│*│*│ │ │ │
i│ ├─┼─┼─┼─┼─┼─┼─┼─┤
│4│ │*│ │ │ │ │ │ │
│ ├─┼─┼─┼─┼─┼─┼─┼─┤
│5│ │*│ │ │ │ │ │ │
│ ├─┼─┼─┼─┼─┼─┼─┼─┤
│6│ │*│ │ │ │ │ │ │
│ ├─┼─┼─┼─┼─┼─┼─┼─┤
│7│ │*│ │ │ │ │ │ │
↓ └─┴─┴─┴─┴─┴─┴─┴─┘
図2 配列Aの状態
j
───────────────→
0 1 2 3 4 5 6 7
│ ┌─┬─┬─┬─┬─┬─┬─┬─┐
│0│ │ │ │ │ │ │ │ │
│ ├─┼─┼─┼─┼─┼─┼─┼─┤
│1│*│*│*│*│*│*│*│*│
│ ├─┼─┼─┼─┼─┼─┼─┼─┤
│2│ │ │ │ │*│ │ │*│
│ ├─┼─┼─┼─┼─┼─┼─┼─┤
│3│ │ │ │ │*│ │ │*│
i│ ├─┼─┼─┼─┼─┼─┼─┼─┤
│4│ │ │ │ │*│ │ │*│
│ ├─┼─┼─┼─┼─┼─┼─┼─┤
│5│ │ │ │ │ │ │ │*│
│ ├─┼─┼─┼─┼─┼─┼─┼─┤
│6│ │ │ │ │ │ │ │*│
│ ├─┼─┼─┼─┼─┼─┼─┼─┤
│7│ │ │ │ │ │ │ │ │
↓ └─┴─┴─┴─┴─┴─┴─┴─┘
図3 実行後の配列Bの状態
ア B(7-i, 7-j) ← A(i, j)
イ B(7-j, i) ← A(i, j)
ウ B(i, 7-j) ← A(i, j)
エ B(j, 7-i) ← A(i, j)
正解
エ
解説
図2の“*”状態に着目すると、アルファベットの“F”の文字に見える。図3では、“F”が時計回りに90度回転していることが分かる。
つまり例えば、A(i, j) = A(0, 6) は B(6, 7) になる。
選択肢にA(i, j) = A(0, 6)を代入して、B(6, 7) になる選択肢が正解となる。
ア B(7-0, 7-6) = B(7, 1)
イ B(7-6, 0) = B(1, 0)
ウ B(0, 7-6) = B(0, 1)
エ B(6, 7-0) = B(6, 7)
念のため、例えば、A(i, j) = A(7, 1) は B(1, 0) になるが、選択肢エでは
B(1, 7-7) = B(1, 0) となり正しいことが分かる。