跳到正文

平成27年度 春期 ITパスポート試験 問99

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

問99
頻出度★★☆

F社では,新製品を開発するに当たり,100人のモニタを募集して市場調査を行った。モニタには,性能,価格,デザインの三つの項目について,それぞれを重視するかどうかを“はい”又は“いいえ”のいずれかで答えてもらった。 モニタから得られた回答は,図1のレコード形式で回答ファイルに登録した。 レコードの項目“性能”,“価格”,“デザイン”には,それぞれ,質問に対する回答が“はい”の場合には1が,“いいえ”の場合には0が記録されている。 回答ファイルの中から,条件に合致するレコード数を表示するために,次の命令が使用できる。 件数表示(条件) ここで,条件には,and,or及び[ ]を組み合わせた複合条件を指定できる。条件の評価は[ ]の中が優先して評価される。また,[ ]の中にさらに[ ]を記述することもできる。 条件を変えて,命令を実行した結果を表1に示す。 表1 命令を実行した結果

条件件数表示命令の実行結果
性能=155
価格=160
デザイン=145
[性能=1]and[価格=1]30
[価格=1]and[デザイン=1]25

表1の結果から,次の命令を実行したときに表示されるレコード数は幾つか。 件数表示([性能=1] or [価格=1])

出典 平成27年度 春期 ITパスポート試験 問99
解説

問 99

※ 编写解析时的验算未能完全确认公布答案;判定仍按 IPA 公布的答案。

  • 错误ア

    60 正是表1中[价格=1]的件数本身。or 所表示的并集不仅包含「重视价格的人」,也包含「重视性能的人」,因此会漏掉不重视价格但重视性能的25人(55-30)。这是直接把其中一个条件的件数当作答案的典型错误。

  • 错误イ

    70 是把表1的行看错时得出的值。例如用[设计=1]的45代替[价格=1]的60,算成 55+45-30=70;或者用受访者总数100减去 and 的30人,算成 100-30=70,都会得到这个值。这两种算法都与题目的条件(性能与价格的 or)不对应,所以是错误的。

  • ウ

    正解 在这个组题中,向100名受访者询问是否重视「性能」「价格」「设计」,回答是则记录1,回答否则记录0。表1的执行结果为:[性能=1]有55条,[价格=1]有60条,[性能=1]and[价格=1]有30条。题目所问的 件数显示([性能=1]or[价格=1])中的 or 是逻辑或,也就是要统计「重视性能的人的集合」与「重视价格的人的集合」的并集(至少满足其中一个条件的人)。此时如果简单地把 55+60 相加,就会把两者都重视的30人重复计算两次。因此要使用容斥原理(并集的元素个数=A+B-A∩B),得到 55+60-30=85。用明细来验证:只重视性能的=55-30=25人,只重视价格的=60-30=30人,两者都重视的=30人,25+30+30=85人,结果一致。所以显示的记录数为85,正确答案是ウ。

  • 错误エ

    115 是把 55+60 直接相加得到的值,它把同时重视性能和价格的30人重复计算了两次。而且受访者总共只有100人,记录数根本不可能达到115。这是忘记减去重叠部分(交集)时的代表性错误答案。

ここがポイント
  • 检索条件中的 or 对应逻辑或=并集,and 对应逻辑与=交集。求件数时要使用容斥原理 |A∪B|=|A|+|B|-|A∩B|,务必去掉同时满足两个条件那部分的重复计算。
  • 从表中读到的值是「各个条件的件数」,而不是互不重叠的明细。[性能=1]的55里已经包含了两者都重视的30人,所以只满足一方的人数要用 55-30=25 这样的减法求出,这样更容易想象(画韦恩图就更有把握)。
用語
解答問99ウ
练这一题

作答记录