システム開発技術|平成23年度 特別 ITパスポート試験 問94
〔中問B・プログラミングとテスト〕〔マネジメント〕関数のテストを行うために,条件のすべての組合せと処理を整理したものを表1に示す。表1の b,c に入れる適切な字句の組合せはどれか。
〔中問B の記述(抜粋・再掲)〕チケット販売システムの関数は,大人(1 枚 3,000 円)と子供(1 枚 1,000 円)のチケットの購入希望枚数 J,K を基に合計金額 L を計算する。一度に購入できる枚数はそれぞれ 20 枚までであり,購入条件を満たしていない場合は合計金額に −1 を代入する。合計で 20 枚以上購入する場合は合計金額から 1 割を割り引く。
〔表1 条件のすべての組合せと処理〕当課が書き起こしたもの
| 区分 | 項目 | ① | ② | ③ | ④ | ⑤ | ⑥ | ⑦ | ⑧ |
|---|---|---|---|---|---|---|---|---|---|
| 条件 | J が 0 以上 20 以下 | Y | Y | N | N | Y | Y | N | N |
| 条件 | K が 0 以上 20 以下 | Y | Y | Y | Y | N | N | N | N |
| 条件 | J+K が 20 より小さい | Y | N | Y | N | Y | N | Y | N |
| 処理 | 合計金額を求める | X | X | 網 | 網 | 網 | 網 | 網 | 網 |
| 処理 | 合計金額を 1 割引とする | − | b | 網 | 網 | 網 | 網 | 網 | 網 |
| 処理 | 合計金額に −1 を代入する | − | − | 網 | c | 網 | 網 | 網 | 網 |
注記1 「網」と書いた部分は,原典では網掛けで表示していない箇所である。
注記2 Y は条件に該当し,N は条件に該当しない。X は処理を実行し,− は処理を実行しないことを示す。例えば①の場合,三つの条件に対する結果が Y,Y,Y となったとき,合計金額を求める処理が実行されることを示す。
| b | c | |
|---|---|---|
| ア | X | X |
| イ | X | − |
| ウ | − | X |
| エ | − | − |
- ✓ これが正解X X
- X −
- − X
- − −
解説
条件の並びを縦に読み、行う処理に印を入れていきます。
表は、三つの条件の組み合わせを縦に並べたものでした。上から順に、大人の枚数、子供の枚数、合計の枚数を見ます。下の欄には、そのときに行う処理が並んでいました。前の空欄は、二列目に置かれています。二列目は、二つの枚数がどちらも範囲の内でした。そして合計は、二十より小さくありません。つまり買えるうえに、割り引く条件も満たしています。だから割り引く処理に印が入り、前の空欄は実行でした。後ろの空欄が在るのは、四列目です。四列目は、大人の枚数が範囲の外に出ていました。だから買える条件を満たさず、負の一を入れます。つまり後ろの空欄も実行になりました。だから二つとも実行を並べた肢が当たります。列を縦に読むのが要でした。印は行う処理に入ります。シラバスも、テストに計画と実施と評価の巡りが在ると述べています。
ほかの選択肢はなぜ違うのか
- 前だけを実行にした肢のほうです。割り引く処理のほうは、正しく置かれていました。ところが四列目は、大人の枚数が範囲の外です。買える条件を満たさないので、負の一を入れます。後ろも実行になりました。片方だけが合った組です。
- 後ろだけを実行にした肢が、こちらです。負の一を入れる処理は、合っていました。けれども二列目は、二つとも範囲の内に在ります。しかも合計が二十以上なので、割り引きました。前も実行になります。やはり片方だけでした。前も印が入ります。
- 二つとも実行しない肢が、こちらに当たります。どちらの列も、印が入らない形になりました。ところが二列目は割引の条件を満たしています。四列目は買える条件から外れていました。二つとも実行されます。最も遠い組でした。
この問題に関係する言葉
- テスト決めたとおりに動くかを、実際に動かして確かめる作業のこと。何を確かめるかによって移行テスト、システムテストなどと呼び分けます。
出典:平成23年度 特別 ITパスポート試験 問94(改変:原典の図表をテキストに書き起こした)
同じ単元をまとめて解くならシステム開発技術へ。
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)