
基本情報技術者試験基礎・応用
条件を読む・根拠を説明する
範囲検査の順序
条件を整理し、答えを選んでから解き方を確認しましょう。
添字1〜nの配列を先頭から探索する。ANDは左が偽なら右を評価しない。iがn+1にもなる場合、末尾の要素も漏れなく調べ、範囲外参照を避ける継続条件はどれか。
答え・解き方を読む
i≤n AND A[i]≠x
考える順序
- 1配列を読む前に添字が範囲内か確かめる
- 2左の範囲判定が偽なら右の配列参照を行わない
- 3i=nの要素も調べられる条件にする
選択肢ごとの理由
- 比較 · i<n AND A[i]≠x
最後の要素を調べずに止まる条件です。
- 正解 · i≤n AND A[i]≠x
配列を読む前に添字が範囲内か確かめる。左の範囲判定が偽なら右の配列参照を行わない。i=nの要素も調べられる条件にする。
- 比較 · A[i]≠x AND i≤n
範囲外の配列を先に読む可能性があります。
- 比較 · i≤n OR A[i]≠x
ORでは範囲外でも右を評価することがあります。