基本情報技術者試験の科目Bの公開問題を題材に,配列の要素を移動する処理について学習します。この問題では,配列の要素を1つずつ後ろにずらす方法と,値を正しく移動するために末尾から処理する方法を確認します。
令和8年度 基本情報技術者試験 公開問題 科目B 問1
問 次のプログラム中の に入れる正しい答えを,解答群の中から選べ。ここで,配列の要素番号は1から始まる。
次のプログラムは,整数型の配列 data の末尾の要素の値を先頭の要素に移動する。この際,末尾以外の各要素の値は,一つずつ後ろの要素に移動する。
〔プログラム〕
整数型の配列: data ← {1,2,3,4,5,6,7,8,9}
整数型: top,i
整数型: len ← dataの要素数
top ← data[len]
for (i を )
data[i] ← data[i - 1]
endfor
data[1] ← top
解答群
ア 2 から len - 1 まで 1 ずつ増やす
イ 2 から len まで 1 ずつ増やす
ウ len - 1 から 2 まで 1 ずつ減らす
エ len から 2 まで 1 ずつ減らす
【解答】エ
【解説】
data[i] ← data[i - 1] により,各要素を一つ後ろの要素へ移動する。先頭側から処理すると,移動する前の値が上書きされてしまうため,正しく値を移動できない。そこで,末尾側から順番に処理する。
【参考】
この問題のポイント
この問題から学べることは,
- 配列の要素を参照する方法
- for文による繰り返し処理
- 配列の要素を1つずつ後ろへ移動する方法
- 配列の要素を移動するときに,処理する順番が重要になること
- トレース表を使って,配列や変数の値の変化を追跡する方法
です。特に,配列の要素を後ろへ移動するときは,元の値を上書きしないように,末尾から先頭へ向かって処理することを理解しておきましょう。
基本情報技術者試験の学習におすすめの参考書
基本情報技術者試験の合格を目指す方におすすめの参考書です。
学習のお役に立ちましたら
この記事が少しでも学習のお役に立ちましたら,今後も分かりやすい解説や学習コンテンツを継続してお届けする励みになります。
よろしければ、このサイトを応援いただけますと嬉しいです。
※OFUSEは,クリエイターやコンテンツ制作を直接支援できるサービスです。

