---
title: "論理回路から論理式を求める方法とは？AND・OR・NOTと式の簡単化【基本情報技術者試験】"
description: "論理回路を小さなブロックに分け、AND・OR・NOTを論理式へ変換する手順を整理します。分配法則、補元律、真理値表を使い、FE科目Aで回路の出力を判断する方法を解説します。"
last_modified_at: "2026-07-22"
canonical_url: "https://stemtazoo.github.io/fe/logic-circuit-boolean-expression/"
section: "fe"
---

## まず結論

論理回路から論理式を求めるときは、**回路全体を一度に読まず、ゲートごとの出力を順番に式へ変換する**のが基本です。

```text
1. NOTを確認する
2. AND・ORごとの出力を書く
3. 最後の出力まで式をつなぐ
4. ブール代数で簡単化する
5. 必要なら真理値表で確認する
```

基本情報技術者試験では、回路記号を覚えるだけでなく、**配線を正しく読み、作った論理式を簡単化できるか**が問われます。

## 直感的な説明

論理回路は、複数の小さな判断をつないだものです。

例えば、次のような回路を考えます。

```text
上側：Aを反転してBとAND
下側：AとBをAND
最後：上側と下側をOR
```

各部分を式にすると、次のようになります。

```text
上側：A̅・B
下側：A・B
最後：A̅・B + A・B
```

ここで共通する `B` をくくると、

```text
A̅・B + A・B
= B・(A̅ + A)
= B・1
= B
```

となります。

見た目は複雑な回路でも、部分ごとに読めば整理できます。

## 定義・仕組み

### AND・OR・NOTと論理式

代表的な論理ゲートは、次のように式で表します。

| 論理ゲート | 意味 | 論理式 |
|---|---|---|
| AND | 両方が1なら1 | `A・B` |
| OR | どちらか一方以上が1なら1 | `A+B` |
| NOT | 0と1を反転する | `A̅` または `¬A` |

論理式では、一般に次の対応を使います。

```text
AND → ・
OR  → +
NOT → 上線または ¬
```

### 回路を式にする順序

論理回路は、入力側から出力側へ順番に読みます。

```text
入力
↓
最初のゲート
↓
途中のゲート
↓
最後のゲート
↓
出力
```

途中の出力に名前を付けると、配線を追いやすくなります。

```text
X = A̅・B
Y = A・B
F = X+Y
```

最後に `X` と `Y` を元の式へ戻します。

```text
F = A̅・B + A・B
```

### 接続点と線の交差

論理回路では、線が交差していても、必ず接続されているとは限りません。

```text
●がある交点
→ 線が接続されている

●がない交差
→ 線は接続されていない
```

ここを読み違えると、正しい論理式を作れません。

### よく使うブール代数の法則

FE試験でよく使う法則は、次のとおりです。

| 法則 | 式 | 意味 |
|---|---|---|
| 補元律 | `A+A̅=1` | AかAの反転のどちらかは必ず1 |
| 補元律 | `A・A̅=0` | AとAの反転が同時に1にはならない |
| 恒等律 | `A・1=A` | 1とのANDは元の値 |
| 恒等律 | `A+0=A` | 0とのORは元の値 |
| 分配法則 | `A・B+A・C=A・(B+C)` | 共通項をくくる |
| べき等律 | `A+A=A` | 同じ値のORは元の値 |
| べき等律 | `A・A=A` | 同じ値のANDは元の値 |

公式の出題範囲やシラバスは、[IPA：基本情報技術者試験](https://www.ipa.go.jp/shiken/kubun/fe.html)から確認できます。

## 科目Aでどう出る？

科目Aでは、論理回路が表す論理式や、簡単化後の出力を選ぶ問題が出ます。

### 基本の解き方

次の順で処理すると安定します。

```text
1. NOTが付く入力を確認する
2. 各AND・ORゲートの出力を書く
3. 最後の出力まで式をつなぐ
4. 共通項をくくる
5. 補元律や恒等律で簡単化する
```

例えば、次の式なら、

```text
F = A̅・B + A・B
```

共通する `B` をくくります。

```text
F = B・(A̅+A)
```

補元律 `A̅+A=1` を使うと、

```text
F = B・1
  = B
```

となります。

### 選択肢を代入で切る方法

式変形に自信がない場合は、選択肢へ具体的な値を代入して確認できます。

例えば、候補が `F=A`、`F=B`、`F=A・B`、`F=A+B` なら、

```text
A=0, B=1
```

のように、選択肢の結果が分かれやすい値を使います。

このとき、元の回路の出力と一致しない選択肢を消します。

ただし、すべての入力の組合せを確認する必要がある場合は、真理値表を使います。

### 真理値表で確認する

入力が2個なら、組合せは4通りです。

| A | B | A̅・B | A・B | F |
|---:|---:|---:|---:|---:|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 0 | 0 |
| 1 | 1 | 0 | 1 | 1 |

出力 `F` が `B` と同じ並びなら、

```text
F=B
```

と確認できます。

## 科目Bでどう使う？

科目Bでは、論理ゲートそのものを選ぶ問題よりも、条件式やフラグの組合せを読むときに論理演算の考え方が役立ちます。

例えば、次の条件です。

```text
有効フラグが1
AND
エラーフラグが0
```

論理式では、

```text
有効・エラー̅
```

と考えられます。

プログラムでは、次のような条件に対応します。

```text
有効 == true and エラー == false
```

科目Bでは、次の点を意識します。

```text
AND
→ 全条件を満たす必要がある

OR
→ どれか一つを満たせばよい

NOT
→ 条件の真偽を反転する
```

複数の条件がある場合は、回路と同じように、小さな条件へ分けてから全体を整理します。

## よくある誤解・混同

### NOTを回路全体に掛けてしまう

NOTは、反転記号を通過した信号だけに作用します。

```text
AがNOTを通る
→ A̅

別の枝へ分かれたA
→ Aのまま
```

配線が分岐する位置を確認することが大切です。

### ANDとORを逆に読む

式では、次の対応です。

```text
AND → ・
OR  → +
```

算数の掛け算・足し算と似た記号ですが、扱う値は0と1です。

### 線が交差しているだけで接続されていると思う

接続点の黒丸を確認します。

```text
黒丸あり → 接続
黒丸なし → 非接続
```

### 論理式を作っただけで終わる

選択肢が簡単化された形の場合、作った式を変形する必要があります。

```text
A̅・B + A・B
```

のまま止めず、

```text
B・(A̅+A)=B
```

まで整理します。

### 一つの入力例だけで式が同じだと判断する

一つの入力で一致しても、別の入力では異なる可能性があります。

式が同じか確実に確認するには、すべての入力の組合せを真理値表で確認します。

## まとめ（試験直前用）

- 論理回路は、ゲートごとに小さく分けて読む
- ANDは `・`、ORは `+`、NOTは上線または `¬`
- 黒丸のある交点は接続、黒丸のない交差は非接続
- 共通項があれば分配法則でくくる
- `A+A̅=1`、`A・A̅=0` を使って簡単化する
- 式変形に迷ったら、代入や真理値表で確認する
