令和7年度 ITパスポート 問99 解説|擬似言語の賞金額の合計

ITパスポート 公開問題の解説令和7年度 問99最終更新 2026-10-19

分類テクノロジ系 » アルゴリズムとプログラミング » アルゴリズムとプログラミング新しい試験範囲外(2027年度からの新しい試験には出ない分野)年度令和7年度の100問の一覧

関数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円は2件目(5万円・14日)の賞金額だけです。1件目の2,000円が足されていません。

イ× 1件目を500円としています。改善額20万円は10万円より小さくないので外側の else に進み、期間3日で2,000円です。

ウ○ 正解 1件目は外側の else で期間が7日より小さいので2,000円、2件目は外側の if の中で期間が7日以上なので1,000円、合計3,000円です。

エ× 1件目を5,000円、2件目を500円としています。1件目は期間が3日なので2,000円、2件目は期間が14日なので1,000円です。

解説

この関数は、改善額が10万円より小さいかどうかと、短縮期間が7日より小さいかどうかの2つの条件で、賞金額を4通りに分けています。外側の if で改善額を判定して進む枝を決め、その枝の中で短縮期間を判定します。

1件目:improvement=200000,period=3
  200000 が 100000 より小さい → 偽 → 外側の else へ
  3 が 7 より小さい → 真 → prize ← 2000
2件目:improvement=50000,period=14
  50000 が 100000 より小さい → 真 → 外側の if の中へ
  14 が 7 より小さい → 偽 → prize ← 1000
合計:2000 + 1000 = 3000円

20万円・3日は「改善額が大きく期間が短い」組で2,000円、5万円・14日は「改善額が小さく期間が長い」組で1,000円です。

教科書 g37この問題の知識

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

アルゴリズムは問題を解くための手順で、順次・選択・繰返しの3つで組み立てます。流れ図と擬似言語の読み方、変数の値を書き出すトレース、空欄の埋め方、線形探索と2分探索、選択ソート・バブルソート・クイックソートと併合までを、公開問題を解ける形でまとめます。

教科書を読む →同じ分野の過去問を続けて解く(アルゴリズムとプログラミング 17問)

ITパスポートのUdemy講座を口コミで比べる。動画講座3つ・問題集3つ、受講者数・★評価・口コミつき。広告を含むページですITパスポートのUdemy講座を口コミで比べる。動画講座3つ・問題集3つ、受講者数・★評価・口コミつき。広告を含むページです

Udemy の ITパスポート講座を、受講者数・★評価・口コミで比べたページです(広告を含みます)。

過去問教科書の一覧(現行の試験の順)教科書の一覧(新しい試験の順)

出典:IPA「ITパスポート試験 公開問題」令和7年度 問99。問題文と選択肢は改変せずに引用しています(表・図は文字に書き起こしたもの)。正解は IPA 公表の解答例によります。

タイトルとURLをコピーしました