※本情報は解説作成時点のもので、閲覧時点では法改正等により情報が変更になっている場合がございます。あらかじめご理解いただければ幸いです。
正解は「B.x > y and x > z」です。
三つの異なる整数のうち最大値を返すには、最初の条件で x が y と z の両方より大きいことを判定する必要があります。
この記事では、基本情報技術者試験(FE)試験(令和6年度)科目Bで出題された第1問「最大値を求める関数」について、試験対策の観点からわかりやすく解説します。
Contents
maximum関数の考え方
最大値=他のすべての値より大きい値
関数 maximum は、異なる三つの整数 x, y, z を受け取り、その中で最も大きい値を返します。
最初の if 文では、x が最大である場合を判定する必要があります。
なぜ「x > y and x > z」なのか
- x が y より大きいだけでは、z との大小関係が分からない
- x が z より大きいだけでも、y との大小関係が分からない
- 両方を同時に満たすことで、x が最大と確定できる
したがって、*** には「x > y and x > z」が入ります。
他の選択肢が誤りである理由
- x > y:z との比較がないため不十分
- x > y and y > z:x と z を直接比較していない
- x > z:y との比較がないため不十分
- x > z and z > y:x と y を直接比較していない
- z > y:x との比較がないため不十分
最大値を求めるには、候補となる値が他のすべてより大きいことを確認する必要があります。
問われているポイント
この問題では、条件分岐の論理式を正しく組み立てられるかが問われています。
複数条件を同時に満たす場合は、論理演算子 and を用いることを押さえておきましょう。
気を付けてほしい点(勘違いしやすいポイント)
- 一つの比較だけで最大と判断しないこと
- 「異なる三つの整数」という条件を見落とさないこと
補足
三つの値の最大・最小を求める問題は頻出です。比較対象が全て網羅されているかを常に確認しましょう。
基本情報技術者試験(FE)試験での出題パターン
基本情報技術者試験(FE)試験では、擬似言語による条件分岐や論理式の問題が頻出です。
単純な処理でも、条件式の組み立てを正確に理解しているかが問われます。
この知識が使われている問題
まとめ
- 最大値は他のすべての値より大きい値
- 複数条件は and で同時に判定する