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

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

問題

次の擬似言語プログラムで、配列arr = [5, 2, 8, 1, 9, 3]に対して実行した後の変数maxの値はいくつか。 整数型: max ← arr[0] 整数型: i for (i を 1 から arr の要素数−1 まで 1 ずつ増やす) if (arr[i] > max) max ← arr[i] endif endfor

選択肢

  1. 1ア 1
  2. 2イ 5
  3. 3ウ 8
  4. 4エ 9

正解

4. エ 9

詳しい解説を見る

解説

正解はエ。配列の最大値を求める典型アルゴリズムである。maxを先頭要素arr[0]=5で初期化し、i=1以降の各要素と比較して大きければ更新する。トレースすると、i=1:2>5は偽で更新なし。i=2:8>5は真でmax=8。i=3:1>8は偽。i=4:9>8は真でmax=9。i=5:3>9は偽。よって最終的にmax=9となる。アの1は最小値、イの5は初期値のまま更新されないと誤読した場合、ウの8は途中経過の値で最後まで走査しなかった場合の誤りである。最大値探索は「先頭要素で初期化→残りを順に比較・更新」という形が定石で、不等号を逆(<)にすれば最小値探索になる。科目Bの基本パターンとして、比較演算子の向きと初期化のしかたを確実に押さえたい。

一問一答

科目A 180問+科目B 60問

Bの関連問題

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

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