HOME»基本情報技術者令和元年秋期»午前問9
基本情報技術者令和元年秋期 午前問9
問9
配列Aが図2の状態のとき,図1の流れ図を実行すると,配列Bが図3の状態になった。図1のaに入れる操作はどれか。ここで,配列A,Bの要素をそれぞれ A(i,j),B(i,j) とする。

- 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)
- [出題歴]
- 基本情報技術者 H15春期 問15
- 基本情報技術者 H27秋期 問6
分類
テクノロジ系 » アルゴリズムとプログラミング » アルゴリズム
正解
エ
解説
配列Aの値が配列Bのどの位置に移動しているかを、配列中の適当な場所でサンプルを取ってみるとわかりやすいです。ここでは赤丸で印をつけた一点について考えてみます。
この位置を配列の添え字[i,j]を使って表すと、配列Aが[3,1]、配列Bが[1,4]となります。
選択肢を見ると、配列A[i,j]を配列Bのどこに移動するかを問われているので、iが3、jが1の場合に、配列Bの位置が[1,4]となる選択肢を探すことになります。
すべての選択肢に「i=3,j=1」を代入してみると、

選択肢を見ると、配列A[i,j]を配列Bのどこに移動するかを問われているので、iが3、jが1の場合に、配列Bの位置が[1,4]となる選択肢を探すことになります。
すべての選択肢に「i=3,j=1」を代入してみると、
- B(7-3,7-1)=B(4,6)となるので誤りです。
- B(7-1,3)=B(6,3)となるので誤りです。
- B(3,7-1)=B(3,6)となるので誤りです。
- B(1,7-3)=B(1,4)となり適切な位置に値を移動することができます。したがってこれが正解です。