ITパスポート 平成23年度 特別 問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
- エ − −
答えと解説
✓ これが正解ア X X
解説
列②は割引を実行、列④は −1 を代入するので、b も c も X です。
表1は、三つの条件の Y と N の組合せを、①から⑧の列に縦に並べた表です。上から順に、J が範囲内か、K が範囲内か、J+K が 20 より小さいかを見ます。下の欄には、そのときに行う処理が並び、X は実行、− は実行しないことを表します。b は列②にあります。列②は J も K も範囲内で、J+K は 20 より小さくない、つまり 20 枚以上です。購入条件を満たし、割引の条件も満たすので、1 割引の処理を実行し、b は X です。c は列④にあります。列④は J が範囲外なので、購入条件を満たしません。そのため合計金額に −1 を代入する処理を実行し、c も X です。したがって、b・c とも X を並べた肢が正解です。列を縦に読むのが要点で、X は行う処理に入ります。シラバスも、テストに計画と実施と評価のサイクルがあると述べています。
ほかの選択肢の解説
- イ X −:b が X、c が − の組です。列②で 1 割引を実行する点は合っています。しかし列④は、大人の枚数 J が 0 以上 20 以下の範囲から外れています。購入条件を満たさないので −1 を代入する処理を行い、c も X です。
- ウ − X:b が −、c が X の組です。列④で −1 を代入する点は合っています。しかし列②は、J も K も範囲内で、合計が 20 枚以上です。割引の条件を満たすので 1 割引を行い、b も X になります。片方だけが合った組です。
- エ − −:b も c も − の組です。どちらの処理も行わないことになります。ところが列②は割引の条件を満たし、列④は購入条件から外れています。二つとも処理を行うので、両方 X です。正解から最も遠い組です。
関連用語
出典:平成23年度 特別 ITパスポート試験 問94(改変:原典の図表をテキストに書き起こした)
解説は当サイト独自のもので、IPA(独立行政法人情報処理推進機構)とは関係ありません。
同じ分野の問題
誤りを見つけたら報告する