ITパスポート試験 ITパスポート 2011年 (平成23年 特別)96: [中問B] [テクノロジ] 問96 1日券,2日券といった日数の異なる種類のチケットの金額計算に対応できるように,[処理内容]の(2)及び関数の仕様を変更し,引

ITパスポート 2011年 (平成23年 特別)
Q 9696 / 100
[中問B] [テクノロジ] 問96 1日券,2日券といった日数の異なる種類のチケットの金額計算に対応できるように,[処理内容]の(2)及び関数の仕様を変更し,引数にチケットの日数を表すMを追加した。Mには使用できる日数が入る。種類別のチケット金額を設定する配列をTP(M, N)とする。Nは大人の場合は1,子供の場合は2とする。配列の値は次のとおりである。引数がJ=10,K=20,M=2のときの合計金額は何円か。 なお,関数は,引数に応じてこの配列を参照し,チケット金額を決定する。 [配列の値] TP(1, 1) = 3,000, TP(1, 2) = 1,000 TP(2, 1) = 4,000, TP(2, 2) = 1,500 TP(3, 1) = 5,000, TP(3, 2) = 2,000
この問の正解率:62.66%(723件)
この問題の本文・選択肢・正解・解説(展開)

問題本文

[中問B] [テクノロジ] 問96 1日券,2日券といった日数の異なる種類のチケットの金額計算に対応できるように,[処理内容]の(2)及び関数の仕様を変更し,引数にチケットの日数を表すMを追加した。Mには使用できる日数が入る。種類別のチケット金額を設定する配列をTP(M, N)とする。Nは大人の場合は1,子供の場合は2とする。配列の値は次のとおりである。引数がJ=10,K=20,M=2のときの合計金額は何円か。 なお,関数は,引数に応じてこの配列を参照し,チケット金額を決定する。 [配列の値] TP(1, 1) = 3,000, TP(1, 2) = 1,000 TP(2, 1) = 4,000, TP(2, 2) = 1,500 TP(3, 1) = 5,000, TP(3, 2) = 2,000

選択肢

  • .45,000
  • .50,000
  • .63,000
  • .70,000

正解

. 63,000

解説

M=2(2日券)。配列TP(2,1)=4,000(大人2日券)、TP(2,2)=1,500(子供2日券)。合計金額=10×4,000+20×1,500=40,000+30,000=70,000。J+K=30≧20で1割引→70,000×0.9=63,000。配列の参照を正しく行い、割引適用を忘れないことがポイント。Mに応じて配列を変えるため、二次元配列の参照が鍵となる。

選択肢ごとの解説

  • .不正解。45,000は1日券の金額(10×3,000+20×1,000=50,000)を1割引にした近い値だが、Mを誤って解釈している。M=2なのに1日券価格を使った誤り。
  • .不正解。50,000は1日券の合計だが、Mが2(2日券)なのでTP(2,1)とTP(2,2)を使う必要がある。配列参照の対象を間違えている。
  • .正解。10×4,000(大人2日券)+20×1,500(子供2日券)=70,000を1割引(30枚以上なので)=63,000。配列参照と割引適用を正しく行う総合的計算。
  • .不正解。70,000は割引前の金額。30枚は20以上なので必ず1割引が適用されるはずで、割引の適用漏れによる誤り。

ITパスポート 2011年 (平成23年 特別)過去問一覧へ戻る・問96