本文へスキップ

平成22年度 秋期 ITパスポート試験 問91

この問題の解説と、これまでの解答の記録です。

問91
頻出度★★★

M さんは,総務課の N さんから宅配荷物の発送業務で利用する料金計算プログラム(以下,プログラムという)の作成を依頼された。そこで,N さんから聞いた料金計算の方法を基に次のように要件をまとめ,プログラムを作成した。 (1) 料金はサイズ区分と発送先の地区から表1の料金表で求める。サイズ区分は荷物の3辺計(荷物の縦,横,高さの長さの合計で1cm単位)と重量(1kg単位)を比較し,どちらか大きい方の区分を適用する。 なお,3辺計が140cm又は重量が20kgを超える荷物は受け付けない。 (2) 荷物の3辺計と重量,発送先の地区(A~D)を入力すると,料金を出力する。 表1 料金表(単位 円)

区分3辺計(cm)重量(kg)ABCD
180まで5まで1,3009501,1501,800
2100まで10まで1,6001,2001,4002,350
3140まで20まで2,0001,6001,8003,400

M さんは,プログラムを N さんに引き渡す前にテストを行うことにした。 テストに当たり,表2の出力結果表を作成し,これに基づいてテストデータを準備した。表2は,入力データが各列に示す Yes の組合せに該当する値であるときの正しい出力を,欄“予想出力”に記入したものである。 表2 出力結果表

123456…36
地区AYesYesYesYesYesYes…
B…
C…
D…Yes
3辺計(cm)80までYesYesYes…
100までYesYesYes…
140まで…Yes
重量(kg)5までYesYes…
10までYesYes…
20までYesYes…Yes
予想出力(円)a…
↑ b↑ c

注 網掛けの部分は,表示していない。 次の表は,テストデータ(地区,3辺計,重量)を用いて実際にテストを行った結果の一部である。この結果の判断として,適切なものはどれか。

地区3辺計(cm)重量(kg)出力結果(円)
C6051,400
C10181,800
D6052,350
D10183,400
出典 平成22年度 秋期 ITパスポート試験 問91
解説

問 91

  • ア

    正解 料金は「3辺計から決まる区分」と「重量から決まる区分」を別々に求め、大きい方の区分を表1に当てはめて決まる。1行目の C・3辺計60cm・重量5kg は、60cm が区分1(80まで)、5kg も区分1(5まで)なので適用区分は区分1、正しい料金は地区Cの 1,150 円である。ところが出力は 1,400 円、これは表1の区分2・地区C の値であり誤っている。3行目の D・60cm・5kg も同様に区分1で 1,800 円のはずだが、出力は 2,350 円(区分2・地区D)で誤っている。一方 2行目の C・101cm・8kg は 101cm が区分3(140まで)、8kg が区分2で大きい方の区分3が適用され 1,800 円、4行目の D・101cm・8kg も区分3で 3,400 円となり、どちらも出力と一致していて正しい。つまり誤りが出ているのは 3辺計60cm・重量5kg の入力のときだけなので、アが適切である。

  • 不正解イ

    区分3が適用されるのは 3辺計101cm の2行(C→1,800円、D→3,400円)で、いずれも表1の区分3の値と完全に一致しており正しい。誤っているのはむしろ区分1が適用されるべき 60cm・5kg の行なので、区分3のときに誤りがあるという判断は逆である。

  • 不正解ウ

    C・60cm・5kg は 1,150 円、D・60cm・5kg は 1,800 円が正しい料金であり、実際の出力 1,400 円・2,350 円と食い違っている。4行のうち2行で期待値と出力が異なるので、誤りが無いとは言えない。

  • 不正解エ

    誤りは地区Cだけでなく地区Dにも出ている。D・60cm・5kg の出力 2,350 円も、正しい 1,800 円(区分1・地区D)から1段階上の区分2の値になっており誤りである。誤りの切り分けは地区ではなく、3辺計60cm・重量5kg という入力の側にある。

ここがポイント
  • サイズ区分は3辺計と重量それぞれで区分を判定し、大きい方を採用する。「80まで」「5まで」は境界値を含むので、60cm・5kg は区分1になる(区分2ではない)。
  • テストの合否判定は、期待出力を先に作り実際の出力と突き合わせて誤りの共通パターンを読み取る作業である。ここでは「区分1のはずが区分2の料金になる」誤りが地区に関係なく現れており、原因を入力条件の側で特定できる。
用語

解答の記録