システム開発技術|平成23年度 特別 ITパスポート試験 問95
〔中問B・プログラミングとテスト〕〔マネジメント〕関数をテストするために用意したテストデータと予想結果の一部を表2に示す。表2の d,e に入れる値の組合せはどれか。
〔中問B の記述(抜粋・再掲)〕チケット販売システムの関数は,大人(1 枚 3,000 円)と子供(1 枚 1,000 円)のチケットの購入希望枚数 J,K を基に合計金額 L を計算して返す。
1. 一度に購入できる枚数は大人・子供それぞれ 20 枚までであり,この購入条件を満たしていない場合,合計金額に −1 を代入する。
2. 購入条件を満たしている場合,合計金額 = J×3,000 + K×1,000 を計算する。
3. チケットを合計で 20 枚以上購入した場合は,合計金額から 1 割を割り引く。
〔表2 テストデータと予想結果の一部〕当課が書き起こしたもの
| テスト番号 | J | K | L |
|---|---|---|---|
| 1 | 3 | 2 | 11,000 |
| 2 | 15 | 15 | d |
| 3 | 20 | 0 | 網 |
| 4 | 10 | 30 | e |
注記 「網」と書いた部分は,原典では網掛けで表示していない箇所である。
| d | e | |
|---|---|---|
| ア | 54,000 | 54,000 |
| イ | 54,000 | −1 |
| ウ | 60,000 | 54,000 |
| エ | 60,000 | −1 |
- 54,000 54,000
- ✓ これが正解54,000 −1
- 60,000 54,000
- 60,000 −1
解説
買える組は式で計算し、買えない組は負の一になります。
表には、渡す値と返るはずの値が並べられていました。前の空欄は、大人も子供も十五枚の場合です。どちらも二十枚までなので、買える条件は満たします。だから式に当てて、合計を出しました。大人の分が四万五千円、子供の分が一万五千円です。足して六万円になりますが、まだ終わりません。合計の枚数は三十枚なので、二十枚を超えています。だから一割を引いて、五万四千円になりました。後ろの空欄は、子供が三十枚の場合です。上限を超えた組は、そもそも通りません。だから買える条件を満たさず、負の一が返りました。だから五万四千円と負の一を並べた肢が当たります。割り引く手を落とすと、六万円のほうへ寄りました。三つの手を順に当てます。買えない組は式に入りません。シラバスも、テストデータの作成と分析を活用の例に挙げています。
ほかの選択肢はなぜ違うのか
- 五万四千円を二つ並べた組のほうです。前の空欄は、正しく置かれていました。ところが後ろの値は、子供が上限を超えた場合でした。二十枚までという条件を超えていました。買えない組にあたります。返るのは負の一です。買えない組でした。
- 六万円と五万四千円を並べた組です。前の空欄で、割り引く手が抜けていました。合計の枚数は三十枚で、二十枚を超えています。しかも後ろは、買えない組でした。二つとも外れています。最も遠い組です。二つとも外れます。
- 六万円と負の一を並べた組が、こちらです。後ろの空欄は、正しく置かれていました。けれども前で、割り引く手が抜けています。三十枚買っているので、一割が引かれました。片方だけが合った組です。三つ目の手が残っています。割引が残ります。
この問題に関係する言葉
- テストデータ
出典:平成23年度 特別 ITパスポート試験 問95(改変:原典の図表をテキストに書き起こした)
同じ単元をまとめて解くならシステム開発技術へ。
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)