令和7年度 ITパスポート 問99(テクノロジ)
出典:令和7年度 ITパスポート試験 公開問題 問99(独立行政法人情報処理推進機構(IPA))
関数calculateAmountOfPrizeは,業務改善の効果における改善額と短縮期間を,それぞれimprovementとperiodで受け取り,賞金額を戻り値とする。改善額が20万円で短縮期間が3日の業務改善と,改善額が5万円で短縮期間が14日の業務改善があった。この二つの賞金額の合計は何円か。ここで,改善額と短縮期間の値はそれぞれ0以上とする。
〔プログラム〕
○整数型: calculateAmountOfPrize(整数型: improvement, // 改善額(円)
整数型: period) // 短縮期間(日)
整数型: prize // 賞金額(円)
if (improvement が 100000 より小さい)
if (period が 7 より小さい)
prize ← 500
else
prize ← 1000
endif
else
if (period が 7 より小さい)
prize ← 2000
else
prize ← 5000
endif
endif
return prize
- ア1,000
- イ1,500
- ウ3,000
- エ5,500
正解と解説を見る
正解:ウ
【プログラムの動き】
関数calculateAmountOfPrizeは、改善額(improvement)と短縮期間(period)によって、賞金額を次のように決めます。
・改善額が10万円より小さい:短縮期間が7日より小さければ500円、7日以上なら1,000円
・改善額が10万円以上:短縮期間が7日より小さければ2,000円、7日以上なら5,000円
【2つの業務改善の賞金額】
・改善額20万円・短縮期間3日:改善額は10万円以上、短縮期間は7日より小さいので、2,000円
・改善額5万円・短縮期間14日:改善額は10万円より小さく、短縮期間は7日以上なので、1,000円
合計は 2,000 + 1,000 = 3,000(円)です。
【選択肢の検討】
ア:1,000円は、改善額5万円の業務改善の賞金額だけです。
イ:1,500円は、改善額20万円の業務改善を、改善額が10万円より小さい側の500円とした場合です。
エ:5,500円は、短縮期間の判定を逆にした場合(5,000円と500円)です。
よって、正解は選択肢ウです。