基本情報の論理演算と真理値表|AND・OR・XORをやさしく攻略

基本情報の論理演算と真理値表を学ぶ学習机

基本情報の論理演算と真理値表は、基礎理論の中でも「見た瞬間に苦手」と感じやすいテーマです。AND、OR、XOR、NOTという名前は覚えたのに、問題文になるとどの列を見ればよいのか分からなくなる人も多いですね。

ただ、論理演算は暗記だけで押し切る分野ではありません。条件を0と1に置き換え、入力の組み合わせを表に並べ、出力を一つずつ確認するだけでかなり安定します。この記事では、基本情報の論理演算と真理値表を、試験で使える形に絞って整理します。

この記事のポイント
  • 論理演算は条件を0と1で計算する考え方
  • AND・OR・XOR・NOTは出力条件で見分ける
  • 真理値表は入力列から順番に埋めると崩れにくい
  • 科目Bでは条件分岐やトレースの読み取りにもつながる
無料

基本情報技術者試験 過去問アプリ

本番形式で繰り返し解ける。スキマ時間に1問から

2,000問以上収録
無料で過去問を解く
目次

基本情報の論理演算と真理値表の基本

基本情報の論理演算の基本をスイッチで理解するイメージ

論理演算は条件の計算

論理演算とは、条件が成り立つかどうかを「真」か「偽」で扱う計算です。基本情報では、真を1、偽を0として表すことが多く、二つの条件を組み合わせたときに結果が1になるか0になるかを問われます。たとえば「AもBも満たす」「AまたはBを満たす」「Aだけ、またはBだけを満たす」といった読み取りが、AND、OR、XORの違いにつながります。

ここで大事なのは、論理演算を数学の難しい公式として見ないことです。実際には、試験会場でやることはかなり地道です。条件Aが0か1、条件Bが0か1、その組み合わせを並べて、演算のルールに沿って出力を書きます。この作業に慣れると、見た目が回路図でも、プログラムのif文でも、集合の問題でも、同じ考え方で処理できます。

用語としては、ANDは論理積、ORは論理和、XORは排他的論理和、NOTは否定と呼ばれます。日本語名で出ても英語名で出ても、出力が1になる条件を思い出せるようにしておくのがポイントです。

基本情報の基礎理論が全体的に苦手な場合は、先に基本情報技術者試験の基礎理論が難しい人向けの勉強法で、基礎理論の中でどこから固めるかを整理しておくと進めやすいです。論理演算はその中でも、表に落とし込めば得点源にしやすい分野かなと思います。

ANDとORの違い

ANDとORは、論理演算の最初のつまずきポイントです。ANDは「AとBの両方が1のときだけ1」、ORは「AかBの少なくとも一方が1なら1」と考えます。日本語の「かつ」「または」と対応させると分かりやすいですね。試験では、センサAとセンサB、条件Pと条件Qのように、二つの条件を文章で与えてくることがあります。

ANDは条件が厳しい演算です。AもBも満たさないと出力が1にならないので、表では1になる行が少なくなります。逆にORは条件がゆるい演算です。Aだけでも、Bだけでも、AとBの両方でも1になるので、表では1になる行が多くなります。この「厳しい」「ゆるい」という感覚を持つだけでも、選択肢を消しやすくなります。

ABA AND BA OR B
0000
0101
1001
1111

迷ったときは、全部を暗算しようとせず、上の4行を手元に再現してください。2入力の真理値表は組み合わせが4通りしかありません。Aを0、0、1、1の順に並べ、Bを0、1、0、1の順に並べるだけで土台ができます。そこにANDとORのルールを書き込めば、文章問題でも選択肢問題でも落ち着いて対応できます。

NOTとXORの違い

NOTは、入力を反転させる演算です。Aが1ならNOT Aは0、Aが0ならNOT Aは1になります。言葉で考えると「条件Aを満たさない場合」と読むと自然です。NOTは単独で問われるだけでなく、ANDやORと組み合わされて「Aではない、かつB」「AまたはBではない」のような形で出ることがあります。

XORは、基本情報で特に間違いやすい演算です。XORは「AとBのどちらか一方だけが1のときに1」になります。AもBも1のときは、ORなら1ですが、XORなら0です。ここを混同すると、選択肢がかなり似て見えます。日本語では排他的論理和と呼ばれ、「どちらか片方だけ」という排他的な条件だと押さえると覚えやすいです。

ABA XOR B見方
000どちらも違う
011Bだけ当てはまる
101Aだけ当てはまる
110両方なので除外

ORとXORの違いは「両方1の行」を見ると一発で判断できます。両方1で出力も1ならOR、両方1で出力が0ならXORです。

論理演算のORとXORの違いを比較するイメージ

真理値表の見方

真理値表は、入力のすべての組み合わせと、そのときの出力を一覧にした表です。2入力なら4行、3入力なら8行、4入力なら16行になります。基本情報では、いきなり複雑な表に見えることがありますが、最初に見るべきなのは列の名前です。入力列、途中計算列、最終出力列を分けて読むと、何を求めればよいのかが見えやすくなります。

真理値表の良いところは、条件を全部並べれば考え漏れが減ることです。頭の中だけで「たぶんこの場合は1」と処理すると、0と1の組み合わせを一つ飛ばしがちです。特にNOTが混ざると、入力を反転させた途中列が必要になります。先に途中列を作ってから、最後にANDやORをかける流れにすると、複合条件でも崩れにくいです。

真理値表の読み方

入力列を確認し、途中計算列を作り、最後に出力列を判定します。演算子を左から見て一気に処理するより、列を増やして小分けにする方がミスを減らせます。

表の行数も試験中の判断材料になります。2入力の問題なのに、選択肢の表が8行ある場合は、どこかに3つ目の条件や途中列が含まれている可能性があります。逆に3入力なのに4行だけで判断しようとしていると、入力の組み合わせを落としているかもしれません。真理値表は「全部のケースを並べる道具」と考えると、行数への違和感にも気づきやすくなります。

出題範囲とのつながり

論理演算と真理値表は、基礎理論だけで閉じた知識ではありません。基本情報では、集合、論理回路、ビット演算、条件分岐、アルゴリズムのトレースなど、複数の分野にまたがって出てきます。公式の試験要綱やシラバスを確認するときは、用語を丸暗記するより、どの分野で使われる考え方なのかを意識すると理解がつながります。

最新の出題範囲はIPAの試験要綱・シラバスで確認できます。ただし、学習の最初から公式資料を細かく読み込む必要はありません。まずはAND、OR、XOR、NOTの出力条件を使える状態にし、そのあと過去問や演習で「この問題はどの演算を聞いているのか」を確認する方が、初学者には続けやすいです。

  • 集合の共通部分はANDに近い
  • 集合の和集合はORに近い
  • ビット演算では各桁ごとに論理演算する
  • 条件分岐では真偽の組み合わせを読む

このように見ると、論理演算は「一つの記事を読んで終わり」の単元ではなく、他の問題を解くための下地です。苦手なままにしておくと、後で科目Bの条件分岐やトレース表でも同じところで止まりやすくなります。逆にここで基本を固めておくと、複数の分野で少しずつ点が拾えるようになります。

基本情報の論理演算と真理値表の解き方

基本情報の真理値表を手順に沿って埋める学習イメージ

表は入力から埋める

真理値表を解くときは、最初に入力列を完成させます。2入力ならAを0、0、1、1、Bを0、1、0、1にします。3入力なら、Aを0が4回、1が4回、Bを0、0、1、1の繰り返し、Cを0、1の繰り返しにします。この入力列を先に固定すると、途中で行がずれて混乱することが減ります。

多くの人は、最初から答えの列を見ようとして手が止まります。ですが、真理値表は入力の組み合わせを作った時点で半分終わっています。次に、NOTがあるなら反転列を作り、ANDやORがあるならその結果列を作ります。最後に求められている式の列だけを見ればよいので、難しい式でも作業に分解できます。

STEP
入力列を作る

A、B、Cなどの組み合わせを漏れなく並べます。

STEP
途中列を増やす

NOTやかっこ内の演算を先に列として書きます。

STEP
出力列を判定する

最後の式に必要な列だけを組み合わせて答えます。

計算問題全体の進め方で詰まっている場合は、基本情報技術者試験の計算問題を攻略するコツもあわせて確認しておくと、表を書く問題と数式を処理する問題の共通点が見えてきます。

複合条件は列を増やす

試験では、A AND Bのような単純な式だけでなく、NOT A OR B、A AND (B OR C)、(A OR B) AND NOT Cのような複合条件が出ることがあります。このときに大切なのは、式を一気に処理しないことです。かっこの中、NOT、AND、ORの順に、途中結果を列として増やすと、どの行で何をしているのかが見えます。

たとえばA AND (B OR C)なら、先にB OR Cの列を作ります。その列とAをANDすれば、最終結果が出ます。NOT Cがあるなら、Cを反転した列を先に作ります。列を増やすのは遠回りに見えますが、基本情報の試験では正確さの方が大切です。頭の中だけで処理して1行ずれるより、表に書いて確実に進める方が得点につながります。

式の形先に作る列最後に見る列
NOT A OR BNOT ANOT A OR B
A AND (B OR C)B OR CA AND 途中列
(A OR B) AND NOT CA OR B、NOT C途中列 AND 途中列

かっこがある式は、かっこの中を先に列にします。NOTは入力を反転するだけなので、早めに独立した列にしておくと後続のANDやORが読みやすくなります。

ORとXORのミス対策

ORとXORのミスは、基本情報の論理演算でかなり起こりやすいです。原因は、どちらも「AかB」という言葉で説明されがちだからです。日常会話の「AかB」は、文脈によって「どちらか一方だけ」の意味にも、「少なくとも一方」の意味にもなります。試験ではそこを曖昧にせず、ORは両方1でも1、XORは両方1なら0と切り分けます。

選択肢を見比べるときは、全行を細かく見る前に、A=1、B=1の行だけを確認する方法が有効です。ORとXORだけの違いなら、この行でほぼ判断できます。もちろん複合条件では他の列も見る必要がありますが、まず両方1の行に注目するだけで、似た選択肢をかなり消せます。時間が限られる試験では、この見方を知っているだけで楽になります。

  • ORを「どちらか一方だけ」と覚えてしまう
  • XORでA=1、B=1の行を1にしてしまう
  • NOTの反転を最終列まで引きずって忘れる
  • 入力行の並びを途中で変えて列がずれる

迷ったら、ORは「少なくとも一方」、XORは「片方だけ」と声に出してから表を埋めると、両方1の行を間違えにくくなります。

科目Bへつなげる練習

論理演算と真理値表は、科目Aの知識問題だけでなく、科目Bの読み取りにもつながります。科目Bでは、擬似言語の条件分岐や繰り返し処理を読みながら、条件が真になる場合と偽になる場合を追います。これは、表の形ではなくても、やっていることは真理値表に近いです。入力が変わったときに条件がどう変わるかを追う練習になります。

練習するときは、まず2入力の真理値表を手で書けるようにします。そのあと、簡単なif文を見て「この条件が真になる入力はどれか」を考えます。さらに余裕が出たら、トレース表の中で条件列を作ってみてください。基本情報のアルゴリズム対策と科目Bの解き方を読むと、条件判定をトレースにどうつなげるかも整理しやすいです。

科目Bが苦手なら

アルゴリズムや擬似言語は、読むだけでなく手を動かして解く量が大切です。科目Bに絞って対策したい人向けです。

科目B対策本を見る →

論理演算だけを完璧にしても、科目Bの長文が急に読めるわけではありません。それでも、条件を真偽で分ける感覚があると、分岐の読み取りはかなり楽になります。最初は小さな表でかまいません。条件A、条件B、結果の3列を手で書く習慣を作ると、プログラム問題でも判断の根拠を残せます。

まとめ

基本情報の論理演算と真理値表は、用語だけを見ると難しく感じますが、やることはかなりシンプルです。条件を0と1に置き換え、入力の組み合わせを漏れなく並べ、演算ごとの出力条件を当てはめます。ANDは両方1、ORは少なくとも一方が1、XORは片方だけ1、NOTは反転。この4つを表で確認できれば、基礎理論の問題はかなり解きやすくなります。

特に大切なのは、暗記した名前をそのまま思い出すのではなく、出力が1になる行を自分で作れるようにすることです。真理値表は、考え漏れを防ぐための道具です。複合条件が出ても、途中列を増やして小さく処理すれば対応できます。試験本番でも、焦ったときほど入力列から丁寧に書くのがおすすめです。

最初に覚えること

ANDは両方、ORは少なくとも一方、XORは片方だけ、NOTは反転です。真理値表では入力列を先に完成させ、途中列を増やしてから最終出力を判断しましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次