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円となり,選択肢「ウ」が正解です。プログラムの条件分岐を,改善額の大小,期間の大小の順に丁寧にたどることがポイントです。
分野 : テクノロジ系 › 基礎理論 › アルゴリズムとプログラミング › アルゴリズムとプログラミング
解説 :
改善額と短縮期間を受け取り,条件分岐によって賞金額を決定する関数 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円となり,選択肢「ウ」が正解です。プログラムの条件分岐を,改善額の大小,期間の大小の順に丁寧にたどることがポイントです。