2  3  Contents

不、且、或

        1930年晚期,一位麻省理工學院的研究生Claude Shannon觀察到一般開關的電路設計與邏輯運算之間的共通性。

 

 他利用這個想法成功地解決了電路設計的問題。
 

        電腦的電路只包含了三件事:

項目符號

不(NOT

項目符號

且(AND

項目符號

OR

我們稱它們為“閘”(Gate)。

 

項目符號

        我們考慮下面這個連一個三歲小孩也了解的敘述:

「如果你哭鬧,我就不給你糖果;
    如果你不哭鬧,我就給你糖果。」

這是一個與“不”有關的敘述,電腦會把它翻譯成:

輸入(哭鬧)

輸出(給糖果)

如果輸入值是“真”的話
(表示有哭鬧)

就“不”給糖果

如果輸入值“不”是“真”的話
(表示沒有哭鬧)

就給糖果

  

我們以1表示命題為“真”,以0表示命題為“偽”:

輸入(哭鬧)

輸出(給糖果)

                       0

0                        1

 

項目符號

「如果你把雞肉吃完,而且把菠菜吃光,我就給你糖果吃;
    否則,我就不給你糖果吃。」

        這個敘述中含有兩個輸入值——雞肉與菠菜。只有「雞肉」項與「菠菜」項的輸入值都是真的時候(也就是把雞肉和菠菜都吃光的時候),才可以得到糖果。

輸入(雞肉)

輸入(菠菜)

輸出(糖果)

1
1
0
0

1
0
1
0

1
0
0
0

  

項目符號

        「如果你穿了雨衣或是撐了雨傘,就不會淋溼;否則,你就會淋溼。」

        它一樣有兩個輸入值——雨衣和雨傘,不同的是只要其中一項的輸入值是真的,你就不會被雨淋溼。

輸入(雨衣)

輸入(雨傘)

輸出(不會淋溼)

1
1
0
0

1
0
1
0

1
1
1
0

 

        這些就是電腦為你做的事,在它眼裡,這個世界的所有事,小至計算的值,大至讓太空梭在火星上登陸,都能藉由許許多多的“不”“且”“或”而完成。

        人腦的思考模式就不是這麼單純了,我們不會永遠把事情單單分成“是”與“不是”,有時候,我們還會說“或許”(Maybe

         就算我們不用“或許”這個字眼,我們還是常常說出一些語意不清的句子。「今天天氣很好。」這句話看起來是很明確,但是,怎樣才叫做天氣好呢?晴天?陰天?還是晴時多雲?它並沒有標準答案。我們只是憑著自己的感覺,很自然的說出這樣的話。電腦可沒辦法做這種事,所以當你要寫一個程式時,就要先替它把所有事情分成“真”(1),與“偽”(0)才行。

 

Previous   Next   Contents