問題
関数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
選択肢
- 11,000
- 21,500
- 33,000
- 45,500
正解
3. 3,000
詳しい解説を見る解説を閉じる
解説
1件目:improvement=200000(20万円)≥100000、period=3<7。else枝に入り、内側のif(period<7)が真なのでprize=2000円。2件目:improvement=50000(5万円)<100000、period=14≥7。最初のif(improvement<100000)が真、内側のif(period<7)は偽なのでprize=1000円。合計:2000+1000=3000円。よってウの3,000が正解。アの1,000は2件目のみ、イの1,500やエの5,500は条件分岐の解釈を誤った場合の値である。条件分岐をプログラムの流れに沿って正確にたどることが重要である。(出典: 令和7年度分 ITパスポート試験 問99)
記憶定着問題
全200問を繰り返し学習