跳到正文

平成28年度 春期 ITパスポート試験 問80

这道题的解析和你的作答记录。

問80
頻出度★★☆

表計算ソフトを用いて,買い物金額に応じたポイント数を計算する。買い物金額が1,000円以下では買い物金額の1%,買い物金額が1,000円を超え3,000円以下では買い物金額の2%,買い物金額が3,000円を超える場合は買い物金額の3%のポイントを付与する。ワークシートのセルA2に買い物金額が入力されるとき,ポイント数が表示されるセルB2に入る数式はどれか。ここで,ポイント数の小数点以下は切捨てとする。

AB
1買い物金額ポイント数
23,350100
出典 平成28年度 春期 ITパスポート試験 問80
解説

問 80

  • 错误ア

    判断顺序为「A2≧3000 →3%」「A2≧1000 →1%」,首先边界方向就错了。规格中恰好 3,000 日元应为 2%,但用 A2≧3000 时 3,000 日元会变成 3%。此外,它把 1%(整数部(A2/100))分配给「超过 1,000 日元~3,000 日元」这一档,把 2%(整数部(A2*2/100))分配给「1,000 日元以下」,1% 与 2% 的对应关系发生了对调。

  • 错误イ

    开头的「A2>3000 →3%」是正确的,但接下来的「A2>1000 →整数部(A2/100)=1%」有误。超过 1,000 日元且 3,000 日元以下的档应为 2%,却返回了 1%。最后一档(A2≦1000)也被分配了 2%(整数部(A2*2/100)),使得 1% 与 2% 两个积分率颠倒了。

  • ウ

    正解 积分率的边界为「1,000 日元以下=1%」「超过 1,000 日元且 3,000 日元以下=2%」「超过 3,000 日元=3%」,关键都在于边界值归入哪一档。选项ウ的形式为 IF(A2≦1000, 整数部(A2/100), IF(A2≦3000, 整数部(A2*2/100), 整数部(A2*3/100))),先判断「A2≦1000」并返回 1%,当其为假(即超过 1,000 日元)时再判断「A2≦3000」并返回 2%,若仍为假(即超过 3,000 日元)则返回 3%。由于通过第一层判断时已确定「超过 1,000 日元」,因此第二层的「A2≦3000」自动表示「超过 1,000 日元且 3,000 日元以下」,与题目规格的分档正确一致。小数部分的舍去由整数部(INT)函数处理。A2=3,350 超过 3,000 日元,故 整数部(3350*3/100)=整数部(100.5)=100,与表中 B2=100 相符。因此正确答案是ウ。

  • 错误エ

    本应用「以下(≦)」判断的地方却用「未满(<)」判断,即「A2<1000」「A2<3000」,因此边界值的处理与规格产生偏差。恰好 1,000 日元本应为 1%,但 A2<1000 为假,会被当作 2%。同样,恰好 3,000 日元本应为 2%,但 A2<3000 为假,会被当作 3%。

ここがポイント
  • 在多级条件分支(嵌套的 IF)中,外层判断已确定了范围的一端,因此内层判断只需一侧的阈值即可正确表示某个区间。将判断从范围的一端(较小或较大的一侧)依次排列是惯用做法。
  • 关键在于严格区分「以下(≦)」「未满(<)」「超过(>)」这几种边界方向。边界值(1,000・3,000)归入哪一档,决定了正误。小数部分的舍去由整数部(INT)函数完成。
用語
解答問80ウ
练这一题

作答记录