- トップページ
- ITパスポート
- 平成23年度特別問題一覧
- 平成23年度特別問題95-解答・解説-分析
平成23年度特別問題
問題95
【中間B】 プログラミングとテストに関する次の記述を読んで、問93~96に答えよ。
Q社のRさんは、チケット販売システムの開発で使用する関数のプログラミングとテストを実施しようとしている。この関数は、大人と子供のチケットの購入希望枚数を基に、合計金額の計算を行う。大人のチケットは3,000円、子供のチケットは1,000円である。一度に購入できる大人と子供のチケットの最高枚数は、それぞれ20枚までであり、関数はこの購入条件を満たしているかどうかをチェックする。また、合計で20枚以上購入する場合、割引処理を行う。関数の仕様と処理内容は次のとおりである。
[関数の仕様] |
関数に引き渡される引数 |
J:大人のチケットの購入希望枚数、K:子供のチケットの購入希望枚数 (J,Kは0以上の整数) |
[関数の戻り値] |
L:合計金額(Lは整数) |
[処理内容] | |
(1) | 購入希望枚数を基に、購入条件を満たしているかどうかを判定する。購入条件を満たしていない場合、合計金額に-1を代入する。 |
(2) | 購入条件を満たしている場合、引数を基につぎのとおりに合計金額の計算を行う。 合計金額=大人のチケットの購入希望枚数×3,000+子供のチケットの購入希望枚数×1,000 |
(3) | チケットを合計で20枚以上購入した場合は、合計金額から1割を割り引く。 |
関数をテストするために用意したテストデータと予想結果の一部を表2に示す。表2のd,eに入れる値の組合せはどれか。
関数をテストするために用意したテストデータと予想結果の一部を表2に示す。表2のd,eに入れる値の組合せはどれか。
解答:イ
<解説>
下記より、イが正解である。
【dについて】
dは、下記のとおりである。。
- J=15,K=15なので、0≦J≦20 かつ 0≦K≦20の条件に該当するので、購入条件を満たしている。
- 合計の枚数が20枚以上のため、合計金額を1割引とする
よって
(3000×15+1000×15)×0.9 = (45,000+15,000)+0.9 = 60,000×0.9 = =54,000 となる。
【eについて】
eは、下記のとおりである。。
- J=10,K=30なので、0≦J≦20 かつ 0≦K≦20の条件に該当しない、購入条件を満たしていない。
よって-1となる。
分類
お問い合わせ