過去問ドリル

令和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

出典:令和7年度 ITパスポート試験 問99

正解:ウ

解説

1件目は改善額が20万円(200000)で,100000より小さくないので else 側に進みます。短縮期間は3日で,7より小さいので prize は2000です。2件目は改善額が5万円(50000)で,100000より小さいので上側に進みます。短縮期間は14日で,7より小さくないので prize は1000です。合計は 2000+1000=3000円です。

選択肢ごとの解説

  • ア誤り。1,000は2件目の賞金額だけです。1件目の2,000円を加える必要があります。
  • イ誤り。1,500は500と1,000の合計ですが,1件目は改善額が100000以上なので500にはなりません。
  • ウ正しい。1件目が2,000円,2件目が1,000円で,合計は3,000円です。
  • エ誤り。5,500は500円と5,000円の合計などにあたり,分岐を取り違えた値です。1件目は2,000円,2件目は1,000円です。
ITパスポートの過去問を演習モードで解く