
基本情報技術者試験 令和8年度 公開問題 科目B、全6問のうちの問1。
出典:令和8年度 基本情報技術者試験 公開問題 科目B 問1(プログラムは原本の画像を文字に書き起こし、字下げは 1 段を空白 2 つで表した。空欄は[ ]で表した)
次の
次の
整数型の配列: data ← {1, 2, 3, 4, 5, 6, 7, 8, 9}整数型: top, i整数型: len ← dataの要素数top ← data[len]for (i を [ ])data[i] ← data[i - 1]endfordata[1] ← top
- ア2 から
len - 1 まで 1 ずつ増やす - イ2 から
len まで 1 ずつ増やす - ウlen - 1 から
2 まで 1 ずつ減らす - エlen から
2 まで 1 ずつ減らす
答えと解説を開く
正解はエです。
末尾の
ほかの選択肢が違う理由
- ア前から
順に ずらすので、 data[1] の 値が 次々に 後ろへ 写り、 data[2] から data[8] まで 1 に なります。 len まで 回らないので 末尾の 9 も 残り、 {9, 1, 1, 1, 1, 1, 1, 1, 9} に なります。 - イ前から
順に ずらすので、 data[1] の 値が 次々に 後ろへ 写り、 data[2] から data[9] まで 全部が 1 に なります。 - ウ後ろから
順に ずらす 向きは 合っていますが、 len - 1 から 始めるので data[len] ← data[len - 1] が 行われず、 末尾の 要素が 9 のまま 残ります。
仕組み
配列の
科目B では、