如何設計自動裝置
請看一個生動而常見的例子:
一幢二層樓房,樓梯道上裝著一盞路燈。在一樓廳中裝有開關A;在二樓走廊裝有開關B。要求扳動任何一隻開關,都能改變路燈的亮與暗的狀態。例如:最初開關A、B均處於未接通狀態,路燈也暗著。現某甲為了上樓照明,在底樓扳動開關A,路燈X因此亮了;上樓後為了節省用電,又扳動二樓的開關B,使燈X熄了。此時,某乙也要上樓,他又扳動開關A,於是路燈又亮了;……
問應如何設計符合要求的開關線路?
把X看成基本命題A、B的複合命題,不難列出真值表。
為了設計一種裝置,使之能夠實現複合命題X的邏輯運算,我們首先必須弄清這一命題的結構。在上一節我們曾經提過:根據複合命題的真值表,確定其邏輯和標準式的結構,是頗有一些技巧的。其實,這種技巧並不難掌握,它可以生動
地歸納為下麵四句口訣:
寫出所有積,比較終0行;
代入算真值,棄掉得1項。
口訣的第一句意思是:要寫出所有可能的積。由於出現在積中的每一個命題都有原型命題和否定命題兩種狀態,因此如果問題中基本命題數為n,那麼上述可能的積共有22項。例如上例中基本命題有兩個(A、B),則所有的積共有22=4項,它們是
口訣的第二句開始,即告訴我們對於2n項的可能的積,應如何加以取舍,關鍵是“比較終0行”。“終0行是指最終輸出為“0”的那些行,正如上例的真值表中我們打有“*”號的第一行和第三行。接下去是把這些行相應的A、B代入所有的項,分別算出項的真值。如果某項算出的真值為1,那麼該項必須舍棄。沒有被舍棄的項相加,即得所求的邏輯和結構式。這便是口訣的結論。對於上例,我們把打有“*”行的A、B值,代入所有的四個項。有:
(2)當A=1,B=1時,AB=1,則AB項棄去。
相應於這一複合命題的機能圖如圖1。
歸納一下本節和上節所見到的例子,我們知道:設計一個關於複合命題X的自動裝置,大體可以分以下幾個步驟:
(1)列出複合命題X的真值表;
(2)確定X的邏輯和結構;
(3)簡化X的邏輯式;
(4)畫出相應的機能圖;
(5)選擇邏輯元件,確定自動裝置的電路圖。
對大多數讀者來說,電燈的開關要遠比二極管或三極管等電子元件來得熟悉。開關的通與斷,可以用來表示命題的真值。而整個複合命題的真假,則由燈泡來指示。燈亮了,表示複合命題為真;燈不亮,表示複合命題為假。因而布爾先生的命題代數,有時也叫做“開關代數”。
開關電路的邏輯元件有如圖2。
在《布爾先生的命題代數》一節我們講過,蘊涵關係A→B的真假性與
利用上麵開關電路的邏輯元件,我們可以根據機能圖確定相應的電路。在前麵樓梯路燈的例中
又是一個“非A”及B的“與”電路;AB則是A及“非B”的“與”電路。下圖則非常明顯地表現出這一電路的結構。明眼的人能夠看出,這個圖跟圖2的電路圖實際上是一樣的(開關間的虛線表明同時操作。
我想讀者一定不會隻滿足於開關電路的設計,而且還希望能親自動手去製作這類裝置。那麼,下麵的問題肯定會給你帶來極大的樂趣!
【問題】
1.設計一個水位控製器,使水池裏的水常滿。
2.設計一個旅店雙人房間的照明電路,要求房間入口處,兩人的床頭各裝一個拉線開關。當電燈亮時,拉動任何一個開關可以使電燈不亮;而當電燈不亮時,拉動任何一個開關可以使電燈變亮。
3.設計一個三人投票裁決,多數同意通過的自動裝置。
4.設計一種有三個鍵鈕的保密電子鎖,僅當同時按下鍵鈕A、C時鎖X才能被打開,其餘情況則拉響電鈴報警。
5.設計一種能作兩位數的二進製數的乘法裝置。
[計提示]
1.在高水位與低水位分別設置開關B、A,水未達該水位則有信號輸出,則水泵的開關X:
電路圖見圖4
2.設三個開關為A、B、C,則燈X:
圖5是它的機能圖,電路圖略。
3.設三人投票的命題為A、B、C,裁決結果為X,則
X=AB+AC+BC
4.設Y為報警命題,則