基本情報技術者令和6年 [科目B]問1

問1

次のプログラム中の に入れる正しい答えを,解答群の中から選べ。

 関数 maximum は,異なる三つの整数を引数で受け取り,そのうちの最大値を返す。

〔プログラム〕
b01_1.png/image-size:357×159
  • x > y
  • x > y and x > z
  • x > y and y > z
  • x > z
  • x > z and z > y
  • z > y

分類

アルゴリズムとプログラミング » プログラムの基本要素

正解

解説

条件式の部分が空欄になっているif文では、条件式がtrueと評価されるとき、戻り値として x を返しています。関数 maximum は、3つの変数のうち最大値を返すものですから、x を返すべきなのは3つの変数の中で x が最大と判断したときです。

x が最大となるのは、①x が y よりも大きい、②x が z よりも大きい、という2つの条件をともに満たす場合です。①はx > y、②はx > zと表すことができ、両方の条件を満たす場合なので、2つの条件をANDで結合する必要があります。したがって、空欄に入る条件式は「イ」となります。
  • x と z の比較を行っていません。z が最大値であるときに、x が返されてしまうため不適切です。
  • 正しい。
  • x の値にかかわらず、y が z 以下のとき右式はfalseと評価されます。x が最大である場合でも、y と z の関係によって x が返されないことがあるため不適切です。
  • x と y の比較を行っていません。y が最大値であるときに、x が返されてしまうため不適切です。
  • x の値にかかわらず、z が y 以下のとき右式はfalseと評価されます。x が最大である場合でも、y と z の関係によって x が返されないことがあるため不適切です。
  • x と他の変数の比較を行っていません。z が最大値であるときに、x が返されてしまうため不適切です。
© 2010-2024 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop