
基本情報技術者試験 令和6年度 公開問題 科目B、全6問のうちの問1。
出典:令和6年度 基本情報技術者試験 公開問題 科目B 問1(プログラムは原本の画像を文字に書き起こし、字下げは 1 段を空白 2 つで表した。空欄は[ ]で表した)
次の
関数 maximum は,
○整数型: maximum(整数型: x, 整数型: y, 整数型: z)if ([ ])return xelseif (y > z)return yelsereturn zendif
- アx > y
- イx > y and x > z
- ウx > y and y > z
- エx > z
- オx > z and z > y
- カz > y
答えと解説を開く
正解はイです。
最初の
ほかの選択肢が違う理由
- アx が
y より 大きくても、 z の ほうが 大きいことがあります。 x = 2、 y = 1、 z = 3 では x の 2 を 返してしまいます。 - ウx が
最大でも y > z とは 限りません。 x = 3、 y = 1、 z = 2 では 条件が 偽に なり、 elseif の 1 > 2 も 偽なので z の 2 を 返します。 - エx が
z より 大きくても、 y の ほうが 大きいことがあります。 x = 2、 y = 3、 z = 1 では x の 2 を 返してしまいます。 - オx が
最大でも z > y とは 限りません。 x = 3、 y = 2、 z = 1 では 条件が 偽に なり、 elseif の 2 > 1 が 真なので y の 2 を 返します。 - カx と
比べていません。 x = 1、 y = 2、 z = 3 では x の 1 を 返してしまいます。
仕組み
if と
条件の