ITパスポート試験 - 令和7年 - 問99

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

1,000
1,500
3,000
5,500
答え
分野 : テクノロジ系 › 基礎理論 › アルゴリズムとプログラミング › アルゴリズムとプログラミング
解説
改善額と短縮期間を受け取り,条件分岐によって賞金額を決定する関数 calculateAmountOfPrize を用いて,2つの業務改善の賞金額の合計を求める問題です。

プログラムでは,改善額(improvement)が100000未満かどうか,短縮期間(period)が7未満かどうかで4つの場合分けがされており,両方とも小さい場合は500円,改善額が小さく期間が大きい場合は1000円,改善額が大きく期間が小さい場合は2000円,両方とも大きい場合は5000円が賞金額となります。答えは「ウ」です。

1つ目の業務改善は改善額20万円(200000円),短縮期間3日です。改善額200000円は100000より小さくないため,else側に進みます。期間3日は7より小さいため,prizeは2000円となります。

2つ目の業務改善は改善額5万円(50000円),短縮期間14日です。改善額50000円は100000より小さいため,if側に進みます。期間14日は7より小さくないため,elseに進み,prizeは1000円となります。

従って,2つの賞金額の合計は2000円+1000円=3000円となり,選択肢「ウ」が正解です。プログラム条件分岐を,改善額の大小,期間の大小の順に丁寧にたどることがポイントです。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる