※このページには広告(PR)が含まれます

ITパスポート 令和7年度 問99 の解説テクノロジ系/アルゴリズムとプログラミング

正解はウ。それぞれの賞金額(2,000円と1,000円)を正しく算出し、その合計(3,000円)と一致するため適切です。

関数 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 end if return prize

この設問が問うていること

ネスト(入れ子)構造を持つ条件分岐プログラムの処理結果をトレースする計算設問です。

ア1,000
選択肢アの解説: 2つのケースの賞金額を正しく計算できていないため不適切です。
イ1,500
選択肢イの解説: 改善額5万円・短縮14日の計算(1,000円)と、改善額20万円・短縮3日の計算(誤って500円などとした場合)の誤った合計であるため不適切です。
ウ3,000正解
選択肢ウの解説: それぞれの賞金額(2,000円と1,000円)を正しく算出し、その合計(3,000円)と一致するため適切です。
エ5,500
選択肢エの解説: 誤った分岐ルートを通って加算した数値であるため不適切です。

総合解説

2つのケースについて、プログラムの条件分岐に当てはめて賞金額を算出します。1.【改善額20万円(200,000円)、短縮期間3日の場合】`improvement`が100,000円以上のため、外側の`else`に入ります。`period`(3日)が7未満のため、内側の`if`に入り、`prize`は2,000円になります。2.【改善額5万円(50,000円)、短縮期間14日の場合】`improvement`が100,000円未満のため、外側の`if`に入ります。`period`(14日)が7以上のため、内側の`else`に入り、`prize`は1,000円になります。2つの賞金額の合計は「2,000円 + 1,000円 = 3,000円」となり、正解は選択肢cです。

執筆・監修: はるのパパ(運営者)更新日: 2026-07-05出典: ITパスポート試験 令和7年度 問99(IPA)

アルゴリズムとプログラミングをまとめて学ぶ

アルゴリズムとプログラミング 重点教科書 →

データ構造・擬似言語・探索と整列アルゴリズム・プログラム言語・HTML/XML/JSONまで、ITパスポートのアルゴリズム分野を体系的に解説します。

令和7年度を本番同様のCBT形式で解いてみよう

無料登録なしでも一部体験可能。登録すれば採点・弱点分析・AI教科書まで使えます。

令和7年度の過去問CBTを解く
PR(資格スクエア)

苦手な分野を講座で体系的に学び直すなら

🎓

資格スクエア ITパスポート講座

体系的に学び直すなら。オンライン講座で基礎知識から解き方のコツまで、順を追って一気通貫で学べます。