基本情報トップに戻る
B難易度: 標準2026年度

基本情報技術者 予想問題B 第68問

問題

次の擬似言語プログラムで、配列 data の要素の逆順を得るための空欄(A)に入れるべき式はどれか。 整数型の配列: data ← {1, 2, 3, 4, 5} 整数型の配列: result ← {0, 0, 0, 0, 0} 整数型: i ← 1 while (i ≦ 5) result[(A)] ← data[i] i ← i + 1 endwhile

選択肢

  1. 1ア i
  2. 2イ i + 1
  3. 3ウ 5 - i
  4. 4エ 6 - i

正解

4. エ 6 - i

詳しい解説を見る

解説

逆順コピーでは、data[1]→result[5]、data[2]→result[4]、data[3]→result[3]、data[4]→result[2]、data[5]→result[1] と対応させる必要がある。コピー元の添字iとコピー先の添字の和が常に 1+5=6、2+4=6 のように6で一定であることに着目すると、コピー先は 6 - i と表せる。i=1のとき6-1=5、i=5のとき6-5=1となって正しく逆順になるため、エが正解である。ウの 5 - i ではi=1のとき4となって1つずれ、i=5のとき0で添字の範囲外となる。アのiでは単なる同順コピー、イの i + 1 では1つ後ろにずれi=5で範囲外アクセスが起こる。要素数nの配列の逆順は「(n+1) - i」という一般形で覚えておくと、端の値(i=1とi=n)を代入して検算する習慣とあわせて確実に解ける。

一問一答

科目A 180問+科目B 60問

Bの関連問題

この調子で演習を続けよう

スキマ資格では基本情報の全2398問を分野別・難易度別に体系的に学習できます。基本情報技術者は科目A(広く浅く)と科目B(プログラミング・アルゴリズム)の両輪での対策が必要です。