“男性のうち, 20歳未満の人と65歳以上の人” に関する情報を検索するための検索式として, 適切なものはどれか。
平成25年度 秋期 ITパスポート試験 問54
这道题的解析和你的作答记录。
問 54
错误ア
男性 AND(未满20岁 AND 65岁及以上)表示的是:既是男性,又未满20岁,同时还要65岁及以上的人。但未满20岁和65岁及以上是互不重叠的年龄层,把这两者用 AND 连接后,同时满足条件的人一个也不存在,检索结果必定为空。这是把日语中的「和」直接换成 AND 的典型错误。
- イ
正解 正确答案是イ。构造检索式时,要把自然语言的条件句换成集合运算来思考。AND(逻辑与)是只筛选出同时满足两个条件的对象的运算,OR(逻辑或)是把满足其中任意一个条件的对象全部收集起来的运算。把题目中的「男性当中,未满20岁的人和65岁及以上的人」拆开来看:首先,「男性当中」表示限定在男性这个集合之内,属于筛选,因此性别条件要用 AND 连接。其次,「未满20岁的人和65岁及以上的人」的意思是想把未满20岁与65岁及以上这两个年龄层一并作为对象,只要属于其中任意一个就算符合,因此要用 OR 连接。由于年龄条件之间必须先合并成一个整体再求值,所以用括号括起来,再把这个整体与男性用 AND 连接。这样就得到 男性 AND(未满20岁 OR 65岁及以上)这个式子,与イ一致。该式取出的集合,是未满20岁的男性和65岁及以上的男性这两部分合在一起,正符合题目的意图。
错误ウ
男性 OR(未满20岁 AND 65岁及以上)中,括号内如上所述是无人符合的条件,因此这个式子实际上等同于只检索「男性」。结果就是不论年龄如何,所有男性都会被抽取出来,其中还包含20岁及以上、未满65岁的男性,因而不满足题目的条件。由于按年龄的筛选没有起作用,所以是错误的。
错误エ
男性 OR(未满20岁 OR 65岁及以上)把所有条件都用 OR 连接,因此只要是男性、或者未满20岁、或者65岁及以上,符合其中任意一条就会被抽取出来。结果除了全体男性之外,还会把未满20岁的女性和65岁及以上的女性也包含进来,「男性当中」这一筛选就失效了。性别条件必须用 AND 连接,所以是错误的。
- 检索式中逻辑运算的基础:AND(逻辑与)只把同时满足多个条件的对象筛选出来,因此对象范围变窄;OR(逻辑或)把满足其中任一条件的对象收集起来,因此对象范围变宽。日语中的「〜のうち(〜当中)」「〜かつ(〜并且)」对应 AND,「〜または(〜或者)」「〜のいずれか(〜之中任一)」对应 OR。
- 日语中的「と(和)」根据上下文既可能是 AND,也可能是 OR。像「未满20岁的人和65岁及以上的人」这样并列的是互不相容(互不重叠)的条件时,意思是想把两者一并收集起来,因此是 OR。可以用这样的验算来判断正误:把互不相容的条件用 AND 连接,结果就会成为空集。另外,为了明确运算的先后顺序,把 OR 的部分用括号括起来这一点也很重要。