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

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

問題

次の擬似言語プログラムは線形探索で配列から目的の値を探す。target=7のとき、found変数の最終値はどれか。 整数型の配列: data ← {3, 5, 7, 9, 11} 整数型: target ← 7 論理型: found ← false 整数型: i ← 1 while (i ≦ 5 and found = false) if (data[i] = target) found ← true endif i ← i + 1 endwhile

選択肢

  1. 1ア true
  2. 2イ false
  3. 3ウ 0
  4. 4エ 1

正解

1. ア true

詳しい解説を見る

解説

線形探索のトレース問題である。i=1: data[1]=3は7と不一致、i=2: data[2]=5も不一致、i=3: data[3]=7がtargetと一致して found ← true が実行される。while条件は「i≦5 and found = false」であるため、foundがtrueになると次の判定で条件全体が偽となりループを抜ける。最終値はfound=trueでアが正解である。イのfalseは配列内にtargetが存在しなかった場合の値である。ウの0とエの1はそもそも論理型の値ではなく、論理型(boolean)が取り得るのはtrueとfalseの2値のみという点でも誤りである。ループ継続条件に found = false を含めることで、発見後の無駄な比較を打ち切っている。この「フラグ変数による早期終了」は探索処理の定番テクニックであり、複合条件の評価とあわせて頻出である。

一問一答

科目A 180問+科目B 60問

Bの関連問題

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

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