アルゴリズムとプログラミング

ITパスポート試験関数 calculateAmountOfPrize は,業務改善の効果における改善額と短縮期間を,それぞれ…

テクノロジ系アルゴリズムとプログラミング計算問題難易度:normal
関数 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
正解
ウ.3,000

改善額20万円(200000円)は improvement<100000 が偽、短縮期間3日は period<7 が真なので prize=2000。改善額5万円(50000円)は improvement<100000 が真、短縮期間14日は period<7 が偽なので prize=1000。合計は 2000+1000=3000 円となり、ウが正解である。

?選択肢ごとの解説

ア ×1,000 は2件目(5万円・14日)単独の賞金額であり、1件目の2000円を加え忘れている。両方の合計を求める設問の要求を満たさない。
イ ×1,500 は2件とも period<7 が真と誤判定し 500+1000 とした場合などに現れる値で、分岐の取り違えによる誤りである。短縮期間3日・14日の片…
ウ ○改善額20万円(200000円)は improvement<100000 が偽、短縮期間3日は period<7 が真なので prize=2000。改善額5万円(50000円)は improvement<100000 が真、短縮期間14日は period<7 が偽なので prize=1000。合計は 2000+1000=3000 円となり、ウが正解である。
エ ×5,500 は内側の最大値 5000 を含めてしまった誤りである。5000 になるのは improvement≧100000 かつ period≧7…
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。

ITパスポート試験は全2,669問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。

登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。

作成・校閲:ukamiru編集部 · 最終更新 2026-08-15 · ITパスポート試験 過去問 · itpass-r7k-q99

【ITパスポート試験】関数 calculateAmountOfPrize…|正解「3,000」|ukamiru 過去問