ITパスポート 令和7年度99

問題

テクノロジ系

問99 関数 calculateAmountOfPrize は,業務改善の効果における改善額と短縮期間を,それぞれ improvement と period で受け取り,賞金額を戻り値とする。改善額が20万円で短縮期間が3日の業務改善と,改善額が5万円で短縮期間が14日の業務改善があった。この二つの賞金額の合計は何円か。ここで,改善額と短縮期間の値はそれぞれ0以上とする。 〔プログラム〕

選択肢

  • 1,000
  • 1,500
  • 3,000
  • 5,500

解説

正解:

概要

この問題は、条件分岐を含むプログラムの処理結果を読み取り、最終的な戻り値を求める問題です。改善額と短縮期間の条件によって賞金額が決まる処理を理解する必要があります。

正解の理由

改善額が14万円なので「improvementが100000以上」の条件に該当します。また短縮期間は5日なので「periodが7より小さい」に該当します。この条件の組合せでは prize ← 2000 が設定されます。改善案が2つあるため、2000円×2で合計3000円になります。

各選択肢の解説

ア(×): 1,000円になるのは improvement が100000未満かつ period が7以上の条件に該当する場合です。本問では improvement が100000以上であり、この条件には該当しないため誤りです。

イ(×): 1,500円という金額はプログラムの条件分岐の結果として設定される金額ではありません。計算結果としても導かれないため誤りです。

ウ(〇): improvement が100000以上で、period が7未満なので prize は2000円になります。改善案が2件あるため、合計は2000×2=3000円となり正しいです。

エ(×): 5,500円という金額はプログラム内の条件分岐から導かれる結果ではありません。そのためこの選択肢は誤りです。

ポイント

条件分岐の問題では、条件を順番に確認し、どの分岐に入るかを整理してから最終結果を計算することが重要です。

関連用語