過去問ドリル

平成23年度 特別 ITパスポート試験 問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 テストデータと予想結果の一部 テスト番号 | J | K | L 1 | 3 | 2 | 11,000 2 | 15 | 15 | d 3 | 20 | 0 | (表示していない) 4 | 10 | 30 | e (以下省略) (注:本サイトでは原問題の選択肢の表を文字表記に変換しています) (注:本サイトでは原問題の表2を文字表記に変換しています)

出典:平成23年度 特別 ITパスポート試験 問95

正解:イ

解説

テスト番号 2 は J = 15,K = 15 で,どちらも 20 枚以下なので購入条件を満たします。合計金額は 15×3,000 + 15×1,000 = 60,000 円で,合計 30 枚(20 枚以上)なので 1 割引になり,60,000 × 0.9 = 54,000 円です。テスト番号 4 は K = 30 で 20 枚を超えているため購入条件を満たさず,L は −1 になります。

選択肢ごとの解説

  • ア誤り。d の 54,000 は正しいですが,e は K = 30 で購入条件を満たさないので,54,000 ではなく −1 です。
  • イ正しい。d は 60,000 円の 1 割引で 54,000 円,e は購入条件を満たさないので −1 です。
  • ウ誤り。d の 60,000 は割引前の金額で,合計 20 枚以上なので 1 割引の 54,000 になります。e も −1 です。
  • エ誤り。e の −1 は正しいですが,d は割引前の 60,000 ではなく,1 割引後の 54,000 です。
ITパスポートの過去問を演習モードで解く