戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

ITパスポート 2012年 春期 58


問題文

次の“商品”表から、仕入先が“A社”で価格が140円以上の商品、及び仕入先が“B社”で価格が170円以下の商品を抽出した。得られた商品名だけを全て挙げたものはどれか。
ITパスポート 2012年 春期  問58の問題画像

選択肢

ケーキ、イチゴ、コーヒー
ケーキ、イチゴ、ジュース
チョコレート、リンゴ、コーヒー(正解)
チョコレート、リンゴ、ジュース

🔒 解説は解答すると表示されます

次の“商品”表から条件に合う商品を抽出する問題【ITパスポート 解説】

正解の理由

条件は「仕入先が“A社”で価格が140円以上」または「仕入先が“B社”で価格が170円以下」です。表を行ごとに見て当てはまるかを判定すると、A社では「チョコレート(150円)」「リンゴ(190円)」が条件を満たし、B社では「コーヒー(160円)」が条件を満たします。したがって商品名だけを並べると「チョコレート、リンゴ、コーヒー」となり、これが選択肢の に対応します。

解法ステップ

  1. 条件をはっきりさせる
    • 条件A:仕入先 = A社 かつ 価格 >= 140
    • 条件B:仕入先 = B社 かつ 価格 <= 170
      ※「かつ」は両方の条件を同時に満たすことを意味します。A社かB社かのどちらかに該当し、さらに価格条件も満たす行を抽出します(A社の条件とB社の条件は「または」で結ぶ)。
  2. 表の各行を順に確認する(見落としを防ぐため左から右へ1行ずつ)
    • S001 チョコレート:仕入先 A社、価格150 → A社かつ150>=140 → 抽出する
    • S002 ケーキ:仕入先 B社、価格260 → B社だが260>170 → 抽出しない
    • S003 カステラ:仕入先 C社 → 仕入先がA社でもB社でもない → 抽出しない
    • S004 リンゴ:仕入先 A社、価格190 → A社かつ190>=140 → 抽出する
    • S005 イチゴ:仕入先 B社、価格220 → 220>170 → 抽出しない
    • S006 メロン:仕入先 C社 → 抽出しない
    • S007 ジュース:仕入先 A社、価格120 → 120<140 → 抽出しない
    • S008 コーヒー:仕入先 B社、価格160 → B社かつ160<=170 → 抽出する
    • S009 ビール:仕入先 C社 → 抽出しない
  3. 抽出結果を商品名だけ列挙する
    → チョコレート、リンゴ、コーヒー(選択肢の と一致)

選択肢別の誤答解説

  • ア: ケーキ、イチゴ、コーヒー
    誤り理由:ケーキ(B社、260円)とイチゴ(B社、220円)はどちらもB社ですが、価格が170円以下という条件を満たしていません。コーヒーだけ正しいです。
  • イ: ケーキ、イチゴ、ジュース
    誤り理由:ケーキとイチゴは価格が170円以下でないため除外。ジュース(A社、120円)はA社ですが140円以上の条件を満たしません。つまり全て条件外です。
  • ウ: チョコレート、リンゴ、コーヒー
    解説:上の通り、A社かつ価格>=140 のチョコレート(150)とリンゴ(190)、B社かつ価格<=170 のコーヒー(160)で正しい組合せです。正答は です。
  • エ: チョコレート、リンゴ、ジュース
    誤り理由:チョコレートとリンゴは正しいですが、ジュースはA社でも価格が120で条件(>=140)を満たしません。よって誤りです。

よくある誤解

  • 「仕入先がA社かつB社」だと考える誤り
    説明:仕入先は1つの値(A社かB社か)しか取れません。問題の意味は「A社かB社のどちらかのグループで、それぞれ別の価格条件がある」つまり (A社 の条件) または (B社 の条件) という構造です。
  • 境界値(140、170)を含むか迷う
    説明:問題文の表現「140円以上」「170円以下」はそれぞれ >=140、<=170 を意味します。140や170ちょうどは条件を満たします。
  • 行を飛ばしてチェックすることで見落とす
    説明:表では似たような項目が並ぶため、必ず1行ずつ順に確認すると安全です。

補足コラム

データ抽出の考え方は現場でもよく使います。たとえばデータベースや表計算ソフトで同じ条件を使って絞り込めます。
  • SQL(Structured Query Language:構造化問合せ言語)の例(データベースで使う言語)
SELECT 商品名
FROM 商品表
WHERE (仕入先 = 'A社' AND 価格 >= 140)
   OR (仕入先 = 'B社' AND 価格 <= 170);
  • Excel(表計算ソフト)の場合の考え方(関数の例)
    • 列に条件を満たすかどうかを判定する補助列を作り、フィルターでTRUEを抽出する方法がシンプルです。判定式の例(価格が列C、仕入先が列Dで行2の場合):
      =OR(AND(D2="A社", C2>=140), AND(D2="B社", C2<=170))
どちらも「条件を組み合わせて真(True)か偽(False)かを判定する」考え方が共通です。

FAQ

Q1. 条件の「または」はどのように扱えばよいですか?
A1. 今回は「(A社でかつ価格条件)または(B社でかつ価格条件)」です。A社もB社も同時に満たす必要はありません。いずれかのグループの条件を満たせば抽出します。
Q2. 価格がちょうど140円や170円の場合はどうなりますか?
A2. 「140円以上」「170円以下」は境界を含みます。つまり140円は含み、170円も含みます。
Q3. 仕入先がC社のデータは無視してよいですか?
A3. はい。条件に仕入先C社は含まれていないので抽出対象外です。

関連キーワード: データ抽出、条件フィルタ、論理演算(AND/OR)、境界条件、表計算
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

ITパスポート
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について