次のプログラム中の [  ] に入れる正しい答えを,解答群の中から選べ。…

科目B アルゴリズムとプログラミング 科目B 問1

次のプログラム中の [  ] に入れる正しい答えを,解答群の中から選べ。ここで,配列の要素番号は1 から始まる。次のプログラムは,整数型の配列data の末尾の要素の値を先頭の要素に移動する。この際,末尾以外の各要素の値は,一つずつ後ろの要素に移動する。

基本情報技術者 2026年度(令和8年度)公開問題 科目B 問1の図基本情報技術者 2026年度(令和8年度)公開問題 科目B 問1の選択肢の図
参考:擬似言語の記述形式(基本情報技術者試験,応用情報技術者試験用)

問題冊子の末尾に載っている参考のページです。

擬似言語の記述形式(基本情報技術者試験,応用情報技術者試験用)擬似言語の記述形式(基本情報技術者試験,応用情報技術者試験用)
正答 エ
正答は エ。空欄は「len から 2 まで 1 ずつ減らす」です。 プログラムは、末尾の値を top に退避してから、各要素を一つずつ後ろへずらし、最後に data[1] に top を入れます。ずらす処理 data[i] ← data[i - 1] は、後ろの要素から順に行わないと、まだ移していない値を上書きしてしまいます。そのため、i は len(末尾)から 2 まで減らしていきます。 【トレース(エの場合)】 data = {1, 2, 3, 4, 5, 6, 7, 8, 9}、len = 9、top ← data[9] = 9
解説の続きをみる続きを閉じる
i = 9:data[9] ← data[8] = 8 i = 8:data[8] ← data[7] = 7  …(同じように一つずつ後ろへ移す) i = 3:data[3] ← data[2] = 2 i = 2:data[2] ← data[1] = 1  → data = {1, 1, 2, 3, 4, 5, 6, 7, 8} data[1] ← top = 9  → data = {9, 1, 2, 3, 4, 5, 6, 7, 8} 末尾の 9 が先頭に移り、ほかの値は一つずつ後ろへ移りました。 【ほかの選択肢】 ア 2 から len - 1 まで 1 ずつ増やす 誤り   → i = 2 で data[2] ← data[1] = 1、i = 3 で data[3] ← data[2]    = 1 と、先頭の 1 が次々に上書きされていく。    data[9] は 9 のまま残り、結果は {9, 1, 1, 1, 1, 1, 1, 1, 9} イ 2 から len まで 1 ずつ増やす 誤り   → アと同じく 1 が上書きされ、結果は    {9, 1, 1, 1, 1, 1, 1, 1, 1} ウ len - 1 から 2 まで 1 ずつ減らす 誤り   → 向きは正しいが、i = 9 の data[9] ← data[8] が行われない。    8 がどこにも移らず、結果は {9, 1, 2, 3, 4, 5, 6, 7, 9} 【ポイント】 配列の要素を後ろへずらすときは後ろから、前へずらすときは前から処理します。先に上書きされる側から動かすのが原則です。

出典:令和8年度 基本情報技術者試験 科目B 公開問題 問1(独立行政法人情報処理推進機構)出典元ページ

最終更新日

この回を通しで解く この分野を年度横断で解く

「科目B アルゴリズムとプログラミング」のほかの問題

  1. 2024年度(令和6年度)公開問題 科目B 問1次のプログラム中の [  ] に入れる正しい答えを,解答群の中から選べ。
  2. 2024年度(令和6年度)公開問題 科目B 問2次のプログラム中の [  ] に入れる正しい答えを,解答群の中から選べ。
  3. 2024年度(令和6年度)公開問題 科目B 問3次のプログラム中の [  ] に入れる正しい答えを,解答群の中から選べ。
  4. 2024年度(令和6年度)公開問題 科目B 問4次の記述中の [  ] に入れる正しい答えを,解答群の中から選べ。
  5. 2024年度(令和6年度)公開問題 科目B 問5次のプログラム中の [a] ~ [c] に入れる正しい答えの組合せを,解答群の中から選べ
  6. 2025年度(令和7年度)公開問題 科目B 問1次のプログラム中の [a] と [b] に入れる正しい答えの組合せを,解答群の中から選べ

問題文・解答の修正依頼

スポンサーリンク