問題
選択肢
- 1true
- 2false
- 30
- 41
正解
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で「true」が正解である。falseは配列内にtargetが存在しなかった場合の値である。0と1はそもそも論理型の値ではなく、論理型(boolean)が取り得るのはtrueとfalseの2値のみという点でも誤りである。ループ継続条件に found = false を含めることで、発見後の無駄な比較を打ち切っている。この「フラグ変数による早期終了」は探索処理の定番テクニックであり、複合条件の評価とあわせて頻出である。
一問一答
科目A 180問+科目B 60問