跳到正文

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

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

問97
頻出度★★☆

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

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

次の命令を実行したときに表示されるレコード数は,どのような条件に合致する人数を表しているか。 件数表示([性能=1] and [デザイン=0])

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

問 97

  • 错误ア

    如果想数出「既重视性能又重视设计」的人数,条件就必须写成「件数显示([性能=1] and [设计=1])」,设计一侧也要是 1 才行。本题的命令中设计一侧是 =0,也就是把「不重视设计」作为条件,所以重视设计的人从一开始就被排除在提取对象之外。这个错误选项对 and 的含义理解是正确的,但漏看了 =1 与 =0 的区别(肯定与否定),就容易选到它。

  • イ

    正解 正确答案是「イ 重视性能但不重视设计的监测者人数」。命令「件数显示([性能=1] and [设计=0])」的作用是,只把符合条件式的记录清点出来并显示其条数。这里每位监测者的回答都以「重视=1、不重视=0」这样的二值方式记录,所以 [性能=1] 表示「重视性能」这一条件,[设计=0] 表示「不重视设计」这一条件。把这两者连接起来的 and(逻辑与)是只保留「同时满足两个条件」的运算,因此被筛选出来的只有「重视性能,并且不重视设计」的监测者记录。用集合来理解,就相当于「重视性能的人的集合」与「重视设计的人的集合的补集(即不重视设计的人的集合)」的交集。所以显示出来的记录数,表示的是重视性能且不重视设计的监测者人数。要点有两个:一是 and 表示条件的收窄筛选(两个条件同时成立),二是「=0」表示否定(NOT 重视=不重视)。

  • 错误ウ

    「重视性能或设计中任意一方」这种只要有一个条件成立即可的关系,表示它的是 or(逻辑或),而不是 and。本题命令中使用的 and 是逻辑与,只会筛选出两个条件同时成立的记录。把 and 和 or 弄混,提取出来的集合就会从交集(较窄的范围)变成并集(较宽的范围),含义完全不同,这一点需要注意。另外,严格来说「仅其中一方」对应的是异或(XOR)的思路,这同样与本题的 and 不同。

  • 错误エ

    如果想数出「性能和设计都不重视」的人数,条件就必须写成「件数显示([性能=0] and [设计=0])」,性能一侧也要是 0 才行。本题的命令中性能一侧是 =1,也就是把「重视性能」作为条件,所以不重视性能的人不会被提取出来。这个错误选项容易在只看两个条件中的一个、便草率地认为「既然出现了 =0,那应该是两者都否定吧」时被选中,条件式必须逐个项目确认取值。

ここがポイント
  • 逻辑运算 and(逻辑与)是只筛选出「同时满足两个条件」的记录的运算,用集合来说相当于交集。而 or(逻辑或)则是「只要满足其中任意一个即可」=并集。在解读条件式的含义时,区分 and 与 or 是最重要的一点。
  • 在把回答按「重视=1、不重视=0」这样编码为二值的数据中,[项目=1] 表示肯定,[项目=0] 表示否定(NOT)。解读条件式时,按照「先逐个确认每个项目取的是 1 还是 0,然后再看把它们连接起来的逻辑运算符」这样的顺序去读,就能避免看错。
用語
解答問97イ
练这一题

作答记录