平成27年度 春期 ITパスポート試験 公開問題 問100 解説 論理演算と集合演算
次の手続によって得られる結果と同じ結果が得られる命令の記述はどれか。 〔手続〕 (1) 件数表示(価格=1)を実行し、表示される結果をwとする。 (2) 件数表示([性能=1] and [価格=1])を実行し、表示される結果をxとする。 (3) 件数表示([価格=1] and [デザイン=1])を実行し、表示される結果をyとする。 (4) 件数表示([性能=1] and [価格=1] and [デザイン=1])を実行し、表示される結果をzとする。 (5) w-x-y+z を計算する。
- 件数表示([性能=0] and [価格=1] and [デザイン=0]) ✓ 正答
- 件数表示([性能=0] or [価格=1] or [デザイン=0])
- 件数表示([性能=1] and [価格=0] and [デザイン=1])
- 件数表示([性能=1] or [価格=0] or [デザイン=1])
解説
この問題は、集合の包含排除(ほうがいはいじょ)の原理を使って「ある特定の条件を満たす要素だけを抽出する」仕組みを理解しているかを問うものです。
手っ取り早い解き方は、ベン図をイメージすることです。「価格=1」という大きな円から、「性能=1」の部分と「デザイン=1」の部分をそれぞれ引き算します。しかし、この二つを引きすぎると、「性能=1かつデザイン=1かつ価格=1」という中央の重なり部分を二回引いてしまうことになります。そのため、一度引きすぎた分を足し戻すという操作が必要です。
この計算式 が示すのは、「価格=1」である要素のうち、「性能=1」でも「デザイン=1」でもない、純粋な「価格=1」だけの領域です。つまり、条件としては「性能=0 かつ 価格=1 かつ デザイン=0」と一致します。
集合の考え方と包含排除の原理
ITパスポートで登場するこの種の計算は、SQLなどのデータベース検索や、アンケート集計のロジックと深く関わっています。
包含排除の原理とは、複数の集合を合わせたり引いたりする際に、重複している部分を適切に調整するための数学的なルールです。今回の問題に当てはめると、次のような構造になっています。
- :価格重視の全集合
- :価格は重視するが、性能は重視しない集合
- :ここからさらにデザイン重視分を引く(この時点で、性能とデザインの両方を重視する層を過剰に引いてしまっている)
- :引きすぎた分(性能もデザインも価格も全て重視する層)を足し戻して修正する
この手順を踏むことで、「他の条件を一切含まず、その条件だけを満たす」データを抽出することが可能になります。
データベースとマーケティングでの活用
この知識は、実際のビジネス現場で「顧客の絞り込み」を行う際に不可欠です。例えば、ECサイトで「価格だけを重視して商品を選ぶ層」のデータを分析したいとします。
もし単純に「価格重視」の顧客データだけを抽出してしまうと、実は「性能もデザインも重視する層」が含まれてしまい、価格に対する反応を正確に測定できません。今回のように、複数の条件(性能、デザイン)をうまく排除することで、より精度の高いマーケティングデータを得ることができます。
試験的なテクニックとしてだけでなく、「条件を組み合わせたり、引き算したりして、特定のセグメントを抽出する」という論理的思考は、ITエンジニアやデータ分析を行う職種にとって最も基本的なスキルのひとつです。