令和7年度 ITパスポート試験 公開問題 問99
テクノロジアルゴリズム擬似言語・プログラム読解
関数 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
解答・解説
正解: ウ. 3,000
提示されたプログラム calculateAmountOfPrize に2つの業務改善の数値を当てはめて、それぞれの賞金額を計算します。
改善額が20万円、短縮期間が3日の場合
- 引数
improvementに 、periodに が渡されます。 - 最初の条件
improvement が 100000 より小さいは偽()となり、else以下の処理に進みます。 - 次の条件
period が 7 より小さいは真()となります。 - したがって、賞金額
prizeは となります。
- 引数
改善額が5万円、短縮期間が14日の場合
- 引数
improvementに 、periodに が渡されます。 - 最初の条件
improvement が 100000 より小さいは真()となります。 - 次の条件
period が 7 より小さいは偽()となり、else以下の処理に進みます。 - したがって、賞金額
prizeは となります。
- 引数
これら二つの賞金額の合計は以下の通りです。
よって、賞金額の合計は 円となります。
各選択肢の解説
- ア:2つ目の業務改善の賞金額( 円)のみとなっているため誤りです。
- イ:両方の改善額が10万円未満だった場合の合計額()などとなっており誤りです。
- ウ:正しい合計額であり、正解です。
- エ:改善額20万円で短縮期間14日の場合()と、改善額5万円で短縮期間3日の場合()を取り違えて合計した場合()の値などであり誤りです。