論理演算
論理演算の基本式
二種の過去問を見ると必ず2つは出題されています。暗記に頼ってもいいから抑えておきたい箇所です。
○論理演算
| 論理和(OR) A+B |
|
論理積(AND) A・B |
|
||||||||||||||||||||||||||||||||||||||
| 排他的論理和(EOR) _ _ A・B+A・B |
|
否定的論理和(NOR) ___ A+B |
|
||||||||||||||||||||||||||||||||||||||
| 否定的論理積(NAND) __ A・B |
|
||||||||||||||||||
○半加算回路
論理積(AND)回路と排他的論理和(EOR)の二つ回路からなる
上位のけた上がりを考慮
○全加算回路
二つの半加算回路とOR回路からなる
下位のけた上がり、上位のけた上がりを考慮
○ド・モルガンの法則
__ _ _
A・B =A+B
__ _ _
A+B=A・B
○分配則1
A・(B+C)=A・B+A・C
○分配則2
A+B・C=(A+B)・(A+C)
二種午前平成11年秋問7(2000/1/24)
_ _
次の論理式のうち、X・Y+X・Yと恒等的に等しいものはどれか。ここで、
_
・は論理積を、+は論理和を、XはXの否定を表す。
_
ア (X+Y)・(X+Y)
_
イ (X+Y)・(X+Y)
_ _
ウ (X+Y)・(X+Y)
_ _
エ (X+Y)・(X+Y)
(解答例)
分配則2をつかう
_ _ _ _ _
X・Y+X・Y=(X・Y+X)・(X・Y+Y)
_ _ _ _
=((X+X)(Y+X))・((X+Y)・(Y+Y))
_ _
_ _
=(Y+X)・(X+Y) =(X+Y)・(X+Y)
_
※(X+X)は真となり 1と同じ
二種午前平成11年秋問8
0または1の値をとる変数xとyがある。変数xとyの値がどのような組合せ
でも、条件“x<=y”と同値になるものはどれか。ここで、AND
は論理積を、
_
ORは論理和を、AはAの否定を表す。
ア (xAND y)=0
_
イ (xAND y)=0
ウ (x OR y)=1
_
エ (x OR y)=1
解答
ア イ
|
|
ウ エ
|
|
ア,イ,ウは水色のところで
x≦yを満たさない
★★★解説:二種向け★(2000/2/2)
次の回路において,各入力の値がA=1,B=0,C=1のとき,各出力P,
Q,Rの値の適切な組合せはどれか。
_┌─┐
_┌─\ ┌\
ここで, | ├ はAND ゲート, | )- は,ORゲート,┤
>○-は,
 ̄└─┘
 ̄└─/ └/
NOT ゲートを表す。
A_┌──┐ P
|AND ├───┌─\ Q ┌ \ R
B ̄└──┘ |OR )-──NOT > ○-
───
┌──└─/ └/
C─────┘
| P | Q | R | |
| ア | 0 | 1 | 0 |
| イ | 0 | 1 | 1 |
| ウ | 1 | 0 | 1 |
| エ | 1 | 1 | 0 |
> ■解答■
> 二種午前平成11年秋問9
>
> │ア│ 0 │ 1 │ 0 │
>
> > 順番に計算していくと
> > 1 AND 0 = 0 P
> > 0 OR 1 = 1 Q
> > NOT(1) = 0 R になるので ア が答え
>
> どうもありがとうございました。
>
戻る
★★★宿題:二種向け★(2000/5/17)
論理式 not(A)・not(B)・not(C)+not(A)・B・not(C)+A・not(B)・not(C)+
A・B・not(C)
と恒等的に等しい論理式はどれか。ここで,・は論理積を,+は
論理和を,not(X) は X の否定を表す。
ア A
イ B
ウ not(B)
エ not(C)
(注:本当の問題と否定の表現を変更してます。)
(解答例)
分配則を用いて計算
not(A)・not(B)・not(C)+not(A)・B・not(C)+A・not(B)・not(C)+
A・B・not(C)は
=(not(A)・not(B)+not(A)・B+A・not(B)+A・B)・not(C)
=(not(A)・(not(B)+B)+A・(not(B)+B))・not(C)
=(not(A)・1+A・1)・not(C)
=(not(A)+A)・not(C)
=(1)・not(C)
=not(C)
ということになります。
戻る
★★★解説:二種向け★(2000/4/28)
論理演算“x ★ y”
の演算結果は,次に示す真理値表のとおりである。この
演算と等価な式はどれか。
| x | y | x ★ y |
| 真 | 真 | 偽 |
| 真 | 偽 | 偽 |
| 偽 | 真 | 真 |
| 偽 | 偽 | 偽 |
ア x OR (NOT y)
イ (NOT x) AND y
ウ (NOT x) AND (NOT y)
エ (NOT x)OR (NOT y)
■解答■(宿題メールより)
二種午前平成12年春問10
イ (NOT x) AND y
> x y NOTx NOTy ア イ ウ エ x
★ y
>真 真 偽 偽 真 偽 偽 偽 偽
>真 偽 偽 真 真 偽 偽 真 偽
>偽 真 真 偽 偽 真 偽 真 真
>偽 偽 真 真 真 偽 真 真 偽
どうもありがとうございました。
>まず、選択肢を0と1に置き換えてみる。
> x y
> ---------------
> ア:1 or 0 = 1
> イ:0 and 1 = 0
> ウ:0 and 0 = 0
> エ:0 or 0 = 0
>次に、真理表のxとyの真偽を適用して一つずつ照合する。
>例えば、真理表の一番上の条件とアの場合
> x=真,y=真のとき、結果が偽となるか?
> アの場合:1 or 0 = 1 ←結果が偽(0)とならないので×
>これを順に当てはめていくと、全てに合致するのはイ。
>
>この問題は、試験に出たとき解けませんでした。
>しかし職場のSEさんに「こんなの簡単じゃん」と言われ、
>教えてもらいました。
>できるようになってみると、簡単・・・というより淡々と
>解けるようになりました。でも何だか、自分に情けない
>気持ちがしてきてしまいました。
解けるようになったので,素直に,単純に喜びましょう。
>論理演算は、論理的な問題を考えるときに用いられる方法の1つで、
>加減乗除の四則演算以外の演算をいう。演算には、論理和(OR)や
>論理積(AND)、否定(NOT)、排他的論理和(EOR)などがある。
>(技術評論社「第2種 コンピュータ基礎の総合研究(平成11年度)」
> p.63-67より)
どうもありがとうございました。
戻る
★★★宿題:二種向け★(2000/6/9)
図は全加算器を表す論理回路である。図中の x
に 1,y に 0,z に 1 を入力
したとき,出力となる c(けた上げ数),s(和)の値はどれか。
┌――――┐
x ―┤ ├― c
y ―┤全加算器│
z ―┤ ├― s
└――――┘
| c | s | |
| ア | 0 | 0 |
| イ | 0 | 1 |
| ウ | 1 | 0 |
| エ | 1 | 1 |
(解答例)
全加算回路は半加算回路二つとOR回路からなる。

上の全加算回路をたどりながら計算すると
| x | y | 桁上がりA | 和A |
| 1 | 0 | 0 | 1 |
| 和A | z | 桁上がりB | 和 |
| 1 | 1 | 1 | 0 |
| 桁上がりA | 桁上がりB | 桁上がり |
| 0 | 1 | 1 |
よって、cは1、sは0 となる。
■解答■(宿題メールより)
二種午前平成12年春問31
>
3つの2進数の演算を行う回路は2つの半加算回路と
> OR回路を組み合わせることにより実現できる。これを
> 全加算回路(Full Adder; FA)という。
> (コンピュータ・エージ社
> 「第2種共通テキスト1ハードウェア」p.75より)
どうもありがとうございました。
>
全加算器・・・下位のと上位のけた上がりを考慮し、2進数データの和を出力する
>
加算回路。2ビット以上のデータの和を出力するには、下位のけた上がりを考慮し
>
なければならない。全加算器は、半加算回路とOR回路の組み合わせで実現できる
>
。(第二種・シスアド試験対応情報処理用語辞典210Pより抜粋)
どうもありがとうございました。
>全加算器:nけたの2進数の加算を行う場合、最下位のけたの加算には、
>
半加算器を使用することができるが、上位の各けたの加算では
>
下位からのけた上げ入力を考慮した加算回路が必要となる。
>
全加算器は2つの半加算器を組み合わせたものである。
>
半加算器は、2進数の1けたの加算を行う回路である。
>
戻る
★★★宿題:二種(基本情報技術者)向け★(2000/8/28) P,Q,R はいずれも命題である。命題 P の真理値は真であり,命題 ( not P ) or Q 及び命題 ( not Q ) or R のいずれの真理値も真であることが分かっている。 Q,R の真理値はどれか。ここで,X or Y は X と Y の論理和,not X は X の否 定を表す。 ┌──────┬──────┐ │ Q │ R │ ┌─┼──────┼──────┤ │ア│ 偽 │ 偽 │ ├─┼──────┼──────┤ │イ│ 偽 │ 真 │ ├─┼──────┼──────┤ │ウ│ 真 │ 偽 │ ├─┼──────┼──────┤ │エ│ 真 │ 真 │ └─┴──────┴──────┘
(解答例)
要素は
Pは真
notPは偽
(notP)orQは真
(notQ)orRは真
(notP)orQは真より
偽 or Q が真になるにQが真の時しかない
よってQの真理値は真
次ぎに(notQ)orRは真より
偽 or R が真になるにはRが真の時しかない
よってRの真理値も真となる。
論理和(or)の組合せはいちばん上の説明を見てください。
■解答■(宿題メールより)
一種午前平成12年問8
> P は真なので、 ( not P ) は偽となる。
> ( not P ) or Q が真なので Q は真、( not Q )
は偽。
> ( not Q ) or R も真なので R も真。
>
> こんなに単純でよかったでしょうか?
単純に考えられるということは,理解している証拠ですね。
>ド・モルガンの法則について〜
>http://www.osaka-ue.ac.jp/zemi/OHTA/0semi/199601/semi101.htm
どうもありがとうございました。
★★★宿題:二種(基本情報技術者)向け★(2000/9/5)
次に示す手順は,あるビット列が与えられたとき,最も右にある
1 を残し,
他のビットをすべて 0
にするアルゴリズムである。例えば,00101000 が与えら
れたとき,00001000 が求められる。手順 3
の【 】に入る論理演算はどれ
か。
手順1 与えられたビット列 A を符号なしの 2
進数とみなし,A から 1 を
引き,結果を B とする。
手順2 A と B の排他的論理和 (XOR)を求め,結果を
C とする。
手順3 A と C の【 】を求め,結果を A
とする。
ア 排他的論理和 (XOR)
イ 否定論理積 (NAND)
ウ 論理積 (AND)
エ 論理和 (OR)
(解答例)
これは手順通りにやってみるしかないですね。
手順1
00101000
- 1
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
00100111 ← B
手順2
00101000
XOR 00100111
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
00001111 ← C
手順3
00101000
AND 00001111
 ̄ ̄ ̄ ̄ ̄ ̄
00001000
論理和(AND)しかないですね。
■解答■(宿題メールより)
ネットワークスペシャリスト午前平成11年問39
> 実際に、ビット列 A を 00101000 として、00001000
が求められるか、
> 計算してみました。
>
> 手順1 与えられたビット列 A を符号なしの
2 進数とみなし,A から 1 を
> 引き,結果を B とする。
>
> 00101000
> -)
1
>  ̄ ̄ ̄ ̄ ̄ ̄ ̄
> B = 00100111 となる。
>
> 手順2 A と B の排他的論理和 (XOR)を求め,結果を
C とする。
>
> 00101000 = A
> (XOR) 00100111 = B
>  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
> C = 00001111 となる。
>
> 手順3 A と C の【 】を求め,結果を
A とする。
>
> ア 排他的論理和 (XOR) の場合
>
> 00101000 = A
> (XOR) 00001111 = C
>  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
> A = 00100111 となるので誤り。
>
> イ 否定論理積 (NAND) の場合
>
> 00101000 = A
> ( NAND) 00001111 = C
>  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
> A = 11110111 となるので誤り。
>
> ウ 論理積 (AND) の場合
>
> 00101000 = A
> (AND) 00001111 = C
>  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
> A = 00001000 となるので正解。
>
> エ 論理和 (OR) の場合
>
> 00101000 = A
> (OR) 00001111 = C
>  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
> A = 00101111 となるので誤り。
>
> なのでウ。
どうもありがとうございました。