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

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

問題

次の擬似言語プログラムを実行したとき、変数sumの値はいくつか。 整数型の配列: data ← {3, 1, 4, 1, 5, 9, 2, 6} 整数型: sum ← 0 整数型: prev ← data[1] 整数型: i ← 2 while (i ≦ 8) if (data[i] > prev) sum ← sum + data[i] endif prev ← data[i] i ← i + 1 endwhile

選択肢

  1. 1ア 9
  2. 2イ 15
  3. 3ウ 20
  4. 4エ 24

正解

4. エ 24

詳しい解説を見る

解説

このプログラムは配列の2番目の要素から順に走査し、直前の要素prevより大きい要素だけをsumに加算する。判定の後、prevは必ず現在の要素に更新される点に注意してトレースすると、1(3より小で加算なし)、4(1より大で+4)、1(4より小で加算なし)、5(1より大で+5)、9(5より大で+9)、2(9より小で加算なし)、6(2より大で+6)となる。途中式はsum=4+5+9+6=24であり、エが正解である。ア・イ・ウは、prevを先頭要素の3に固定したまま比較したり、加算対象を取りこぼしたりした場合に生じる誤答である。頻出ポイント:直前値との比較は増加区間の検出などに使われる定番パターンで、prevの更新がif文の外で毎回行われることを見落とさないのが鍵である。

一問一答

科目A 180問+科目B 60問

Bの関連問題

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

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