基本情報【科目B】令和6年度サンプル問題問1(条件分岐):elseifは<前の条件を満たしていない>も条件!

Uncategorized

基本情報技術者試験 科目Bの「令和6年度 サンプル問題 問1」(条件分岐・3つの整数の最大値)を、図解で解説します。「return している変数が最大値になる条件は何か」 を逆算するだけで、トレースなしで正解できる入門問題です。

動画で見たい方はこちら▼

問題(令和6年度 サンプル問題 問1)

次のプログラムの空欄【】に入れる正しい答えを、解答群から選べ。

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

○ 整数型: maximum(整数型: x, 整数型: y, 整数型: z)
if ( 【  】 )
  return y
elseif (x > z)
  return x
else
  return z
endif

解答群

ア x > y
イ y > x and y > z
ウ z > y
エ x > y and x > z
オ y > x and z > y
カ z > x and z > y

本番さながらの環境で解いてみたい方はこちら↓

解説

正解は です。

最大値として y を返しているので、【  】 内に入る条件は 「y が最大値の場合」 だとわかります。

引数は x, y, z の3つなので「y が最大値」とは、「y が x よりも大きく かつ z よりも大きい場合」です。これを式として表しているのは y > x and y > z です。

Memo: elseif 以降の補足

条件分岐は、前の条件を満たさなかった場合のみ次の条件判定を行います。2回目の elseif() が実行されるのは 「y が最大値ではない場合」 だけ。

text
if (yが最大値の場合)
return y
elseif (x > z) // yが最大値でない場合
return x
else // yが最大値でなく、かつ x が最大値でもない
return z
endif

y が最大値でないなら、最大値は x か z のどちらか。だから x と z を比較して大きい方が最大値です。さらに最後の else は「y が最大値でない」「x が最大値でない」両方を満たすので、必然的に z が最大値、というロジックになっています。

まとめ

条件分岐の穴埋めは 「return されている変数が答えになる条件を、引数で書き下す」 だけで解けます。

関連リンク

条件分岐(IF)の基礎が不安な人は、こちらから確認しましょう。

【基本情報 科目B】3つ以上の分岐(elseif)の書き方|「上から順に判定」で条件はシンプルに
基本情報技術者試験 科目Bの条件分岐で使う 「3つ以上の分岐」(elseif) の書き方と読み方を、図解で解説します。elseif が 上から順に判定される 仕組みを押さえると、条件をシンプルに書けるようになります。 動画で見たい方はこちら...

同じ条件分岐(IF)の関連問題です。

基本情報【科目B】令和4年度サンプル問題問2(fizzbuzz):「細かい条件ほど上に」で即答!
基本情報技術者試験 科目Bの「令和4年度(12月公開) サンプル問題 問2」(fizzBuzz・条件分岐)を、図解で解説します。「条件分岐は細かい条件ほど上に書く」 というルールを押さえれば、トレースなしで一発で正解にたどり着けます。 動画...
基本情報【科目B】令和4年度4月サンプル問題問1(条件分岐・以上/以下):前の条件を見落とさないこと
基本情報技術者試験 科目Bの「令和4年度4月 サンプル問題 問1」(条件分岐・入場料・以上/以下)を、図解で解説します。「最初の分岐を満たしていない」ことも条件となる、という条件分岐の定番ポイントが問われます。 動画で見たい方はこちら▼ 問...
基本情報科目B-サンプル問題【全44問をがっつり解説】
※一部、執筆途中です。随時アップしていきます。 ※サンプル問題だけを解くのは,非効率です。詳細は以下の動画をご確認ください。 読者限定プレゼント 科目B 演習サイトを無料プレゼント中 ⏱ 2分で終わるアンケートに答えるだけ! ▶ 演習サイト...

関連動画

この問題と同じ「読解系・条件分岐(IF)」の章で、これより前に学ぶ動画です。

講座の全動画はこちら(プレイリスト)。


無料YouTube講座

科目Bを88問で攻略する講座

サンプル問題だけでは足りない。出題パターンを体系的に。

▶ 講座を見る(無料)

読者限定プレゼント

科目B 演習サイトを無料プレゼント中

⏱ 2分で終わるアンケートに答えるだけ!


科目B 演習サイト

▶ 演習サイトを受け取る(無料)

※ Googleフォーム(SSL)に移動�

タイトルとURLをコピーしました